Return to Contents

3.2: Context Selectors

This section defines the selectors available to define contexts.

3.2.1: IsShaped

IsShaped (boolean)

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.

3.2.2: InWorkspace

InWorkspace (integer)

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.

3.2.3: WindowName

WindowName (string)

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.

3.2.4: WindowClass

WindowClass (string)

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.

3.2.5: WindowInstance

WindowInstance (string)

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.

3.2.6: HasTransient

HasTransient (context)

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.

3.2.7: TransientFor

TransientFor (context)

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.

3.2.8: Not

Not (context)

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 { ... }


Return to Contents