Re: MUST or SHOULD in window gravity?



> Here's the semantic difference between MUST and SHOULD as applied to
> protocols.  This is often confusing to people not immured in protocol
design.
>
> There's a more extensive explanation in the IETF document referenced.
>
> MUSTS cause things to break if not done.  Deadlocks, wrong outcomes is
> what "breaks" mean.
>
> SHOULDS mean things don't work as well if a should is ignored, but still
> function.  The wrong decoration appearing isn't breaking at a protocol
> level.

It is not breaking X protocol yes, But we are talking about Inter Client
Communications Protocol, and correct window placement is one of the
essential
parts of it. If Window Manager or application does not obey gravity rules
things
break down badly. That happen when window tries to resize itself after
initial placement, and gravity other then default NorthWest is used - as a
general
rule such an attempts will result in uncontrollable movement of the window
on the
screen, sometimes causing it to disappear completely when it reaches edge
of the screen.
That clearly is not correct behaviour, and should be consider a breakdown
of
the protocol.

Problem comes from the fact that any application that needs to resize
itself is using some assumptions about where it will endup as the result.
Wrong
assumptions lead to very bad effects. For example well known program xv is
using an
assumption that it will be placed exactly where it requested, but it is
using gravity
of NorthWest which is wrong. As the result when displaying different images
using
same window you'll see it sliding off in ICCCM compliant window manger. It
should
have used StaticGravity instead. Althou you may not see that affect as
different
window managers implemented some sort of an ugly kludge to override xv's
behaviour.

Another aplication that is causing constant headaches with placement is
Netscape,
and due to similar reasons.

Another manifestation of the problem is when you try to open a terminal
with SouthEastGravity

xterm -g -100-100

in uncompliant window manager and then change fonts in it - it will loose
its SouthEast
gravity and will be moved around just as if it had NorthWest gravity. Very
annoying
behaviour for some folks.

A have to admit that ICCCM also states that client should not rely on its
assumtions
too much, and should expect to be placed anywhere Window Manager decides to
place it to.
But in the real life there is a desperate need for applications to have at
least some guarantees that its requests will be honored. Specifically
different toolbars
launchers, taskbars, etc. Without mandating gravity rules, the only way for
these to
function properly would be to get integrated with particular Window
Manager,
which contradicts goals of this specs.


>
>                   - Jim
>
> --
> Jim Gettys
> Technology and Corporate Development
> Compaq Computer Corporation
> jg pa dec com

Cheers
Sasha Vasko.






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