xmonad-contrib-0.17.1: Community-maintained extensions for xmonad
Copyright(c) 2017 Ivan Malison
LicenseBSD3-style (see LICENSE)
MaintainerIvanMalison@gmail.com
Stabilityunstable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Actions.CycleWorkspaceByScreen

Contents

Description

Cycle through previously viewed workspaces in the order they were viewed most recently on the screen where cycling is taking place.

Synopsis

Usage

To use this module, first import it as well as XMonad.Hooks.WorkspaceHistory:

import XMonad.Hooks.WorkspaceHistory (workspaceHistoryHook)
import XMonad.Actions.CycleWorkspaceByScreen

Then add workspaceHistoryHook to your logHook like this:

main :: IO ()
main = xmonad $ def
   { ...
   , logHook = workspaceHistoryHook >> ...
   }

Finally, define a new keybinding for cycling (seen) workspaces per screen:

, ((mod4Mask, xK_slash), cycleWorkspaceOnCurrentScreen [xK_Super_L] xK_slash xK_p)

cycleWorkspaceOnScreen Source #

Arguments

:: ScreenId

The screen to cycle on.

-> [KeySym]

A list of modifier keys used when invoking this action; as soon as one of them is released, the final switch is made.

-> KeySym

Key used to switch to next workspace.

-> KeySym

Key used to switch to previous workspace.

-> X () 

Like cycleRecentWS, but only cycle through the most recent workspaces on the given screen.

cycleWorkspaceOnCurrentScreen :: [KeySym] -> KeySym -> KeySym -> X () Source #

Like cycleWorkspaceOnScreen, but supply the currently focused screen as the screenId.

repeatableAction :: [KeySym] -> (EventType -> KeySym -> X ()) -> X () Source #