X really does suck... I've just finished off some fullscreen patches for NeL (www.nevrax.org), and doing it was pure pain. Whenever you think to yourself 'there should be a call for that' you find out that to do it requires 5 calls, with a branch in the middle somewhere to handle a few different cases. I guess it's the flaw with a general purpose library, and most of my issues are probably due to inexperience with it... but still... ;) Anyhow, done now, patches submitted, all is good. Time to find the next bit to fix.