Use-positions-properly-dammit hint
- From: Lubos Lunak <l lunak suse cz>
- To: wm-spec-list gnome org
- Subject: Use-positions-properly-dammit hint
- Date: Thu, 10 Aug 2006 18:17:37 +0200
Hello,
this is basically a followup to the "USPosition vs. PPosition with Virtual
viewports" thread, this time with a patch :).
To quickly sum up: Some apps abused PPosition, so WMs started to ignore
PPosition. So apps moved onto abusing USPosition. So basically now it's a big
mess with many windows having PPosition|USPosition and WMs having no idea if
the app just happens to be stupid or if it really has a good reason for that.
The solution :) :
_NET_WM_FULL_PLACEMENT [*]
By including this hint in _NET_WM_SUPPORTED_LIST the Window Manager announces
that it performs reasonable window placement for all window types it supports
(for example centering dialogs on the mainwindow or whatever handling the
Window Manager considers reasonable). This in turn means that Clients[**],
when they detect that this hint is supported, SHOULD NOT abuse or often even
use PPosition and USPosition hints for requesting placement. In particular:
- USPosition is reserved to be used only to indicate that the position was
specified by the user and MUST NOT be used for anything else (see ICCCM
section 4.1.2.3 for details)
- PPosition SHOULD be used for for specifying position only if a specific
position should be used. Position SHOULD NOT be specified for "default"
placement such as centering dialog windows on their mainwindow.
Rationale: Window managers can often perform better placement (that may be
even configurable) for windows than the application. However at the time of
writing this it is problematic for Window managers to decide when to use them
because many applications abuse positioning flags and/or provide unnecessary
default positions.
[*] Suggestions for a better name are welcome
[**] Question: Should it be also required that Clients set the same hint e.g.
in their WM_PROTOCOLS (or a newly made hint) to show that they conform? It
should not be strictly necessary because the WM should be able to simply act
sanely and only old broken apps (which won't have the support anyway) will
keep abusing the flags.
Comment, improvements, objections? I already have some patches for Xinerama
support developed that use this hint (so there's a working
implementation :) ).
--
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o. e-mail: l lunak suse cz , l lunak kde org
Drahobejlova 27 tel: +420 2 9654 2373
190 00 Praha 9 fax: +420 2 9654 2374
Czech Republic http://www.suse.cz/
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]