fluxbox/doc/asciidoc/client-patterns.txt

104 lines
3.8 KiB
Text

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.*)
..............