Re: resizing with gravity



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.

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.

You may want to go back in time (around 2000/2001) and re-read ML archives on this particular topic.

Regards
Sasha Vasko





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