Autoplacement hint
- From: Mike McCormack <mike codeweavers com>
- To: wm-spec-list gnome org
- Subject: Autoplacement hint
- Date: Mon, 22 Dec 2003 10:56:37 +0900
Hi All,
I'd like to add a hint to the EWMH specification to disable autoplacement.
Currently Wine treats popup windows as unmanaged, so can place them
exactly on the desktop. This leads to some problems:
* when changing desktops, the unmanaged windows don't disappear as they
should
* if a dialog is popped up over an (unmanaged) spash screen, it may be
placed under the spash screen in the Z order
For these reasons, I'd like to make more windows in Wine managed,
however this leads to other problems...
Wine relies on being able to place windows in exact positions on the
desktop relative to other windows. Some window managers change the
position of windows to make sure they are well distributed around the
screen, however this often leads to strange results.
For example, Word 2000's clippy will appear, with the animation (one
window) and the text underneath it (a seperate window) in seperate areas
of the screen. (not that I want to use clippy... ;)
I think these problems can be solved by the addition of a hint to let
window managers know that certain windows should not be autoplaced.
At the same time, I've a way to define which type of autoplacement the
window manager should use for a window. (_NET_WM_PLACE_APP_CENTER and
_NET_WM_PLACE_SCREEN_CENTER) These hints are not necessary for Wine,
but may be useful for other applications...
Please let me know if this makes sense, or if there is another way to
achieve what I'm trying to do.
thanks,
Mike
Index: wm-spec.xml
===================================================================
RCS file: /cvs/icccm-extensions/wm-spec/wm-spec.xml,v
retrieving revision 1.7
diff -u -r1.7 wm-spec.xml
--- wm-spec.xml 16 Dec 2003 13:56:02 -0000 1.7
+++ wm-spec.xml 22 Dec 2003 01:22:16 -0000
@@ -1355,6 +1355,30 @@
event.
</para>
</sect2>
+ <sect2><title>_NET_WM_PLACEMENT</title>
+ <programlisting><![CDATA[
+_NET_WM_PLACEMENT, ATOM[]
+]]></programlisting>
+ <para>
+This property contains the placement policy the client wants for this
window.
+Clients wishing to override the window manager's default placement
policy SHOULD
+set this property before mapping the window.
+ </para>
+ <programlisting><![CDATA[
+_NET_WM_USE_PHINTS /* window manager SHOULD use the program
specified
+ size and position hints in the ICCCM
WM_SIZE_HINTS */
+_NET_WM_PLACE_APP_CENTER /* window manager SHOULD autoplace this
window in
+ the centre of it's parent window */
+_NET_WM_PLACE_SCREEN_CENTER /* window manager SHOULD autoplace this
window in
+ the centre of the screen */
+]]></programlisting>
+ </para>
+ <para>
+Rationale: This property allows an application to indicate to the
window manager
+how to place the window when it is first mapped. Some applications
depend on
+the window manager not autoplacing a window.
+ </para>
+ </sect2>
</sect1>
<sect1>
<title>Window Manager Protocols</title>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]