xmonad-contrib-0.11.4: Third party extensions for xmonad

Copyright(c) Nelson Elhage <nelhage@mit.edu>
LicenseBSD
MaintainerNelson Elhage <nelhage@mit.edu>
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell98

XMonad.Actions.PhysicalScreens

Contents

Description

Manipulate screens ordered by physical location instead of ID

Synopsis

Usage

This module allows you name Xinerama screens from XMonad using their physical location relative to each other (as reported by Xinerama), rather than their ScreenID s, which are arbitrarily determined by your X server and graphics hardware.

Screens are ordered by the upper-left-most corner, from top-to-bottom and then left-to-right.

Example usage in your ~/.xmonad/xmonad.hs file:

import XMonad.Actions.PhysicalScreens
, ((modMask, xK_a), onPrevNeighbour W.view)
, ((modMask, xK_o), onNextNeighbour W.view)
, ((modMask .|. shiftMask, xK_a), onPrevNeighbour W.shift)
, ((modMask .|. shiftMask, xK_o), onNextNeighbour W.shift)
--
-- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
-- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
--
[((modm .|. mask, key), f sc)
    | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..]
    , (f, mask) <- [(viewScreen, 0), (sendToScreen, shiftMask)]]

For detailed instructions on editing your key bindings, see XMonad.Doc.Extending.

getScreen :: PhysicalScreen -> X (Maybe ScreenId) Source

Translate a physical screen index to a ScreenId

viewScreen :: PhysicalScreen -> X () Source

Switch to a given physical screen

sendToScreen :: PhysicalScreen -> X () Source

Send the active window to a given physical screen

onNextNeighbour :: (WorkspaceId -> WindowSet -> WindowSet) -> X () Source

Apply operation on a WindowSet with the WorkspaceId of the next screen in the physical order as parameter.

onPrevNeighbour :: (WorkspaceId -> WindowSet -> WindowSet) -> X () Source

Apply operation on a WindowSet with the WorkspaceId of the previous screen in the physical order as parameter.