XMonad.Util.WorkspaceCompare

xmonad-contrib-0.18.1: Community-maintained 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 | Haskell2010

XMonad.Util.WorkspaceCompare

Description

Synopsis

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

# Documentation

type WorkspaceCompare = WorkspaceId -> WorkspaceId -> Ordering #

type WorkspaceSort = [WindowSpace] -> [WindowSpace] #

filterOutWs :: [WorkspaceId] -> WorkspaceSort #

Transforms a workspace list by filtering out the workspaces that correspond to the given `tag`s. Intended for use with `logHook`s (see `filterOutWsPP`) and XMonad.Hooks.EwmhDesktops (see `addEwmhWorkspaceSort`).

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 :: ScreenComparator -> 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 :: ScreenComparator -> X WorkspaceSort #

Like `getSortByXineramaRule`, but allow you to use 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.