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

Reply via email to