summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2020-10-10 15:25:35 +0200
committerbakkeby <[email protected]>2020-10-10 15:25:35 +0200
commit21fd715afa47bb0d0f638451de56e46e1d74d4f4 (patch)
tree54d87a5296f2b89d8673984eb207c54f299ae7da
parent016cdf385781d101221318d4ff8e029a357ff236 (diff)
downloaddwm-flexipatch-21fd715afa47bb0d0f638451de56e46e1d74d4f4.tar.gz
dwm-flexipatch-21fd715afa47bb0d0f638451de56e46e1d74d4f4.zip
swallow / arrange mismatch: swallow needs XMapWindow for the window being called beforehand, whereas arrange needs it called afterwards
-rw-r--r--dwm.c11
-rw-r--r--patch/swallow.c2
2 files changed, 11 insertions, 2 deletions
diff --git a/dwm.c b/dwm.c
index b7d76a6..a4af6c4 100644
--- a/dwm.c
+++ b/dwm.c
@@ -2276,17 +2276,24 @@ manage(Window w, XWindowAttributes *wa)
unfocus(selmon->sel, 0, c);
c->mon->sel = c;
#if SWALLOW_PATCH
- if (!(term && swallow(term, c)))
+ if (!(term && swallow(term, c))) {
arrange(c->mon);
+ #if BAR_WINTITLEACTIONS_PATCH
+ if (!HIDDEN(c))
+ XMapWindow(dpy, c->win);
+ #else
+ XMapWindow(dpy, c->win);
+ #endif // BAR_WINTITLEACTIONS_PATCH
+ }
#else
arrange(c->mon);
- #endif // SWALLOW_PATCH
#if BAR_WINTITLEACTIONS_PATCH
if (!HIDDEN(c))
XMapWindow(dpy, c->win);
#else
XMapWindow(dpy, c->win);
#endif // BAR_WINTITLEACTIONS_PATCH
+ #endif // SWALLOW_PATCH
focus(NULL);
#if BAR_EWMHTAGS_PATCH
diff --git a/patch/swallow.c b/patch/swallow.c
index 744eba3..0376588 100644
--- a/patch/swallow.c
+++ b/patch/swallow.c
@@ -18,6 +18,8 @@ swallow(Client *p, Client *c)
if (c->noswallow < 0 && !swallowfloating && c->isfloating)
return 0;
+ XMapWindow(dpy, c->win);
+
detach(c);
detachstack(c);