You are not logged in.

#1 2016-01-23 15:20:50

Registered: 2015-07-06
Posts: 111

Xmonad Multihead: all screen to act as one

I am looking for suggestion to get workspace in xmonad treated in a similar way to unity workspace management.

I currently have three screen setup with xrandr and xmonad follows its default behavior wrt workspaces. That is, I can assign window to screen by shift-mod-{q,e,r}, switch focus between screen with mod-{q,e,r}, bring workspace X to focused screen by mod-X. If the workspace is already present on one of the screen it gets swapped with the one on the focused screen.

What I would like to achieve, if possible, is to treat all three screen as "one" for the purpose of workspaces. That would entail:

1) Opening a new xmonad windows spawns it in one of the non occupied screen.
  i) If screens all have at least one windows on, do the xmonad split on the currently focused screen.
2) mod +j, mod + k should cycle through windows between all three screens
3) mod + {q,e,r} still move focus between screen
4) shifting workspace shift all screens windows, to whatever windows are assigned to the incoming workspace
  i) possibly, allowing duplication of the same window across screen, but this is probably impossible.
5) This should not require recompiling xmonad when screen go back to one (laptop smile )

Question: is there a relatively simpled and tested way to achieve something like this? By simple I mean requiring only to tweak Xmonad and xrandr as I cannot for the life of me makethe xorg.conf files that drive xinerama behavior (or what they are called) work. I am not interested in switching WM either, as I'd rather stick with the suboptimal situation I have now, than having to spend time configuring dwm or awesome.

One way, which I haven't tested yet, could be to implement the XMonad.Indipendent.screens (so that each screen has 10 indipendent workspaces) and rebind the mod-X to shift all workspaces at once via XMonad.Actions.WithAll

Any suggestion, pointer to .hs file (or hand-holding) in realizing this will be warmly welcomed and awarded a good amount of internet points. I hope the user case was clear enough, if it is not I shall edit this post.


Board footer

Powered by FluxBB