Thoughts on multi-monitor fullscreen
I have a dual-monitor nvidia configuration, and like many others, I've had a lot of grief with weird fullscreen behaviour from various games. I've done some experimenting and come up with a pretty effective strategy for sane fullscreen.
1) My ideal fullscreen configuration is the game fullscreen on one head with the second head unaffected. This may not be what you want, and if it isn't, my thoughts won't help you, but I think this is what most people want. In practical terms, you want the game window to be in _NET_WM_STATE_FULLSCREEN without messing with the physical screen resolution.
2) Some games already do the 'right thing', such as World Of Goo, Darwinia, Osmos or Galcon Fusion. These set the fullscreen hint on themselves and leave it at that.
3) Compiz doesn't allow you to toggle fullscreen on windows which can't be resized. Some window managers can, like XFWM or KWM, and for those, you should just set games to run in a window at the desktop size and then configure a WM hotkey to set the fullscreen hint. Problem solved.
4) But for compiz, you have to get tricker and reset the window hints that are preventing fullscreen from working. After a little investigation, I identified two hint that need to be removed from the game windows: WM_NORMAL_HINTS and _MOTIF_WM_HINTS.
You can remove them simply using: xprop -remove <HINT NAME>I hope that's
Removing WM_NORMAL_HINTS is enough, unless the _MOTIF_WM_HINTS are set, in which case they will continue to restrict behaviour, and should also be removed.
In the cases where fullscreening of the window doesn't work, these hints are asserting a fixed size for the window, and when that happens, compiz disables fullscreen capability.
I've tested this out with pretty much all of the other available games, with much success.
It's probably possible to automate the hint removal using a tool like devilspie but I haven't had a chance to investigate this yet.