[xmonad] xmonad + fake xinerama + vertical rotation

Lara Michaels laramichaels1978 at yahoo.com
Mon Jun 25 23:25:24 CEST 2012



I have the following problem and am wondering if anyone can help me with it. It is a bit weird but given xmonad's awesome multi-head/multi-workspace support I am guessing that someone in the xmonad community must have tried something similar.


I am running xmonad 0.10.


I have two "displays" attached to my computer. I write "displays" (with the double quotes) because one is an actual 19" monitor and the other is a Matrox Dualhead2Go (www.matrox.com/graphics/en/products/gxm/dh2go/), which in turn is running two additional 19" monitors. All three monitors have 1280x1024 resolution. The Matrox device is working as intended: it presents itself to the system as a single 2560x1024 screen. I have used xrandr to vertically rotate both screens (ie, both the "real" 19" screen connected to my computer as well as the "fake" Matrox 2560x1024 screen) and lay them out as I wish. As far as xrandr is concerned, I have two displays:


-------------   --------------

| 19"      |   |    fake  |

| screen |   |  Matrox |
|            |   |  screen |
|            |   |            |
-------------   |            |
                |            |
                |            |
                |            |
                |            |
                 ------------


I have used fakexinerama (http://home.kde.org/~seli/fakexinerama/) to try to break up the second huge screen into two separate ones.  I use the config:

3
0    0 1024 1280
1024 0 1024 1280
2048 0 1024 1280


to tell it I would like to treat my screens as if they were three 1024x1280 screens laid out side-to-side:

-------------  -------------  -------------  
| 19"      |  | 19"      |  | 19"      |  
| screen |  | screen |  | screen |  
|            |  |            |  |            |  
|            |  |            |  |            |  
-------------  -------------  -------------  

I do need to scroll my mouse downwards to go from the center to the right-most screen, but that is not a problem.

xmonad treats the left-most screen (which is the one directly connected to the computer) just fine but then something weird happens with the other two. What is strange is that in some regards xmonad seems to "respect" the fact that the center and right-most screens are not the same (eg, if I open a new terminal on the center screen it has the right dimensions -- 1024x1280 -- without overflowing into the right-most screen) but in others it doesn't and just treats the right-most screen as the "bottom half" of the center screen (eg, if I move the mouse to the right-most screen and press the keyboard shortcut for opening a terminal, it actually opens up a 1024x1280 terminal in the center screen and leaves the right-most screen empty).

Now what I cannot understand is that I can run these three screens perfectly fine as long as I set them up horizontally. I just use the fakexinerama config

3
0    0 1280 1024
1280 0 1280 1024
2560 0 1280 1024


-------------------  ----------------------  --------------------  
|        19"      |  |     19"          |  |       19"      |  
|        screen |  |     screen     |  |       screen |  
|                   |  |                   |  |                  |  
--------------------  --------------------  -------------------- 

and xmonad is perfectly happy with telling apart the center and right-most screens: eg, placing the mouse in the right-most screen and pressing the keyboard shortcut for opening a terminal works just as intended (ie, the terminal shows up on the right-most screen and measures 1280x1024).

Any hint on how I can get this peculiar setup to work while keeping the monitors vertical would be terrific. And my apologies for the crappy ASCII art. :)


Many thanks 

~l


What I would like to do: I would like to use my three screens with a vertical layout. 




More information about the xmonad mailing list