Re: Autoplacement hint

On Mon, 2003-12-22 at 22:39, Mike McCormack wrote:
> The reason why different window managers do different things is that the 
> ICCCM specification is unclear about what the window manager should do 
> with PPosition and USPosition.
> The ICCCM only talks about "user involvement" in the section on 
> US/PPosition, and does not eliminate the posibility of the WM moving the 
> window.

I wouldn't say unclear, rather it's deliberately leaving policy
undefined. If you set PPosition that means your app thinks the position
should be as given; the WM can second-guess the app. In my experience
second guessing the app is wrong too often and shouldn't be done, but
it's still a "quality of implementation" issue whether the WM wants to
try to second guess.

> At least if I choose to follow the path of saying to my users "Your 
> window manager is not compliant with specifications", give me something 
> solid to back up my assertion...

The assertion I'd make isn't that the WM is compliant or not, the
assertion is that the WM has an explicit policy of second guessing the
app, and one consequence of that is that apps can't position windows.
i.e. the WM has explicitly disabled the functionality of WINE and other
apps, as part of its policies.

So what you're saying to the user is "this is what your WM does, on
purpose; maybe doing that is beneficial sometimes, but it breaks this
and a lot of other things."

Here's an analogy: say a user complains to you because their WM has only
mouse focus, and they want click to focus. This is simply not your
problem, it's a WM feature/misfeature. What the WM does with PPosition
is exactly the same kind of WM decision, and is similarly not your

Any WM author that's paying attention _knows_ that categorically
ignoring PPosition causes buggy behavior as you mention, and they have
deliberately created the situation due to perceived benefits.

In most cases I do think whether to honor PPosition is a config option
(talk about config options gone horribly wrong!) so the user can even
fix it themselves.


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