Re: Pending 1.2 stuff



How silly...here is the patch.
--- wm-spec.sgml.orig	Tue Jun 11 23:27:52 2002
+++ wm-spec.sgml	Fri Aug  9 00:55:45 2002
@@ -166,7 +166,7 @@
 desktop. Unmapped windows should be placed in IconicState, according to 
 the ICCCM. Windows which are actually iconified or minimized 
 should have the _NET_WM_STATE_HIDDEN property set, to 
-communicate to pagers that the window should not be represented as 
+communicate to Pagers that the window should not be represented as 
 "onscreen."
 </para>
 </sect3>
@@ -232,7 +232,6 @@
 <listitem><para>Other IPC mechanisms like ICE or Corba.</para></listitem>
 <listitem><para>Window Manager configuration.</para></listitem>
 <listitem><para>Window Manager documentation.</para></listitem>
-<listitem><para>Geometry between desktops.</para></listitem>
 <listitem><para>Clients appearing on a proper subset of desktops.</para></listitem>
 <listitem><para>Window-in-window MDI.</para></listitem>
 </itemizedlist>
@@ -340,7 +339,7 @@
 ]]></programlisting>
 	<para>
 Array of pairs of cardinals that define the top left corner of each desktops 
-viewport.  For window managers that don't support large desktops, this MUST 
+viewport.  For Window Managers that don't support large desktops, this MUST 
 always be set to (0,0).  
 	</para>	
 	<para>
@@ -401,7 +400,7 @@
 	<para>
 The window ID of the currently active window or None if no window has the focus.
 This is a read-only property set by the
-window manager.  If a client (for example, a taskbar) wants to activate
+Window Manager.  If a client (for example, a taskbar) wants to activate
 another window, it MUST send a _NET_ACTIVE_WINDOW client message to the root
 window: 
 	</para>
@@ -425,7 +424,7 @@
  Work area SHOULD be used by desktop applications to place desktop icons appropriately.
 	</para>
 	<para>
-	The window manager SHOULD calculate this space by taking the current page minus space occupied by dock and panel windows, as indicated by the <link linkend="NETWMSTRUT">_NET_WM_STRUT</link> property set on client windows.
+	The Window Manager SHOULD calculate this space by taking the current page minus space occupied by dock and panel windows, as indicated by the <link linkend="NETWMSTRUT">_NET_WM_STRUT</link> property set on client windows.
 	</para>
 	</sect2>
 	<sect2>
@@ -441,12 +440,12 @@
 	have the _NET_WM_NAME property set to the name of the Window Manager.
 	</para>
 	<para>
-Rationale:  The child window is used to distinguish an active window manager 
+Rationale:  The child window is used to distinguish an active Window Manager 
  from a stale _NET_SUPPORTING_WM_CHECK 
  property that happens to point to another window. If the
  _NET_SUPPORTING_WM_CHECK window on the client window is missing
  or not properly set, clients SHOULD assume that no conforming
- window manager is present.
+ Window Manager is present.
 	</para>
 	</sect2>
 	<sect2>
@@ -463,6 +462,100 @@
 windows.
 	</para>
 	</sect2>
