Re: Various comments, mostly on Implementation Notes



>> >and section 4.1.2.3 is pretty explicit in saying that X,Y should only
>> >be the upper left hand corner of the window when win_gravity is
>> >static.
>>
>> Yep, you are absolutely right. With the default NorthWest gravity
>> client's position will be x+left_border_width, y+top_border_width.
>>
>> Unfortunately many Window Managers, even thou they claim to be ICCCM
>> compliant, neglect to obey this. (Which is understandable, since its
>> much harder to implement then it looks like).
>>
>
>Many? Not  *single* one of the popular wms does it. I tried mwm, fvwm,
>afterstep, blackbox.
>
>I did that once in kwm or kwin, but people complained.

I've implemented it in AfterStep devel (1.9) series, and since it was a
huge
change ( like 50% of the code affected ), I'm pretty sure that it will
never
be changed back :)

E DR16 seems to work correctly, except for the fact that after initial
mapping it
forgets gravity of the window and all further move/resizes are done as if
window had a NorthWest gravity (and that sucks).

Surprisingly I've not seen too many problems with that, except for XV, that
assumes
Center gravity but never actually requests it.

>
>Oven, are there any WMs that do this according to ICCCM? If I make Qt
behave
>right, it's broken on 99% of the platforms people are using Qt on.... same
is
>true with GTK+.
>
>I don't know what to do.

Frankly I don't see a 100% reliable way to test for compliance.
The only possible way would be to do XMoveWindow twice - in case first move
landed you in unexpected location - adjust position by the difference and
attempt
second move into this adjusted position. But again I can see problems with
that.

What I ended up doing was a private interface between AfterStep modules and
AfterStep itself, allowing for exact positioning of window's frame, in
order to
implement all those animations and placements of Wharfs etc. But obviously
that
will not work for general purpose widget set.

IMHO such a widely used things as Qt and GTK should stick to the rules,
and made all the lazy WM developers get off their butts and fix their stuff
:)
Otherwise we'll never get out of the mess we are in right now.

>Matthias

Cheers
Sasha Vasko





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