swallow / arrange mismatch: swallow needs XMapWindow for the window being called beforehand, whereas arrange needs it called afterwards

pull/74/head
bakkeby 4 years ago
parent 016cdf3857
commit 21fd715afa

11
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

@ -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);

Loading…
Cancel
Save