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. 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` 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 option. Upon pressing it, dwl will try to find a matching rule for the focused
well. You just need to define a new function similar to `setruleisfloating` and client and change its `isfloating` setting. If there's no such a rule, a new
add a new keybinding to `config.h`. 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` It's very easy to add support for more rule options from other patches as well.
option from the [swallow][swallow] patch: 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 ```c
void 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 **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 [swallow]: /dwl/dwl-patches/src/branch/main/patches/swallow