pi package:xmonad-contrib

This function returns Just the _NET_WM_PID property for a particular window if set, Nothing otherwise. See https://specifications.freedesktop.org/wm-spec/wm-spec-1.5.html#idm45623487788432.
Convert a Pixel into a String. This function removes any alpha channel from the Pixel, because X11 mishandles alpha channels and produces black.
Consider pixels as [N,N+1) coordinates. Available for empty rectangles.
There are three possible ways to convert rectangles to pixels:
  • Consider integers as "gaps" between pixels; pixels range from (N,N+1), exclusively: (0,1), (1,2), and so on. This leads to interval ambiguity: whether an integer endpoint contains a pixel depends on which direction the interval approaches the pixel. Consider the adjacent pixels (0,1) and (1,2) where 1 can refer to either pixel (0,1) or pixel (1,2).
  • Consider integers to demarcate the start of each pixel; pixels range from [N,N+1): [0,1), [1,2), and so on - or equivalently: (N,N+1]. This is the most flexible coordinate system, and the convention used by the Rectangle type.
  • Consider integers to demarcate the center of each pixel; pixels range from [N,N+1], as though each real-valued coordinate had been rounded (either down or up) to the nearest integers. So each pixel, from zero, is listed as: [0,0], [1,1], [2,2], and so on. Rather than a coordinate system, this considers pixels as row/column indices. While easiest to reason with, indices are unable to represent zero-dimension rectangles.
Consider pixels as indices. Do not use this on empty rectangles.
Get tags with copies of the focused window (if present.)
Take a pretty printer and make it aware of copies by using the provided function to show hidden workspaces that contain copies of the focused window.
Kill all other copies of focused window (if they're present). 'All other' means here 'copies which are not on the current workspace'.
A list of hidden workspaces containing a copy of the focused window.
Prompt for a workspace group to view, treating the workspaces as topics.
View the workspace group with the given name, treating the workspaces as topics.
Wrap swapInStack; see also swapApply.
Like swapIn' but discard the result.
Perform the same swap as swapPromoteStack. However the new window receives the focus; it appears to "swap into" the position of the original window. Under this model focus follows stack position and the zipper does not move. See swapPromoteStack for more details regarding the parameters.
Turns your workspaces into a more topic oriented system.
Topic is just an alias for WorkspaceId
Here is the topic space configuration area.
Convenience type for specifying topics.
Check the given topic configuration for duplicate or undefined topics.