AJ, I agree that GUI tools for multihead are lacking. I recently got my nvidia twinview working much easier with some fiddling.
Inspired by smcv’s setup, I also have my external monitor above my laptop screen, and it’s only slightly wider than the laptop screen so I run them at the same width. Since my laptop has an Nvidia Geforce Go 6200, I’ve generally used nvidia-settings to set twinview mode on and off. Since that’s a GUI app, I’ve had to click several times to turn twinview on and off. Turning twinview off automatically moves all the windows to my laptop display, and turning twinview back on moves the ones which were on the external display back to it, so I can undock and redock from my CRT albeit with a whole lot of mouse clicking.
Now on Intrepid (not sure if this could have been done on Hardy, but anyway) I found a command line way to toggle twinview on and off. I had used nvidia-settings to write to my xorg.conf, which had produced the following:
Option “TwinView” “1”
Option “TwinViewXineramaInfoOrder” “CRT-0”
Option “metamodes” “CRT: 1280x1024_85 +0+0, DFP: nvidia-auto-select +0+1024”
This at least allowed me to boot into twinview if the CRT was connected at the time.
I have added a metamode now, so that the line above reads:
Option “metamodes” “CRT: 1280x1024_85 +0+0, DFP: nvidia-auto-select +0+1024; CRT: null, DFP: nvidia-auto-select +0+0”
This lets me run “xrandr -s 0” to select the twinview (CRT at 1280×1024 85 Hz and DFP below it) and “xrandr -s 1” to turn off twinview.
I then discovered that my Fn+F7 combination automagically does the latter, so I only need to use xbindkeys to enable turning twinview on, so my .xbindkeysrc contains the following:
“exec xrandr -s 0”
Mod4 + F7
That binds it to the combination of Super_L (my Windows key) and F7, so I can undock with Fn+F7 and redock with Win+F7.
This is so much easier than using the nvidia-settings app! It’s going to save literally hours of my life to spend on other things… hope it helps someone else too.