unfloatvisible patch
This commit is contained in:
parent
9f219c6a08
commit
3935b19814
@ -70,3 +70,4 @@ Most patches can be found on the suckless website: [https://dwm.suckless.org/pat
|
|||||||
* [movestack](https://dwm.suckless.org/patches/movestack/) - Move clients around in the stack and swap them with the master
|
* [movestack](https://dwm.suckless.org/patches/movestack/) - Move clients around in the stack and swap them with the master
|
||||||
* [noborder](https://dwm.suckless.org/patches/noborder/) (Floating Fix) - Remove the border when there is only one window visible
|
* [noborder](https://dwm.suckless.org/patches/noborder/) (Floating Fix) - Remove the border when there is only one window visible
|
||||||
* [swallow](https://dwm.suckless.org/patches/swallow/) - Programs opened from terminal will "swallow" the terminal
|
* [swallow](https://dwm.suckless.org/patches/swallow/) - Programs opened from terminal will "swallow" the terminal
|
||||||
|
* [unfloatvisible](https://dwm.suckless.org/patches/unfloatvisible/) - Resets `isfloating` on any visible windows that have it set
|
||||||
|
@ -126,6 +126,7 @@ static const char *playerprevcmd[] = { "playerctl", "--player=playerctld", "pre
|
|||||||
static const char *flameshotcmd[] = { "flameshot", "gui", NULL };
|
static const char *flameshotcmd[] = { "flameshot", "gui", NULL };
|
||||||
|
|
||||||
#include "movestack.c"
|
#include "movestack.c"
|
||||||
|
#include "unfloat.c"
|
||||||
#include <X11/XF86keysym.h>
|
#include <X11/XF86keysym.h>
|
||||||
static Key keys[] = {
|
static Key keys[] = {
|
||||||
/* modifier key function argument */
|
/* modifier key function argument */
|
||||||
@ -168,9 +169,13 @@ static Key keys[] = {
|
|||||||
{ MODKEY|ShiftMask, XK_k, aspectresize, {.i = -24} },
|
{ MODKEY|ShiftMask, XK_k, aspectresize, {.i = -24} },
|
||||||
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
|
||||||
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
|
||||||
|
{ MODKEY|ShiftMask, XK_t, unfloatvisible, {.v = &layouts[0]} },
|
||||||
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
|
||||||
|
{ MODKEY|ShiftMask, XK_f, unfloatvisible, {.v = &layouts[1]} },
|
||||||
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
|
||||||
{ MODKEY, XK_space, setlayout, {0} },
|
{ MODKEY|ShiftMask, XK_m, unfloatvisible, {.v = &layouts[2]} },
|
||||||
|
// { MODKEY, XK_space, setlayout, {0} },
|
||||||
|
{ MODKEY|ShiftMask, XK_space, unfloatvisible, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
|
||||||
{ MODKEY|ShiftMask, XK_f, togglefullscr, {0} },
|
{ MODKEY|ShiftMask, XK_f, togglefullscr, {0} },
|
||||||
{ MODKEY, XK_Tab, toggleAttachBelow, {0} },
|
{ MODKEY, XK_Tab, toggleAttachBelow, {0} },
|
||||||
|
38
patches/dwm-unfloatvisible-6.2.diff
Normal file
38
patches/dwm-unfloatvisible-6.2.diff
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From a972569532c9d46f79776b0f687ebbbd67a6b69f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexander Courtis <alex@courtis.org>
|
||||||
|
Date: Mon, 22 Apr 2019 22:23:12 +1000
|
||||||
|
Subject: [PATCH] unfloat any visible windows which have isfloating set
|
||||||
|
|
||||||
|
optionally takes a layout to also apply
|
||||||
|
|
||||||
|
e.g.
|
||||||
|
{ MODKEY|ShiftMask, XK_space, unfloatvisible, {0} },
|
||||||
|
{ MODKEY|ShiftMask, XK_t, unfloatvisible, {.v = &layouts[1]} },
|
||||||
|
---
|
||||||
|
unfloat.c | 14 ++++++++++++++
|
||||||
|
1 file changed, 14 insertions(+)
|
||||||
|
create mode 100644 unfloat.c
|
||||||
|
|
||||||
|
diff --git a/unfloat.c b/unfloat.c
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ef84111
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/unfloat.c
|
||||||
|
@@ -0,0 +1,14 @@
|
||||||
|
+void
|
||||||
|
+unfloatvisible(const Arg *arg)
|
||||||
|
+{
|
||||||
|
+ Client *c;
|
||||||
|
+
|
||||||
|
+ for (c = selmon->clients; c; c = c->next)
|
||||||
|
+ if (ISVISIBLE(c) && c->isfloating)
|
||||||
|
+ c->isfloating = c->isfixed;
|
||||||
|
+
|
||||||
|
+ if (arg && arg->v)
|
||||||
|
+ setlayout(arg);
|
||||||
|
+ else
|
||||||
|
+ arrange(selmon);
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user