Re: resizing with gravity
- From: Carsten Haitzler (The Rasterman) <raster rasterman com>
- To: Sasha Vasko <sasha aftercode net>
- Cc: wm-spec-list gnome org, newren gmail com
- Subject: Re: resizing with gravity
- Date: Wed, 26 Apr 2006 09:03:04 +0900
On Tue, 25 Apr 2006 12:17:35 -0500 Sasha Vasko <sasha aftercode net> babbled:
> Dan Winship wrote:
> > Yes, that's why I suggested the text about "Clients SHOULD always
> > include x and y in this case", because then it works regardless of how
> > the WM behaves. IOW, we declare the disputed functionality to be
> > deprecated and essentially undefined, since as you note, it is unlikely
> > that we will ever reach a state where all WMs implement it the same.
> That is a HORRIBLE!!! idea. Applications should never ever try to fiddle
> with its position after initial placement. Position of the window on
> screen is entirely responcibility of the window manager. There is no
> reliable way for clients to ever figure out how exactly configure
> requests are handled by window managers as window managers may employ
> all kinds of custom placement policies, such as tiling, tabbing, avoid
> cover, screen area restrictions and so forth.
> In fact I suggest that we explicitely state the opposite: "Clients MUST
> NEVER EVER include x and y in ConfigureRequests" Although most smart and
> responsibly implemented clients already know that, and those who suffer
> from delusion of grandeur, will always ignore such statements anyways,
> so really there is no point in amending specs.
the problem is - clients write things to often get around wm's NOT implementing
something the way the client's author wanted. sucky - but that's life. you will
have 1000's of legacy clients that will continue to do this - like it or not :(
> Clients should only be able to change size of the top level windows and
> then let window managers reposition them in accordance to its policies.
> Which is were gravity comes into play ( from WM_NORMAL_HINTS ). And
> again, this gravity should be choosen by clients based on user request
> of initial geometry, and should not be mangled by the client itself.
> Simple example: a terminal application.
> You start it like so: xterm -geometry 100x25-0-0
> Terminal then gets placed at the bottom-right corner of the screen. Now
> what would happen if user decided to change font size in it ? Do you
> really want xterm to try and calculate what its x and y should be for
> ConfigureRequest??? I don't. And I doubt that xterm developers differ
> with me on that one.
correct. now the problem. (semantically). xterm asks for 100x25-0-0. gravity is
SE. it changes font size to a larger font. ok. fair enough. NOW user moves
xterm to top-left of screen. xterm starts using an even bigger font. what now?
the gravity is SE even though technically that was only a useful gravity at map
time. one the window moved from the SE corner... it wasn't such a hot idea
anymore to now make the window resize up and to the left. it's highly
problematic even for the wm if it wishes to obey the gravity hints and even
calculate its own new x & y - does it obey the window gravity hints, or does it
go "well - they don't apply anymore" - and what can clients expect such
behavior to be... ?
> You may want to go back in time (around 2000/2001) and re-read ML
> archives on this particular topic.
> Sasha Vasko
> wm-spec-list mailing list
> wm-spec-list gnome org
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler) raster rasterman com
Tokyo, Japan (東京 日本)
] [Thread Prev