I recently aquired a second video card, so that I now have a triple display. I'm using a Nvidia card (with the binary drivers) in TwinView Mode to drive the first two displays and a Ati card for the third display. What really annoys me is, that as as soon as you enable TwinView together with a second card, the two displays are just seen as one screen and so every window manager only 'sees' two screens. So maximized windows etc. always strech over (at least) two displays.
As I don't think Nvidia will be fixing this anytime soon and I think this could probably useful elsewhere (i.e. dividing your display into two screens so that window always are maximized to half the window, ...), I'm wanting to implement a kind of virtual xinerama support.
I've thought about different ways of implementing this. The easiest solution I can see so far is to just extend the screen definitions in my ServerLayout like the following example:
Section "ServerLayout"
...
Screen 0 "NvScreen" Geometry 1280 1024 0 0
Screen 1 "NvScreen" Geometry 1280 1024 1280 0 RightOf "0"
Screen 2 "AtiScreen0" RightOf "1"Of course RightOf, LeftOf, etc. would have to be made to work with screen-nums and screen-ids. Also checks for non overlapping of areas would have to be done. And only dividing of hole screens will be supported, no funny part of this and part of that screen.
So, what do you think of the general idea? Is this just totally bogus or may this be useful? Especially, are their other ways (other than hacking every wm out there) to do this better/cleaner/faster?
Thanks for any comments, suggestions and hints,
Jan
ps: I already started hacking on this. Seems like I've to dig quite deep into the xinerama layer. :-)
pgp00000.pgp
Description: PGP signature
