bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch] ConfigureNotify events


From: Alexander Malmberg
Subject: Re: [patch] ConfigureNotify events
Date: Wed, 31 Mar 2004 02:23:02 +0200

Kazunobu Kuriyama wrote:
> Alexander Malmberg wrote:
> ><snip>
> >With this patch, I don't get any window drifting
> <snip>
> >+
> >+            /*
> >+            We only update the position hints if we're on the screen.
> >+            Otherwise, the window manager might not have added decorations
> >+            (if any) to the window yet. Since we compensate for decorations
> >+            when we set the position, this will confuse us and we'll end
> >+            up compensating twice, which makes windows drift.
> >+            */
[snip]
>
> One day, I mistakenly happend to get Gorm to run on fvwm2, and found it got
> drifting with a *non-patched* -gui.  It was precisely in appearance the
> phenomenon happened on WindowMaker with -gui modified with your previous 
> patch.
> When I saw it, I suspected the problem was rather rooted in the way with
> which a given window manager gives a window a decoration, and that -gui did
> nothing wrong accordingly.  For example, as long as the drifting issue is
> concerned, with -gui modified with your latest patch, twm and fvwm2 get
> drifting while mwm and WindowMaker not.

Well, aside from fixing the position tracking, I'm only aiming for not
making things worse. If twm and fvwm2 drifted without my patch, I think
it's ok that they still drift.
 
> As WindowMaker is an official window manager for GNUstep, I don't think the
> observation above keeps you from commiting the patch.  Rather, I think, in
> the comment of the patch, it'd better to specify which window manager needs
> the compensation because every window maker seems not to necessarily need it.

The compensation is done in [XGServer -styleoffsets:::::], and it has
some comments about how it guesstimates the offsets. Doesn't say much
about how it's used, though. I have generic comments about it in my
related window decoration changes; I'll see if I can add some more
details about this. It's rather messy, and involves both backend/window
manager and backend/gui interaction, so comments would help.


In theory (and according to ICCCM), we could just set StaticGravity on
the window and the window manager would use the position we give for the
actual window. Unfortunately, none of the window managers I tested
handled this properly. :-/

- Alexander Malmberg




reply via email to

[Prev in Thread] Current Thread [Next in Thread]