On Tue, Mar 08, 2022 at 12:56:27PM -0500, Miles Alan wrote: > On Mon, Feb 21, 2022, at 1:10 AM, m...@milesalan.com wrote: > > From: Miles Alan <m...@milesalan.com> > > > > 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. > > --- > > dwm.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/dwm.c b/dwm.c > > index a96f33c..254ebf2 100644 > > --- a/dwm.c > > +++ b/dwm.c > > @@ -1063,7 +1063,7 @@ manage(Window w, XWindowAttributes *wa) > > XSelectInput(dpy, w, > > EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask); > > grabbuttons(c, 0); > > 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); > > attach(c); > > -- > > 2.34.1 > > You can test this patch with SDL applications which hit this edge case > by default. Logic in dwm currently forces windows to become floating in > this edge case. > > For example with the SDL games "rue" and "cdogs_sdl" on alpine, in i3wm > these applications open as tiled windows by default as they should; while > in dwm they open as floating windows due to this bug. > > This patch resolves that and SDL applications open as tiled with default > flags as they should. >
Hi Miles, Thanks for the additional info, such details to reproduce it really matter and saves time and help a lot. This patch is still on my TODO list to check. Maybe this weekend or so I'll have the time and energy for it. Thanks for the patience, -- Kind regards, Hiltjo