XMonad.Util.WorkspaceCompare

xmonad-contrib-0.12: Third party extensions for xmonad

Copyright | (c) Spencer Janssen <spencerjanssen@gmail.com>
License | BSD3-style (see LICENSE)
Maintainer | Spencer Janssen <spencerjanssen@gmail.com>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Util.WorkspaceCompare

Description

Synopsis

- type WorkspaceCompare = WorkspaceId -> WorkspaceId -> Ordering
- type WorkspaceSort = [WindowSpace] -> [WindowSpace]
- getWsIndex :: X (WorkspaceId -> Maybe Int)
- getWsCompare :: X WorkspaceCompare
- getWsCompareByTag :: X WorkspaceCompare
- getXineramaPhysicalWsCompare :: X WorkspaceCompare
- getXineramaWsCompare :: X WorkspaceCompare
- mkWsSort :: X WorkspaceCompare -> X WorkspaceSort
- getSortByIndex :: X WorkspaceSort
- getSortByTag :: X WorkspaceSort
- getSortByXineramaPhysicalRule :: X WorkspaceSort
- getSortByXineramaRule :: X WorkspaceSort

# Documentation

type WorkspaceCompare = WorkspaceId -> WorkspaceId -> Ordering

type WorkspaceSort = [WindowSpace] -> [WindowSpace]

getWsIndex :: X (WorkspaceId -> Maybe Int)

Lookup the index of a workspace id in the user's config, return Nothing if that workspace does not exist in the config.

getWsCompare :: X WorkspaceCompare

A comparison function for WorkspaceId, based on the index of the tags in the user's config.

getWsCompareByTag :: X WorkspaceCompare

A simple comparison function that orders workspaces lexicographically by tag.

getXineramaPhysicalWsCompare :: X WorkspaceCompare

A comparison function like `getXineramaWsCompare`, but uses physical locations for screens.

getXineramaWsCompare :: X WorkspaceCompare

A comparison function for Xinerama based on visibility, workspace and screen id. It produces the same ordering as `pprWindowSetXinerama`.

mkWsSort :: X WorkspaceCompare -> X WorkspaceSort

Create a workspace sorting function from a workspace comparison function.

getSortByIndex :: X WorkspaceSort

Sort several workspaces according to their tags' indices in the user's config.

getSortByTag :: X WorkspaceSort

Sort workspaces lexicographically by tag.

getSortByXineramaPhysicalRule :: X WorkspaceSort

Like `getSortByXineramaRule`, but uses physical locations for screens.

getSortByXineramaRule :: X WorkspaceSort

Sort serveral workspaces for xinerama displays, in the same order produced by `pprWindowSetXinerama`: first visible workspaces, sorted by screen, then hidden workspaces, sorted by tag.