+        <sect2>
+        <title>_NET_DESKTOP_LAYOUT</title>
+        <programlisting><![CDATA[
+_NET_DESKTOP_LAYOUT, CARDINAL[3]/32
+]]>
+  #define _NET_WM_ORIENTATION_HORZ 0
+  #define _NET_WM_ORIENTATION_VERT 1
+</programlisting>
+        <para>
+        <emphasis>This property is set by a Pager, not by the Window 
+	  Manager.</emphasis>
+        When setting this property, the Pager must own a manager selection (as
+	defined in the ICCCM 2.8). The manager selection is called
+        <literal>_NET_DESKTOP_LAYOUT_Sn</literal> where
+        <literal>n</literal> is the screen number. The purpose of 
+        this property is to allow the Window Manager to know the desktop 
+        layout displayed by the Pager.
+        </para>
+        <para>
+  <literal>_NET_DESKTOP_LAYOUT</literal> describes the layout of virtual
+  desktops relative to each other. More specifically, it describes the layout
+  used by the owner of the manager selection. The Window Manager may use 
+  this layout information or may choose to ignore it.
+  The property contains three values: the Pager orientation, the number of
+  desktops in the X direction, and the number in the Y direction.
+        </para>
+  <para>
+  The virtual desktops are arranged in a rectangle
+  with X rows and Y columns.  If X times Y does not match the total number of
+  desktops as specified by
+  <literal>_NET_NUMBER_OF_DESKTOPS</literal>, the highest-numbered
+  workspaces are assumed to be nonexistent. Either X or Y (but not
+  both) may be specified as 0 in which case its actual value will be
+  derived from <literal>_NET_NUMBER_OF_DESKTOPS</literal>.
+        </para>
+        <para>
+  When the orientation is <literal>_NET_WM_ORIENTATION_HORZ</literal> (integer
+ value 0) the layout for X=4 and Y=3 looks like this:
+<programlisting>
+ +--+--+--+--+
+ | 0| 1| 2| 3|
+ +--+--+--+--+
+ | 4| 5| 6| 7|
+ +--+--+--+--+
+ | 8| 9|10|11|
+ +--+--+--+--+
+</programlisting>
+         </para>
+        <para>
+
+  When the orientation is <literal>_NET_WM_ORIENTATION_VERT</literal>
+  (integer value 1) the layout for X=4 and Y=3 looks like:
+
+<programlisting>
+ +--+--+--+--+
+ | 0| 3| 6| 9|
+ +--+--+--+--+
+ | 1| 4| 7|10|
+ +--+--+--+--+
+ | 2| 5| 8|11|
+ +--+--+--+--+
+</programlisting>
+       </para>
+        <para>
+         The numbers here are the desktop numbers, as for 
+         <literal>_NET_CURRENT_DESKTOP</literal>.
+        </para>
+       </sect2>
+
+        <sect2><title>_NET_SHOWING_DESKTOP</title>
+       <programlisting><![CDATA[
+_NET_SHOWING_DESKTOP desktop, CARDINAL/32
+]]></programlisting>
+       <para>
+	Some Window Managers have a "showing the desktop" mode in which windows
+	are hidden, and the desktop background is displayed and focused. If a
+	Window Manager supports the _NET_SHOWING_DESKTOP hint, it MUST set it
+	to a value of 1 if the Window Manager is in "showing the desktop" mode,
+	and a value of zero if the Window Manager is not in this mode.
+        </para>
+        <para>
+	If a Pager wants to enter or leave the mode, it MUST
+	send a _NET_SHOWING_DESKTOP client message to the root window
+	requesting the change: 
+       <programlisting><![CDATA[
+_NET_SHOWING_DESKTOP
+  message_type = _NET_SHOWING_DESKTOP 
+  format = 32
+  data.l[0] = boolean 0 or 1
+]]></programlisting> 
+ The Window Manager may choose to ignore this client message.
+       </para>
+       </sect2>
+
 	</sect1>
 	<sect1>
 	<title>Other Root Window Messages</title>
@@ -485,7 +578,7 @@
 The Window Manager MUST then attempt to close the window specified.
 	</para>
 	<para>
-	Rationale: A window manager might be more clever than the usual method (send WM_DELETE message if the protocol is selected, XKillClient otherwise).  It might introduce a timeout, for example.  Instead of duplicating the code, the Window Manager can easily do the job.
+	Rationale: A Window Manager might be more clever than the usual method (send WM_DELETE message if the protocol is selected, XKillClient otherwise).  It might introduce a timeout, for example.  Instead of duplicating the code, the Window Manager can easily do the job.
 	</para>
 	</sect2><sect2><title>_NET_WM_MOVERESIZE</title>
 	<programlisting><![CDATA[
@@ -737,6 +830,7 @@
 _NET_WM_STATE_SKIP_PAGER, ATOM
 _NET_WM_STATE_HIDDEN, ATOM
 _NET_WM_STATE_FULLSCREEN, ATOM
+_NET_WM_STATE_FLOATING, ATOM
 ]]></programlisting>
       <para>
 An implementation MAY add new atoms to this list. Implementations
@@ -771,9 +865,9 @@
 	</para>
 	<para>
 _NET_WM_STATE_SKIP_PAGER indicates that the window should not be
-included on a pager. This hint should be requested by the application,
+included on a Pager. This hint should be requested by the application,
 i.e. it indicates that the window by nature is never in the
-pager. Applications should not set this hint if _NET_WM_WINDOW_TYPE
+Pager. Applications should not set this hint if _NET_WM_WINDOW_TYPE
 already conveys the exact nature of the window.
 	</para>
         <para>
@@ -800,6 +894,14 @@
 and have no window decorations. For example, a presentation program would use
 this hint.
 	</para>
+        <para>
+_NET_WM_STATE_FLOATING indicates that the window should be on top of other
+windows of the same type. Applications should not set this hint 
+if _NET_WM_WINDOW_TYPE already conveys the exact nature of the window. 
+Windows in this state would typically appear above other windows of the same 
+_NET_WM_WINDOW_TYPE.
+       </para>
+
 	<para>
 To change the state of a mapped window, a Client MUST send a _NET_WM_STATE
 client message to the root window  (window is the respective window, type
@@ -831,7 +933,7 @@
 present in the list indicate actions that are not supported for this window.
 The window manager MUST keep this property updated to reflect the 
 actions which are currently "active" or "sensitive" for a window.
-Taskbars, pagers, and other tools use _NET_WM_ALLOWED_ACTIONS to 
+Taskbars, Pagers, and other tools use _NET_WM_ALLOWED_ACTIONS to 
 decide which actions should be made available to the user.
 		</para>
 		<para>


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