[xmonad] switch workspace on all monitors at once
Allen S. Rout
asr at ufl.edu
Thu Oct 29 18:42:43 UTC 2015
On 08/19/2015 12:28 AM, Kristopher Keller wrote:
> Hi, I'm using three monitors and each monitor has 10 workspaces.
>
> This is the code I'm using to switch workspaces:
>
> [code]
> myWorkspaces = withScreens 3 ["1","2","3","4","5","6","7","8","9"]
>
> ...
>
> [((m .|. modm, k), windows $ onCurrentScreen f i)
> | (i, k) <- zip (workspaces' conf) [xK_1 .. xK_9]
> , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
> [/code]
>
> I wanted to modify it to add a keybind to switch the workspace on all
> three monitors at once.
I'm moving workspaces around to different screens all the time, so the
details will be different. But what I'd suggest is that you compose;
just have your key press do "set screen 1 to workspace 1. Set screen 2
to workspace 1. "... etc. Example from my stuff below.
, ((modm .|. shiftMask, xK_s ), do { windows (viewOnScreen 0
"tsmmon" ) >> windows (viewOnScreen 2 "tsmsess" ) } )
, ((modm .|. shiftMask, xK_f ), do { windows (viewOnScreen 0 "dd1" )
>> windows (viewOnScreen 2 "dd2" ) } )
, ((modm .|. shiftMask, xK_n ), windows (viewOnScreen 0 "mail" ))
, ((modm .|. shiftMask, xK_a ), do { windows (viewOnScreen 0
"tsmmon" ) >>
windows (viewOnScreen 2
"tsmsess" ) >>
windows (viewOnScreen 1 "mail"
) >>
windows (viewOnScreen 3 "web" )
} )
More information about the xmonad
mailing list