| Portability | unportable | 
|---|---|
| Stability | unstable | 
| Maintainer | Nils Schweinsberg <mail@n-sch.de> | 
XMonad.Actions.OnScreen
Contents
Description
Control workspaces on different screens (in xinerama mode).
- onScreen :: (Eq sid, Eq i) => (i -> StackSet i l a sid sd -> StackSet i l a sid sd) -> sid -> i -> StackSet i l a sid sd -> StackSet i l a sid sd
- viewOnScreen :: (Eq sid, Eq i) => sid -> i -> StackSet i l a sid sd -> StackSet i l a sid sd
- greedyViewOnScreen :: (Eq sid, Eq i) => sid -> i -> StackSet i l a sid sd -> StackSet i l a sid sd
- onlyOnScreen :: (Eq sid, Eq i) => sid -> i -> StackSet i l a sid sd -> StackSet i l a sid sd
Usage
This module provides an easy way to control, what you see on other screens in
 xinerama mode without having to focus them. Put this into your
 ~/.xmonad/xmonad.hs:
import XMonad.Actions.OnScreen
Then add the appropriate keybindings, for example replace your current keys to switch the workspaces with this at the bottom of your keybindings:
     ++
     [ ((m .|. modm, k), windows (f i))
       | (i, k) <- zip (workspaces conf) ([xK_1 .. xK_9] ++ [xK_0])
       , (f, m) <- [ (viewOnScreen 0, 0)
                   , (viewOnScreen 1, controlMask)
                   , (greedyView, controlMask .|. shiftMask) ]
     ]
This will provide you with the following keybindings:
- modkey + 1-0: Switch to workspace 1-0 on screen 0
- modkey + control + 1-0: Switch to workspace 1-0 on screen 1
- modkey + control + shift + 1-0: Default greedyView behaviour
A more basic version inside the default keybindings would be:
, ((modm .|. controlMask, xK_1) windows (viewOnScreen 0 "1"))
where 0 is the first screen and 1 the workspace with the tag 1.
For detailed instructions on editing your key bindings, see XMonad.Doc.Extending.
Arguments
| :: (Eq sid, Eq i) | |
| => (i -> StackSet i l a sid sd -> StackSet i l a sid sd) | default action | 
| -> sid | screen id | 
| -> i | index of the workspace | 
| -> StackSet i l a sid sd | current stack | 
| -> StackSet i l a sid sd | 
Switch to the (hidden) workspace with index i on the screen sc.
 A default function (for example view or greedyView) will be run if sc is
 the current screen, no valid screen id or workspace i is already visible.
Arguments
| :: (Eq sid, Eq i) | |
| => sid | screen id | 
| -> i | index of the workspace | 
| -> StackSet i l a sid sd | current stack | 
| -> StackSet i l a sid sd | 
Switch to workspace i on screen sc. If i is visible use view to
 switch focus to the workspace i.
Arguments
| :: (Eq sid, Eq i) | |
| => sid | screen id | 
| -> i | index of the workspace | 
| -> StackSet i l a sid sd | current stack | 
| -> StackSet i l a sid sd | 
Switch to workspace i on screen sc. If i is visible use greedyView
 to switch the current workspace with workspace i.