manage: Make sure c->isfixed is applied before floating checks
authorChris Down <chris@chrisdown.name>
Tue, 26 Apr 2022 08:42:23 +0000 (09:42 +0100)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Tue, 26 Apr 2022 13:50:55 +0000 (15:50 +0200)
Commit 8806b6e23793 ("manage: propertynotify: Reduce cost of unused size
hints") mistakenly removed an early size hints update that's needed to
populate c->isfixed for floating checks at manage() time. This resulted
in fixed (size hint min dimensions == max dimensions) subset of windows
not floating when they should.

See https://lists.suckless.org/dev/2204/34730.html for discussion.

dwm.c

diff --git a/dwm.c b/dwm.c
index 823bf6bca531a1c280de5da0f7c4b63989acefdd..5646a5c6c818fd50c110c5750d324020b1c6b257 100644 (file)
--- a/dwm.c
+++ b/dwm.c
@@ -1061,6 +1061,7 @@ manage(Window w, XWindowAttributes *wa)
        XSetWindowBorder(dpy, w, scheme[SchemeNorm][ColBorder].pixel);
        configure(c); /* propagates border_width, if size doesn't change */
        updatewindowtype(c);
+       updatesizehints(c);
        updatewmhints(c);
        XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
        grabbuttons(c, 0);