window-rules: support title criteria

Example config:

    <windowRules>
      <windowRule identifier="foot" title="max">
        <action name="Maximize"/>
      </windowRule>
    </windowRules>

Observe that:

- `foot -T foo` starts maximized
- `xterm -T foo` starts normal
This commit is contained in:
Johan Malm 2023-05-09 21:20:05 +01:00 committed by Johan Malm
parent 63db731cf4
commit d37e705548
5 changed files with 90 additions and 30 deletions

View file

@ -347,7 +347,7 @@ defined as shown below.
<windowRules>
<!-- Action -->
<windowRule identifier="">
<windowRule identifier="" title="">
<action name=""/>
</windowRule>
@ -359,15 +359,18 @@ defined as shown below.
*Actions*
*<windowRules><windowRule identifier="">*
*<windowRules><windowRule identifier="" title="">*
Define a window rule for any window which matches the criteria defined
by the attribute *identifier*. Matching against patterns with '\*'
(wildcard) and '?' (joker) is supported. Pattern matching is
case-insensitive.
by the attributes *identifier* or *title*. If both are defined, AND
logic is used, so both have to match.
Matching against patterns with '\*' (wildcard) and '?' (joker) is
supported. Pattern matching is case-insensitive.
*identifier* relates to app_id for native Wayland windows and WM_CLASS
for XWayland clients.
*title* is the title of the window.
*Properties*
Property values can be *yes*, *no* or *default*.

View file

@ -376,11 +376,19 @@
</libinput>
<!--
Window Rules
- Criteria can consist of 'identifier' or 'title' or both (in which case
AND logic is used).
- 'identifier' relates to app_id for native Wayland windows and WM_CLASS
for XWayland clients.
- Matching against patterns with '*' (wildcard) and '?' (joker) is
supported. Pattern matching is case-insensitive.
<windowRules>
<windowRule identifier="*">
<action name="Maximize" />
</windowRule>
<windowRule identifier="some-application" serverDecoration="yes" />
<windowRule identifier="*"><action name="Maximize"/></windowRule>
<windowRule identifier="foo" serverDecoration="yes"/>
<windowRule title="bar" serverDecoration="yes"/>
<windowRule identifier="baz" title="quax" serverDecoration="yes"/>
</windowRules>
-->