xmonad-contrib-0.9.1: Third party extensions for xmonadContentsIndex
XMonad.Actions.OnScreen
Portabilityunportable
Stabilityunstable
MaintainerNils Schweinsberg <mail@n-sch.de>
Contents
Usage
Description
Control workspaces on different screens (in xinerama mode).
Synopsis
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.

onScreen
:: (Eq sid, Eq i)
=> (i -> StackSet i l a sid sd -> StackSet i l a sid sd)default action
-> sidscreen id
-> iindex of the workspace
-> StackSet i l a sid sdcurrent 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.
viewOnScreen
:: (Eq sid, Eq i)
=> sidscreen id
-> iindex of the workspace
-> StackSet i l a sid sdcurrent 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.
greedyViewOnScreen
:: (Eq sid, Eq i)
=> sidscreen id
-> iindex of the workspace
-> StackSet i l a sid sdcurrent 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.
onlyOnScreen
:: (Eq sid, Eq i)
=> sidscreen id
-> iindex of the workspace
-> StackSet i l a sid sdcurrent stack
-> StackSet i l a sid sd
Switch to workspace i on screen sc. If i is visible do nothing.
Produced by Haddock version 2.7.2