diff options
Diffstat (limited to 'dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/disable-keybindings-on-fullscreen-toggle-0.7.patch')
| -rwxr-xr-x | dwl/dwl-patches/patches/disable-keybindings-on-fullscreen-toggle/disable-keybindings-on-fullscreen-toggle-0.7.patch | 71 |
1 files changed, 71 insertions, 0 deletions
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 + |
