switch workspace on all monitors at once

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

switch workspace on all monitors at once

Kristopher Keller
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. For example, control + modm + 2 would switch all
monitors to workspace 2. But I'm afraid I don't understand whats going
on in that code.  Could someone give me a hand?

Kristopher

_______________________________________________
xmonad mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
Reply | Threaded
Open this post in threaded view
|

Re: switch workspace on all monitors at once

Brandon Allbery
On Wed, Aug 19, 2015 at 12:28 AM, Kristopher Keller <[hidden email]> 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. For example, control + modm + 2 would switch all monitors to workspace 2. But I'm afraid I don't understand whats going on in that code.  Could someone give me a hand?


You might want to look at http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-DynamicWorkspaceGroups.html --- unfortunately, it does not look like anyone has provided integration with IndependentScreens to treat them as predefined groups.

--
brandon s allbery kf8nh                               sine nomine associates
[hidden email]                                  [hidden email]
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

_______________________________________________
xmonad mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
Reply | Threaded
Open this post in threaded view
|

Re: switch workspace on all monitors at once

Allen S. Rout
In reply to this post by Kristopher Keller
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" )
                                       } )


_______________________________________________
xmonad mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad