Copyright | (c) Michal Janeczek <janeczek@gmail.com> |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | Michal Janeczek <janeczek@gmail.com> |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell98 |
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
- cycleRecentWS :: [KeySym] -> KeySym -> KeySym -> X ()
- cycleRecentNonEmptyWS :: [KeySym] -> KeySym -> KeySym -> X ()
- cycleWindowSets :: (WindowSet -> [WorkspaceId]) -> [KeySym] -> KeySym -> KeySym -> X ()
- toggleRecentWS :: X ()
- toggleRecentNonEmptyWS :: X ()
- toggleWindowSets :: (WindowSet -> [WorkspaceId]) -> X ()
- recentWS :: (WindowSpace -> Bool) -> WindowSet -> [WorkspaceId]
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.
:: [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 #
:: [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.
:: (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.
:: (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
.