Compare commits

...

16 Commits

Author SHA1 Message Date
Zuki Air b608e58da3 riverctl patch: fix bugs with keybind mode oneshot option 2025-08-01 23:19:34 +01:00
Zuki Air 0caf84ae8e riverctl patch: add keybind modes 2025-08-01 22:59:38 +01:00
Zuki Air c7b78634a0 riverctl patch: better handling of invalid keysyms 2025-08-01 20:10:18 +01:00
Zuki Air feac567278 riverctl patch: fix the hardcoded keysyms 2025-08-01 16:32:34 +01:00
Zuki Air e81a123f5a riverctl patch: add all wlr modifiers 2025-07-30 10:03:36 +01:00
Zuki Air e1e1a74342 riverctl patch: fix incorrect arg num for string array 2025-07-29 15:44:45 +01:00
Zuki Air 89880aeefa riverctl patch: change README.md to try to match the README standards. 2025-07-29 12:26:02 +01:00
Zuki Air b46762bb3f riverctl patch: fix > instead of >= mistake 2025-07-29 11:57:30 +01:00
Zuki Air 642e4d0870 riverctl patch: cleanup error handling to much less prone to memory leaks and use after free's 2025-07-29 11:46:23 +01:00
Zuki Air fb576dd523 riverctl patch: fix some if statements that were terribly written at 11pm and actually properly free some data on error 2025-07-29 11:31:34 +01:00
Zuki Air fc5925e7b6 riverctl patch: actually make borderpx non const 2025-07-29 11:30:30 +01:00
Zuki Air 749f80e565 riverctl patch: add support for changing borderpx via dwlctl 2025-07-29 10:41:33 +01:00
Zuki Air eadf4ec650 improve uint error handling to prevent crashes 2025-07-29 10:39:03 +01:00
Zuki Air efde7ce68e update riverctl patch to make clear-binds and clear-rules functions part of func list rather then special cases 2025-07-29 09:15:01 +01:00
Zuki Air a23d17409d update riverctl patch to make the func syntax better and cleanup readme 2025-07-29 09:00:49 +01:00
Zuki Air 1ec0cbae78 add riverctl patch 2025-07-28 21:21:44 +01:00
2 changed files with 1301 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
### Description
This patch adds river-control-unstable-v1 support to dwl.
This protocol allows sending args to dwl to execute functions via the included dwlctl.
This is used to allow changing rules and binds, at runtime via dwlctl.
Most of this patch is stored in river-control.h, It contains a list of functions which can be called via dwlctl so adding support for new functions is as simple as adding them to the list.
This patches main intended use case is to have a startup script that calls dwlctl a bunch to add all the binds/rules you want, without the need of restarting dwl if you make any changes to the list of binds/rules.
This patch also adds keybind modes which allow switching between a diffrent sets of keybinds on the fly.
Also you can set a keybind mode as oneshot(meaning as soon as a keybind is activated the mode is switch) by using...
`dwlctl oneshot-mode _layout_you_want_to_make_oneshot_here_ _layout_you_want_to_switch_to_after_keybind_pressed_`
Just make sure to set a mode as oneshot after creating a bind under it otherwise it won't work.
### dwlctl syntax example
```
dwlctl clear-binds
dwlctl bind normal super,shift Return spawn kitty tmux
dwlctl bind normal supershift q killclient
dwlctl bind normal super l enter-mode layoutpick
dwlctl bind layoutpick none t layout 0
dwlctl bind layoutpick none f layout 1
dwlctl bind layoutpick none m layout 2
dwlctl oneshot-mode layoutpick normal
dwlctl clear-rules
dwlctl rule-add -appid steam -title steam float tags $((1 << 2))
dwlctl rule-add -appid kitty float
dwlctl rule-add -title firefox float
dwlctl spawn kitty tmux
dwlctl setlayout 2
dwlctl togglefullscreen
```
### Download
- [git branch](/zuki/dwl-ctl/src/main)
- [0.7](/dwl/dwl-patches/raw/branch/main/patches/riverctl/riverctl.patch)
- [main 2025-07-29](/dwl/dwl-patches/raw/branch/main/patches/riverctl/riverctl.patch)
### Authors - latest at top [Codeberg nick is mandatory; other contact methods optional]
- [zuki](https://codeberg.org/zuki)
zukirust@gmail.com
zuki at [Libera IRC dwl channel](https://web.libera.chat/?channels=#dwl)
#zukigay at [dwl Discord](https://discord.gg/jJxZnrGPWN)
File diff suppressed because it is too large Load Diff