[xmonad] Multi-headed workspace sliding block puzzle ...

Miles Sabin miles at milessabin.com
Mon Mar 2 16:04:15 EST 2009


I'd like to be able to visualize my workspaces laid out on a 2D grid
with my two monitors showing a horizontal slice like so,
 _________   _________
|         | |         |
|    1    | |    2    |
|_________| |_________|
 _________   _________
|         | |         |
|    3    | |    4    |  <- 3 and 4 mapped to left and right monitor
|_________| |_________|
 _________   _________
|         | |         |
|    5    | |    6    |
|_________| |_________|

where workspaces 3 and 4 are visible on the monitors as shown.

As well as the xmonad standard of switching workspaces independently
on each screen, I would also like to be able to switch both in
lockstep with wrapping around at the top and bottom, ie. a linked
switch "up" would get me,

 _________   _________
|         | |         |
|    5    | |    6    |
|_________| |_________|
 _________   _________
|         | |         |
|    1    | |    2    |  <- 1 and 2 mapped to left and right monitor
|_________| |_________|
 _________   _________
|         | |         |
|    3    | |    4    |
|_________| |_________|

In addition I would also like to be able to swap the two visible
workspaces between the monitors, ie. a "swap" would get me,

 _________   _________
|         | |         |
|    5    | |    6    |
|_________| |_________|
 _________   _________
|         | |         |
|    2    | |    1    |  <- 2 and 1 mapped to left and right monitor
|_________| |_________|
 _________   _________
|         | |         |
|    3    | |    4    |
|_________| |_________|

Nb. I want the standard single monitor switching behaviour as well,
allowing an unlinked switch "down" on the left monitor to result in,

 _________   _________
|         | |         |
|    2    | |    6    |
|_________| |_________|
 _________   _________
|         | |         |
|    3    | |    1    |  <- 3 and 1 mapped to left and right monitor
|_________| |_________|
 _________   _________
|         | |         |
|    5    | |    4    |
|_________| |_________|

In short I want to be able to treat my workspaces and monitors as a
kind of sliding block puzzle ;-)

I haven't been able to find any layouts which do exactly this, but I'm
sure that it's perfectly possible with xmonad. If there is actually
something close and I've missed it, then pointers would be very much
appreciated. Otherwise hints on where to start to do this myself would
be extremely helpful.

Cheers,


Miles


More information about the xmonad mailing list