setrule: improve README.md

This commit is contained in:
Nikita Ivanov 2025-02-14 20:21:27 +01:00
parent 9cce9a2ca5
commit 268bee3cee
No known key found for this signature in database
GPG Key ID: 6E656AC5B97B5133

View File

@ -3,12 +3,14 @@
This patch adds an ability to add or change client rules at runtime.
The patch only adds one keybinding (`Alt+Shift+R`) to toggle `isfloating`
option, but this can be easily extended if you want to tweak other options as
well. You just need to define a new function similar to `setruleisfloating` and
add a new keybinding to `config.h`.
option. Upon pressing it, dwl will try to find a matching rule for the focused
client and change its `isfloating` setting. If there's no such a rule, a new
rule will be added. The new rule will inherit an appid of the focused client.
For example, this is a function I created for my build to toggle `noswallow`
option from the [swallow][swallow] patch:
It's very easy to add support for more rule options from other patches as well.
You just need to define a new function similar to `setruleisfloating` and add a
new keybinding to `config.h`. For example, this is a function I created for my
build to toggle `noswallow` option from the [swallow][swallow] patch:
```c
void
@ -21,8 +23,12 @@ setrulenoswallow(const Arg *arg)
}
```
**NOTE**: This patch makes it impossible to have rules with `NULL` title *and*
appid (such a rule is used internally to mark the end of `rules` array).
**NOTE:** If you happen to apply patches that add new options to the rules, make
sure to update `rule_default` variable in `config.h` as well.
sure to update `rule_default` variable in `config.h` as well. This variable is
used for newly created rules.
[swallow]: /dwl/dwl-patches/src/branch/main/patches/swallow