Man Client Patterns

A ‘pattern’ looks like this ([‘propertyname’[!]=]‘regexp’) …​

Match definitions are enclosed in parentheses (…​**)**, and if no ‘propertyname’ is given then Name is assumed. The ‘regexp’ can contain any regular expression, or the special value [current], which matches the corresponding value of the currently focused window. See ‘regex(7)’ for more information on acceptable regular expressions.

‘propertyname’ is not case sensitive, whereas the ‘regexp’ is.

If you specify multiple (‘pattern’) arguments, this implies an AND condition - All specified patterns must match.

You can use = to test for equality or != to test for inequality.

The following values are accepted for ‘propertyname’ Name A string, corresponding to the CLASSNAME property (The first field of WM_CLASS from the output of the xprop(1) utility).

Class A string, corresponding to the CLASSCLASS property (The second field of WM_CLASS from the output of the xprop(1) utility).

Title A string, corresponding to the window title (WM_NAME from xprop(1)).

Role A string, corresponding to the ROLE property (WM_WINDOW_ROLE from xprop(1)).

Transient Either yes or no, depending on whether the window is transient (typically, a popup dialog) or not.

Maximized Either yes or no, depending on whether the window is maximized or not.

MaximizedHorizontal Either yes or no, depending on whether the window is maximized horizontally or not.

MaximizedVertical Either yes or no, depending on whether the window is maximized vertically or not.

Minimized Either yes or no, depending on whether the window is minimized (iconified) or not.

Fullscreen Either yes or no, depending on whether the window is fullscreen or not.

Shaded Either yes or no, depending on whether the window is shaded or not.

Stuck Either yes or no, depending on whether the window is sticky (on all workspaces) or not.

FocusHidden Either yes or no, depending on whether the window has asked to be left off the focus list (or, the alt-tab list), or not.

IconHidden Either yes or no, depending on whether the window has asked to be left off the icon list (or, the taskbar), or not.

Urgent Either yes or no, depending on whether the window has the urgent hint set.

Workspace A number corresponding to the workspace number to which the window is attached. The first workspace here is 0. You may also use [current] to match the currently visible workspace.

WorkspaceName A string corresponding to the name of the workspace to which the window is attached.

Head The number of the display head to which the window is attached. You may match this against the special value [mouse] which refers to the head where the mouse pointer currently resides.

Layer The string name of the window’s layer, which is one of AboveDock, Dock, Top, Normal, Bottom, Desktop

Screen The number of the currently used ‘screen’. If the setup of the running xserver involves independent screens (’not Xinerama’), the $DISPLAY environment contains something like ‘:0.1’ or ‘:1.0’. The part after the dot (’.’) is the number of the screen.

@XPROP A string, corresponding to any xproperty (Use either the xprop(1) utility or the ‘SetXProp’ command to set a xproperty to a window)

Matches any windows with the CLASSNAME of “xterm”

(xterm)

Matches any windows with the same CLASSNAME as the currently focused window

(Name=[current])

Matches any windows on the same head as the mouse but on a different layer than the currently focused window

(Head=[mouse]) (Layer!=[current])

Matches any windows having a xproperty named FOO with “bar” in it

(@FOO=.*bar.*)