Re: Proposal for ConfigureRequest handling



On Thu, Aug 08, 2002 at 11:19:10AM +0200, Matthias Clasen wrote:
> If you have to change all WMs anyway (to add support for your new 
> property), why not change them to deal properly with static gravity 
> instead ? 

I don't quite understand what you mean.  As far as I know, every
window manager is able to handle StaticGravity.  Did you mean
"to deal properly with non static gravity"?  In other words:
rewrite all type 1 WMs to become type 2?  In this case, I already
gave the answer.  No matter which logic you implement, there is a
number of applications that won't work.  I really can't remember
which applications have this problem, but with a type 2 window
manager, sometimes a window moves itself off screen:

  - App requests position +0+0
  - Window manager grants +5+24
  - App gets a ConfigureNotify and thinks "oops, that's not where
    I wanted to be placed, I have to reconfigure myself"
  - App requests position +5+24
  - Window manager grants +10+48
  ...

With a type 1 WM this works fine.  And yes, I know that it's a bug
in the application because it responds to a ConfigureNotify with a
ConfigureRequest which is strictly forbidden.  But not every
application is being actively developed, and at least the fvwm way
is to cope with *every* application, no matter how buggy.

I see no way out of this because neither all applications nor all
window managers are going to be rewritten to adhere to either
'standard'.  All I suggest is providing information that allows a
willing application developer to cope with either type of WM.

> If we indeed need a way to advertise support for static gravity by the WM, 
> wouldn't it be more consistent to add an new atom like 
> _NET_STATIC_POSITION to _NET_SUPPORTED ?

That's fine with me, but then it should be called something like
_NET_NONSTATIC_GRAVITY_IN_CONFIGURE (1 = type 2 WM, 0 = type 1).

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, mail: dominik vogt schlund de, phone: 0721/91374-382
Schlund + Partner AG, Erbprinzenstr. 4-12, D-76133 Karlsruhe



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