Window management protocol extensions

Mike Hearn mh at codeweavers.com
Sat Apr 24 06:30:38 CDT 2004


The latest WM problems caused by Metacity preventing windows from being
moved offscreen prompted to raise the issue of having a Wine specific
extension to the NETWM (EWMH) protocol into which we can easily add
whatever semantics we need to map win32 windowing to X windowing more
easily.

The idea would be that we have a new property/set of properties we can
mark windows with, _NET_WM_WINDOWS_EMULATION for instance, and standards
compliant window managers will take note and not do things that break us.

Short of actually doing all our own window management, this is probably
the best way to fix the obscure bugs caused by different interpretations
WMs have of what various hints mean. The current NETWM border hints are
semantic not presentational, so we cannot rely on particular
intepretations. The MWM hints are even worse - they are apparently
undocumented, and most modern WM authors consider them deprecated. Thanks
to their undocumentedness, WMs vary in their interpretation of these too:

http://bugs.kde.org/show_bug.cgi?id=73294

So, I'd like to start gathering ideas on what sort of things we'd like to
have in the NETWM spec, seeing as how many WMs conform to it these days.

First up is a way to ensure the WM doesn't attempt to keep the window
onscreen of course :) Other things we probably want are related to border
styles, an absolutely crystal-clear no-wriggling-possible equivalent to
PPosition as apparently the wording of the ICCCM allows WM authors to
ignore this if they want. We might also want to look at where we use
unmanaged windows and see if we can replace them with the use of managed
windows+hints.

We can probably hack around the lack of these things for now, but being
able to use these hints where possible will probably keep a lot of us from
going grey-haired early :)

thanks -mike




More information about the wine-devel mailing list