manage: For isfloating/oldstate check/set, ensure trans client actually exists
In certain instances trans may be set to a window that doesn't actually map to a client via wintoclient; in this case it doesn't make sense to set isfloating/oldstate since trans is essentially invalid in that case / correlates to the above condition check where trans is set / XGetTransientForHint is called. Ref. https://git.suckless.org/dwm/commit/bece862a0fc4fc18ef9065b18cd28e2032d0d975.html
This commit is contained in:
4
dwm.c
4
dwm.c
@ -1773,7 +1773,9 @@ drawbar(Monitor *m)
|
||||
{
|
||||
Bar *bar;
|
||||
|
||||
#if !BAR_FLEXWINTITLE_PATCH
|
||||
if (m->showbar)
|
||||
#endif // BAR_FLEXWINTITLE_PATCH
|
||||
for (bar = m->bar; bar; bar = bar->next)
|
||||
drawbarwin(bar);
|
||||
}
|
||||
@ -2437,7 +2439,7 @@ manage(Window w, XWindowAttributes *wa)
|
||||
#endif // MAXIMIZE_PATCH / EXRESIZE_PATCH
|
||||
|
||||
if (!c->isfloating)
|
||||
c->isfloating = c->oldstate = trans != None || c->isfixed;
|
||||
c->isfloating = c->oldstate = t || c->isfixed;
|
||||
if (c->isfloating) {
|
||||
XRaiseWindow(dpy, c->win);
|
||||
XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColFloat].pixel);
|
||||
|
Reference in New Issue
Block a user