This section defines the selectors available to define contexts.
If this selector is true, windows which are shaped (using the XShape extension) will match. Applications will generally use the XShape extension so they can display a non-rectangular top-level window. The standard X program xclock(1) is an example of such an application.
If a window is located in the same workspace as specifed in this
selector, the context selector will match the window. The number "0
"
(zero) is not a valid argument for this selector. Windows which are
omnipresent will match only when the current
workspace is the same as the workspace specified in the argument to
InWorkspace.
This will match based on a window's name. This does exact string
matching, so you must specify the window's entire name. If you give an
argument of "*
", this will match any window. The window name
oftentimes will change, so you may be better off matching based on
WindowInstance or WindowClass. The window's name is the string
which is displayed in the window's titlebar. You may also find the
window's name by using the standard X program xprop(1) and
looking for the "WM_NAME
" property.
This will match based on a window's "Class". This does exact
string matching. Windows with the same "Class" are somehow
related, perhaps by belonging to the same application. You can find a
window's class by using the xprop(1) program and looking for
the second value of the "WM_CLASS
" property.
This will match based on a window's "Instance". This does exact
string matching. Windows with the same "Instance" are different
invocations of the same window. You can find a window's instance by
using the xprop(1) program and looking for the first value of the
"WM_CLASS
" property.
This context selector is placed in front of another context selector. The resulting context will then match window A if window A has a transient window B, and window B matches the selector after the HasTransient selector. Transient windows are generally short-lived dialog boxes.
This context selector is placed in front of another context selector. The resulting context will then match window A if window A is a transient of window B, and window B matches the selector after the TransientFor selector.
This context selector is placed in front of another context selector. The resulting context will then match window A if window A does not match the selector after the Not selector.
Example: The following two are equivalent:
IsShaped True { ... } Not IsShaped False { ... }