over-MUSTiness in the spec
- From: Dan Winship <danw novell com>
- To: wm-spec-list gnome org
- Subject: over-MUSTiness in the spec
- Date: Mon, 17 Apr 2006 12:05:19 -0400
In a bunch of places, the spec says things like:
> If a Pager wants to switch to another virtual desktop, it MUST send
> a _NET_CURRENT_DESKTOP client message to the root window:
The use of "MUST" here places severe and unnecessary restrictions on the
sorts of extra-EWMH behavior a Pager can implement. It says that a Pager
is automatically in violation of the EWMH if it uses any method other
than _NET_CURRENT_DESKTOP to switch virtual desktops, even if it knows
with absolute certainty that the currently-running Window Manager
supports this alternate method.
The attached patch changes a number of such "MUST"s and "SHOULD"s to
"can". (It also fixes one "SHOULD not" to "SHOULD NOT".)
-- Dan
Index: wm-spec.xml
===================================================================
RCS file: /cvs/icccm-extensions/wm-spec/wm-spec.xml,v
retrieving revision 1.25
diff -u -r1.25 wm-spec.xml
--- wm-spec.xml 13 Apr 2006 18:53:08 -0000 1.25
+++ wm-spec.xml 17 Apr 2006 15:49:09 -0000
@@ -403,7 +403,7 @@
<para>
The index of the current desktop. This is always an integer between 0 and
_NET_NUMBER_OF_DESKTOPS - 1. This MUST be set and updated by the Window
-Manager. If a Pager wants to switch to another virtual desktop, it MUST send
+Manager. If a Pager wants to switch to another virtual desktop, it can send
a _NET_CURRENT_DESKTOP client message to the root window:
</para>
<programlisting><![CDATA[
@@ -449,7 +449,7 @@
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 wants to activate
-another window, it MUST send a _NET_ACTIVE_WINDOW client message to the root
+another window, it can send a _NET_ACTIVE_WINDOW client message to the root
window:
</para>
<programlisting><![CDATA[
@@ -650,7 +650,7 @@
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
+ If a Pager wants to enter or leave the mode, it can
send a _NET_SHOWING_DESKTOP client message to the root window
requesting the change:
<programlisting><![CDATA[
@@ -672,7 +672,7 @@
_NET_CLOSE_WINDOW
]]></programlisting>
<para>
- Pagers wanting to close a window MUST send a _NET_CLOSE_WINDOW client
+ Pagers wanting to close a window can send a _NET_CLOSE_WINDOW client
message request to the root window:
</para>
<programlisting><![CDATA[
@@ -800,7 +800,7 @@
_NET_RESTACK_WINDOW
]]></programlisting>
<para>
- Pagers wanting to restack a window SHOULD send a _NET_RESTACK_WINDOW client
+ Pagers wanting to restack a window can send a _NET_RESTACK_WINDOW client
message request to the root window:
</para>
<programlisting><![CDATA[
@@ -833,7 +833,7 @@
<para>
A Client whose window has not yet been mapped can request of the
Window Manager an estimate of the frame extents it will be given upon
-mapping. To retrieve such an estimate, the Client MUST send a
+mapping. To retrieve such an estimate, the Client can send a
_NET_REQUEST_FRAME_EXTENTS message to the root window. The Window
Manager MUST respond by estimating the prospective frame extents and
setting the window's _NET_FRAME_EXTENTS property accordingly. The
@@ -1084,7 +1084,8 @@
considered set, atoms not present in the list MUST be considered not set. The
Window Manager SHOULD honor
_NET_WM_STATE whenever a withdrawn window requests to be mapped. A Client
-wishing to change the state of a window MUST send a _NET_WM_STATE client
+wishing to change the state of a window MUST NOT change this property
+directly, but should instead send a _NET_WM_STATE client
message to the root window (see below). The Window Manager MUST keep this
property updated to reflect the current state of the window.
</para>
@@ -1206,7 +1207,7 @@
</para>
<para>
-To change the state of a mapped window, a Client MUST send a _NET_WM_STATE
+To change the state of a mapped window, a Client can send a _NET_WM_STATE
client message to the root window:
</para>
<programlisting><![CDATA[
@@ -1342,7 +1343,7 @@
bottom_end_x,CARDINAL[12]/32
]]></programlisting>
<para>
-This property MUST be set by the Client if the window is to reserve space at the
+This property can be set by the Client to reserve space for the window at the
edge of the screen. The property contains 4 cardinals specifying the width of
the reserved area at each border of the screen, and an additional 8 cardinals
specifying the beginning and end corresponding to each of the four struts. The
@@ -1593,7 +1594,7 @@
<para>
By using either the Alarm or the Await mechanisms of the XSync
extension, the window manager can know when the client has finished
-handling the ConfigureNotify events. The window manager SHOULD not
+handling the ConfigureNotify events. The window manager SHOULD NOT
resize the window faster than the client can keep up.
</para>
<para>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]