summaryrefslogtreecommitdiff
path: root/dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle
diff options
context:
space:
mode:
authorcoasteen <coasteen@proton.me>2026-07-09 10:42:28 +0330
committercoasteen <coasteen@proton.me>2026-07-09 10:42:28 +0330
commit8cbadb61604667b407b53ee1258433994fa4765a (patch)
tree97765fb29418fd6278fcb4cbb9760893afaf7a58 /dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle
Diffstat (limited to 'dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle')
-rwxr-xr-xdwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/README.md11
-rwxr-xr-xdwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/disable-keybindings-on-fullscreen-toggle-0.7.patch71
2 files changed, 82 insertions, 0 deletions
diff --git a/dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/README.md b/dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/README.md
new file mode 100755
index 0000000..c6588ee
--- /dev/null
+++ b/dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/README.md
@@ -0,0 +1,11 @@
+### Description
+This patch changes the default behavior of the [disable-keybindings-on-fullscreen](https://codeberg.org/dwl/dwl-patches/src/branch/main/patches/disable-keybindings-on-fullscreen) patch by only taking effect when you explicitly toggle the functionality.
+You must apply that patch prior to applying this one.
+
+### Download
+- [git branch](https://github.com/Shringe/dwl/tree/disable-keybindings-on-fullscreen-toggle)
+- [0.7](/dwl/dwl-patches/raw/branch/main/patches/disable-keybindings-on-fullscreen-toggle/disable-keybindings-on-fullscreen-toggle-0.7.patch)
+
+### Authors
+- [Shringe](https://codeberg.org/Shringe)
+- shringe_ at [dwl Discord](https://discord.gg/jJxZnrGPWN)
diff --git a/dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/disable-keybindings-on-fullscreen-toggle-0.7.patch b/dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/disable-keybindings-on-fullscreen-toggle-0.7.patch
new file mode 100755
index 0000000..272d906
--- /dev/null
+++ b/dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/disable-keybindings-on-fullscreen-toggle-0.7.patch
@@ -0,0 +1,71 @@
+From 71809cee0e27f1b3620773e1745afed8023f71c9 Mon Sep 17 00:00:00 2001
+From: Shringe <dashingkoso@gmail.com>
+Date: Mon, 23 Jun 2025 18:50:40 -0500
+Subject: [PATCH] Implemented functionality for patch
+
+---
+ config.def.h | 1 +
+ dwl.c | 14 ++++++++++++--
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/config.def.h b/config.def.h
+index 22d2171..dda4ad0 100644
+--- a/config.def.h
++++ b/config.def.h
+@@ -142,6 +142,7 @@ static const Key keys[] = {
+ { MODKEY, XKB_KEY_space, setlayout, {0} },
+ { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_space, togglefloating, {0} },
+ { MODKEY, XKB_KEY_e, togglefullscreen, {0} },
++ { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_G, togglefullscreenkeyinhibit, {0} },
+ { MODKEY, XKB_KEY_0, view, {.ui = ~0} },
+ { MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_parenright, tag, {.ui = ~0} },
+ { MODKEY, XKB_KEY_comma, focusmon, {.i = WLR_DIRECTION_LEFT} },
+diff --git a/dwl.c b/dwl.c
+index f11de4b..5deb9c7 100644
+--- a/dwl.c
++++ b/dwl.c
+@@ -341,6 +341,7 @@ static void tagmon(const Arg *arg);
+ static void tile(Monitor *m);
+ static void togglefloating(const Arg *arg);
+ static void togglefullscreen(const Arg *arg);
++static void togglefullscreenkeyinhibit(const Arg *arg);
+ static void toggletag(const Arg *arg);
+ static void toggleview(const Arg *arg);
+ static void unlocksession(struct wl_listener *listener, void *data);
+@@ -414,6 +415,8 @@ static struct wlr_box sgeom;
+ static struct wl_list mons;
+ static Monitor *selmon;
+
++static int fullscreen_key_inhibit_enabled = 0;
++
+ #ifdef XWAYLAND
+ static void activatex11(struct wl_listener *listener, void *data);
+ static void associatex11(struct wl_listener *listener, void *data);
+@@ -1583,8 +1586,9 @@ keybinding(uint32_t mods, xkb_keysym_t sym)
+ for (k = keys; k < END(keys); k++) {
+ if (CLEANMASK(mods) == CLEANMASK(k->mod)
+ && sym == k->keysym && k->func) {
+- if (c && c->isfullscreen) {
+- if (k->func == togglefullscreen) {
++ if (fullscreen_key_inhibit_enabled
++ && c && c->isfullscreen) {
++ if (k->func == togglefullscreenkeyinhibit) {
+ k->func(&k->arg);
+ return 1;
+ }
+@@ -2763,6 +2767,12 @@ togglefullscreen(const Arg *arg)
+ setfullscreen(sel, !sel->isfullscreen);
+ }
+
++void
++togglefullscreenkeyinhibit(const Arg *arg)
++{
++ fullscreen_key_inhibit_enabled = !fullscreen_key_inhibit_enabled;
++}
++
+ void
+ toggletag(const Arg *arg)
+ {
+--
+2.49.0
+