xmonad-contrib-0.17.1: Community-maintained extensions for xmonad
Copyright(c) Michal Janeczek <janeczek@gmail.com>
LicenseBSD3-style (see LICENSE)
MaintainerMichal Janeczek <janeczek@gmail.com>
Stabilityunstable
Portabilityunportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Actions.CycleRecentWS

Contents

Description

Provides bindings to cycle through most recently used workspaces with repeated presses of a single key (as long as modifier key is held down). This is similar to how many window managers handle window switching.

Synopsis

Usage

You can use this module with the following in your ~/.xmonad/xmonad.hs file:

import XMonad.Actions.CycleRecentWS

  , ((modm, xK_Tab), cycleRecentWS [xK_Alt_L] xK_Tab xK_grave)

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

cycleRecentWS Source #

Arguments

:: [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 (less recent) workspace.

-> KeySym

Key used to switch to previous (more recent) workspace. If it's the same as the nextWorkspace key, it is effectively ignored.

-> X () 

Cycle through most recent workspaces with repeated presses of a key, while a modifier key is held down. The recency of workspaces previewed while browsing to the target workspace is not affected. That way a stack of most recently used workspaces is maintained, similarly to how many window managers handle window switching. For best effects use the same modkey+key combination as the one used to invoke this action.

cycleRecentNonEmptyWS Source #

Arguments

:: [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 (less recent) workspace.

-> KeySym

Key used to switch to previous (more recent) workspace. If it's the same as the nextWorkspace key, it is effectively ignored.

-> X () 

Like cycleRecentWS, but restricted to non-empty workspaces.

cycleWindowSets Source #

Arguments

:: (WindowSet -> [WorkspaceId])

A function used to create a list of workspaces to choose from

-> [KeySym]

A list of modifier keys used when invoking this action. As soon as one of them is released, the final workspace is chosen and the action exits.

-> KeySym

Key used to preview next workspace from the list of generated options

-> KeySym

Key used to preview previous workspace from the list of generated options. If it's the same as nextOption key, it is effectively ignored.

-> X () 

Cycle through a finite list of workspaces with repeated presses of a key, while a modifier key is held down. For best effects use the same modkey+key combination as the one used to invoke this action.

toggleRecentWS :: X () Source #

Switch to the most recent workspace. The stack of most recently used workspaces is updated, so repeated use toggles between a pair of workspaces.

toggleRecentNonEmptyWS :: X () Source #

Like toggleRecentWS, but restricted to non-empty workspaces.

toggleWindowSets :: (WindowSet -> [WorkspaceId]) -> X () Source #

Given some function that generates a list of workspaces from a given WindowSet, switch to the first generated workspace.

recentWS Source #

Arguments

:: (WindowSpace -> Bool)

A workspace predicate.

-> WindowSet

The current WindowSet

-> [WorkspaceId] 

Given a predicate p and the current WindowSet w, create a list of workspaces to choose from. They are ordered by recency and have to satisfy p.