[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