summaryrefslogtreecommitdiffstats
path: root/kwin/wm-spec/x225.html
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kwin/wm-spec/x225.html
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kwin/wm-spec/x225.html')
-rw-r--r--kwin/wm-spec/x225.html720
1 files changed, 720 insertions, 0 deletions
diff --git a/kwin/wm-spec/x225.html b/kwin/wm-spec/x225.html
new file mode 100644
index 000000000..7a31fb1b7
--- /dev/null
+++ b/kwin/wm-spec/x225.html
@@ -0,0 +1,720 @@
+<HTML
+><HEAD
+><TITLE
+>Application Window Properties</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.72
+"><LINK
+REL="HOME"
+HREF="index.html"><LINK
+REL="PREVIOUS"
+TITLE="Other Root Window Messages"
+HREF="x208.html"><LINK
+REL="NEXT"
+TITLE="Window Manager Protocols"
+HREF="x340.html"></HEAD
+><BODY
+CLASS="SECT1"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+></TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="x208.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+></TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="x340.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="AEN225"
+>5. Application Window Properties</A
+></H1
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN227"
+>5.1. _NET_WM_NAME</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_NAME, UTF8_STRING</PRE
+><P
+>The Client SHOULD set this to the title of the window in UTF-8 encoding. If
+set, the Window Manager should use this in preference to WM_NAME.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN231"
+>5.2. _NET_WM_VISIBLE_NAME</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_VISIBLE_NAME, UTF8_STRING</PRE
+><P
+>If the Window Manager displays a window name other than _NET_WM_NAME the Window Manager MUST set this to the title displayed in UTF-8 encoding.
+ </P
+><P
+>Rationale: For window managers that display a title different from the _NET_WM_NAME or WM_NAME of the window (i.e. xterm &#60;1&#62;, xterm &#60;2&#62;, ... is shown, but _NET_WM_NAME / WM_NAME is still xterm for each window). This property allows taskbars / pagers to display the same title as the window manager.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN236"
+>5.3. _NET_WM_ICON_NAME</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_ICON_NAME, UTF8_STRING</PRE
+><P
+>The Client SHOULD set this to the title of the icon for this window in UTF-8
+encoding. If set, the Window Manager should use this in preference to
+WM_ICON_NAME.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN240"
+>5.4. _NET_WM_VISIBLE_ICON_NAME</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_VISIBLE_ICON_NAME, UTF8_STRING</PRE
+><P
+>If the Window Manager displays an icon name other than _NET_WM_ICON_NAME
+the Window Manager MUST set this to the title displayed in UTF-8 encoding.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN244"
+>5.5. _NET_WM_DESKTOP</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_DESKTOP desktop, CARDINAL/32</PRE
+><P
+>Cardinal to determine the desktop the window is in (or wants to be) starting
+with 0 for the first desktop. A Client MAY choose not to set this property,
+in which case the Window Manager SHOULD place as it wishes. 0xFFFFFFFF
+indicates that the window SHOULD appear on all desktops/workspaces.
+ </P
+><P
+>The Window Manager should honor _NET_WM_DESKTOP whenever a withdrawn window
+requests to be mapped.
+ </P
+><P
+>The Window Manager should remove the property whenever
+a window is withdrawn, but it should leave the property in place when it is
+shutting down, e.g. in response to losing ownership of the WM_Sn manager
+selection.
+ </P
+><P
+>Rationale: Removing the property upon window withdrawal helps legacy
+applications which want to reuse withdrawn windows. Not removing the property
+upon shutdown allows the next Window Manager to restore windows to their
+previous desktops.
+ </P
+><P
+>A Client can request a change of desktop for a non-withdrawn window by sending
+a _NET_WM_DESKTOP client message to the root window:
+ </P
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_DESKTOP
+ window = the respective client window
+ message_type = _NET_WM_DESKTOP
+ format = 32
+ data.l[0] = new_desktop</PRE
+><P
+> The Window Manager MUST keep this property updated on all windows.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN254"
+>5.6. _NET_WM_WINDOW_TYPE</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_WINDOW_TYPE, ATOM[]/32</PRE
+><P
+>This SHOULD be set by the Client before mapping, to a list of atoms indicating
+the functional type of the window. This property SHOULD be used by the window
+manager in determining the decoration, stacking position and other behaviour
+of the window. The Client SHOULD specify window types in order of preference
+(the first being most preferable), but MUST include at least one of the basic
+window type atoms from the list below. This is to allow for extension of the
+list of types, whilst providing default behaviour for window managers that do
+not recognise the extensions.
+ </P
+><P
+>Rationale: This hint is intend to replace the MOTIF hints. One of the
+objections to the MOTIF hints is that they are a purely visual description of
+the window decoration. By describing the function of the window, the window
+manager can apply consistent decoration and behaviour to windows of the same
+type. Possible examples of behaviour include keeping dock/panels on top or
+allowing pinnable menus / toolbars to only be hidden when another window has
+focus (NextStep style).
+ </P
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_WINDOW_TYPE_DESKTOP, ATOM
+_NET_WM_WINDOW_TYPE_DOCK, ATOM
+_NET_WM_WINDOW_TYPE_TOOLBAR, ATOM
+_NET_WM_WINDOW_TYPE_MENU, ATOM
+_NET_WM_WINDOW_TYPE_UTILITY, ATOM
+_NET_WM_WINDOW_TYPE_SPLASH, ATOM
+_NET_WM_WINDOW_TYPE_DIALOG, ATOM
+_NET_WM_WINDOW_TYPE_NORMAL, ATOM</PRE
+><P
+>_NET_WM_WINDOW_TYPE_DESKTOP indicates a desktop feature. This can include a
+single window containing desktop icons with the same dimensions as the screen,
+allowing the desktop environment to have full control of the desktop, without
+the need for proxying root window clicks.
+ </P
+><P
+>_NET_WM_WINDOW_TYPE_DOCK indicates a dock or panel feature. Typically a
+window manager would keep such windows on top of all other windows.
+ </P
+><P
+>_NET_WM_WINDOW_TYPE_TOOLBAR and _NET_WM_WINDOW_TYPE_MENU indicate toolbar and
+pinnable menu windows, respectively (i.e. toolbars and menus "torn off" from
+the main application). Windows of this type may set the WM_TRANSIENT_FOR
+hint indicating the main application window.
+ </P
+><P
+>_NET_WM_WINDOW_TYPE_UTILITY indicates a small persistent utility window, such as
+a palette or toolbox. It is distinct from type TOOLBAR because it does not
+correspond to a toolbar torn off from the main application. It's distinct from
+type DIALOG because it isn't a transient dialog, the user will probably keep it
+open while they're working. Windows of this type may set the WM_TRANSIENT_FOR
+hint indicating the main application window.
+ </P
+><P
+>_NET_WM_WINDOW_TYPE_SPLASH indicates that the window is a splash screen
+displayed as an application is starting up.
+ </P
+><P
+>_NET_WM_WINDOW_TYPE_DIALOG indicates that this is a dialog window. If
+_NET_WM_WINDOW_TYPE is not set, then windows with WM_TRANSIENT_FOR set MUST
+be taken as this type.
+ </P
+><P
+>_NET_WM_WINDOW_TYPE_NORMAL indicates that this is a normal, top-level window.
+Windows with neither _NET_WM_WINDOW_TYPE nor WM_TRANSIENT_FOR are set MUST
+be taken as this type.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN267"
+>5.7. _NET_WM_STATE</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_STATE, ATOM[]</PRE
+><P
+>A list of hints describing the window state. Atoms present in the list MUST be
+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
+message to the root window (see below). The Window Manager MUST keep this
+property updated to reflect the current state of the window.
+ </P
+><P
+>The Window Manager should remove the property whenever
+a window is withdrawn, but it should leave the property in place when it is
+shutting down, e.g. in response to losing ownership of the WM_Sn manager
+selection.
+ </P
+><P
+>Rationale: Removing the property upon window withdrawal helps legacy
+applications which want to reuse withdrawn windows. Not removing the property
+upon shutdown allows the next Window Manager to restore windows to their
+previous state.
+ </P
+><P
+>Possible atoms are:
+ </P
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_STATE_MODAL, ATOM
+_NET_WM_STATE_STICKY, ATOM
+_NET_WM_STATE_MAXIMIZED_VERT, ATOM
+_NET_WM_STATE_MAXIMIZED_HORZ, ATOM
+_NET_WM_STATE_SHADED, ATOM
+_NET_WM_STATE_SKIP_TASKBAR, ATOM
+_NET_WM_STATE_SKIP_PAGER, ATOM
+_NET_WM_STATE_HIDDEN, ATOM
+_NET_WM_STATE_FULLSCREEN, ATOM
+_NET_WM_STATE_FLOATING, ATOM</PRE
+><P
+>An implementation MAY add new atoms to this list. Implementations
+without extensions MUST ignore any unknown atoms, effectively removing
+them from the list. These extension atoms MUST NOT start with the prefix
+_NET.
+ </P
+><P
+>_NET_WM_STATE_MODAL indicates that this is a modal dialog box. The
+WM_TRANSIENT_FOR hint MUST be set to indicate which window the dialog is a
+modal for, or set to the root window if the dialog is a modal for its window
+group.
+ </P
+><P
+>_NET_WM_STATE_STICKY indicates that the Window Manager SHOULD keep the
+window's position fixed on the screen, even when the virtual desktop scrolls.
+ </P
+><P
+>_NET_WM_STATE_MAXIMIZED_{VERT,HORZ} indicates that the window is
+{vertically,horizontally} maximised.
+ </P
+><P
+>_NET_WM_STATE_SHADED indicates that the window is shaded.
+ </P
+><P
+>_NET_WM_STATE_SKIP_TASKBAR indicates that the window should not be
+included on a taskbar. This hint should be requested by the
+application, i.e. it indicates that the window by nature is never
+in the taskbar. Applications should not set this hint if
+_NET_WM_WINDOW_TYPE already conveys the exact nature of the
+window.
+ </P
+><P
+>_NET_WM_STATE_SKIP_PAGER indicates that the window should not be
+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
+already conveys the exact nature of the window.
+ </P
+><P
+>_NET_WM_STATE_HIDDEN should be set by the window manager to indicate
+that a window would not be visible on the screen if its
+desktop/viewport were active and its coordinates were within the
+screen bounds. The canonical example is that minimized windows should
+be in the _NET_WM_STATE_HIDDEN state. Pagers and similar applications
+should use _NET_WM_STATE_HIDDEN instead of WM_STATE to decide whether
+to display a window in miniature representations of the windows on a
+desktop.
+<A
+NAME="AEN283"
+HREF="#FTN.AEN283"
+>[1]</A
+>
+ </P
+><P
+>_NET_WM_STATE_FULLSCREEN indicates that the window should fill the entire screen
+and have no window decorations. For example, a presentation program would use
+this hint.
+ </P
+><P
+>_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.
+ </P
+><P
+>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
+_NET_WM_STATE, format 32, l[0]=&lt;the action, as listed below&gt;,
+l[1]=&lt;First property to alter&gt;, l[2]=&lt;Second property to alter&gt;).
+This message allows two properties to be changed simultaneously, specifically
+to allow both horizontal and vertical maximisation to be altered together.
+l[2] MUST be set to zero if only one property is to be changed. l[0], the
+action, MUST be one of:
+ </P
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_STATE_REMOVE 0 /* remove/unset property */
+_NET_WM_STATE_ADD 1 /* add/set property */
+_NET_WM_STATE_TOGGLE 2 /* toggle property */</PRE
+><P
+> See also the implementation notes on <A
+HREF="x351.html#URGENCY"
+>urgency</A
+> and <A
+HREF="x351.html#NORESIZE"
+>fixed size windows</A
+>.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN292"
+>5.8. _NET_WM_ALLOWED_ACTIONS</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_ALLOWED_ACTIONS, ATOM[]</PRE
+><P
+>A list of atoms indicating user operations that the window manager supports for
+this window. Atoms present in the list indicate allowed actions, atoms not
+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
+decide which actions should be made available to the user.
+ </P
+><P
+>Possible atoms are:
+ </P
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_ACTION_MOVE, ATOM
+_NET_WM_ACTION_RESIZE, ATOM
+_NET_WM_ACTION_SHADE, ATOM
+_NET_WM_ACTION_STICK, ATOM
+_NET_WM_ACTION_MAXIMIZE_HORZ, ATOM
+_NET_WM_ACTION_MAXIMIZE_VERT, ATOM
+_NET_WM_ACTION_FULLSCREEN, ATOM
+_NET_WM_ACTION_CHANGE_DESKTOP, ATOM
+_NET_WM_ACTION_CLOSE, ATOM</PRE
+><P
+>An implementation MAY add new atoms to this list. Implementations
+without extensions MUST ignore any unknown atoms, effectively removing
+them from the list. These extension atoms MUST NOT start with the prefix
+_NET.
+ </P
+><P
+>Note that the actions listed here are those that the <SPAN
+CLASS="emphasis"
+><I
+CLASS="EMPHASIS"
+>Window
+Manager</I
+></SPAN
+> will honor for this window. The operations must still be
+requested through the normal mechanisms outlined in this specification. For
+example, _NET_WM_ACTION_CLOSE does not mean that clients can send a
+WM_DELETE_WINDOW message to this window; it means that clients can use a
+_NET_CLOSE_WINDOW message to ask the Window Manager to do so.
+ </P
+><P
+>Window Managers SHOULD ignore the value of _NET_WM_ALLOWED_ACTIONS when they
+initially manage a window. This value may be left over from a previous window
+manager with different policies.
+ </P
+><P
+>_NET_WM_ACTION_MOVE indicates that the window may be moved around the screen.
+ </P
+><P
+>_NET_WM_ACTION_RESIZE indicates that the window may be resized.
+(Implementation note: window managers can identify a non-resizable
+window because its minimum and maximum size in WM_NORMAL_HINTS will be the same.)
+ </P
+><P
+>_NET_WM_ACTION_SHADE indicates that the window may be shaded.
+ </P
+><P
+>_NET_WM_ACTION_STICK indicates that the window may have its sticky state
+toggled (as for _NET_WM_STATE_STICKY). Note that this state has to do with
+viewports, not desktops.
+ </P
+><P
+>_NET_WM_ACTION_MAXIMIZE_HORZ indicates that the window may be maximized horizontally.
+ </P
+><P
+>_NET_WM_ACTION_MAXIMIZE_VERT indicates that the window may be maximized vertically.
+ </P
+><P
+>_NET_WM_ACTION_FULLSCREEN indicates that the window may be brought to
+ fullscreen mode.
+ </P
+><P
+>_NET_WM_ACTION_CHANGE_DESKTOP indicates that the window may be moved between desktops.
+ </P
+><P
+>_NET_WM_ACTION_CLOSE indicates that the window may be closed (i.e. a WM_DELETE_WINDOW
+message may be sent).
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN311"
+>5.9. _NET_WM_STRUT</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_STRUT, left, right, top, bottom, CARDINAL[4]/32</PRE
+><P
+>This property MUST be set by the Client if the window is to reserve space at
+the edge of the screen. The property contains a 4 cardinals specifying the
+width of the reserved area at each border of the screen.
+The order of the borders is left, right, top, bottom.
+The client MAY change this property anytime, therefore the Window Manager MUST
+watch out for property notify events.
+ </P
+><P
+>The purpose of struts is to reserve space at the borders of the desktop. This
+is very useful for a docking area, a taskbar or a panel, for instance. The
+window manager should know about this reserved space in order to be able to
+preserve the space. Also maximized windows should not cover that reserved
+space.
+ </P
+><P
+>Rationale: A simple "do not cover" hint is not enough for dealing with e.g.
+auto-hide panels.
+ </P
+><P
+>Notes: An auto-hide panel SHOULD set the strut to be its minimum, hidden size.
+A "corner" panel that does not extend for the full length of a screen border
+SHOULD only set one strut.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN318"
+>5.10. _NET_WM_ICON_GEOMETRY</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_ICON_GEOMETRY, x, y, width, height, CARDINAL[4]/32</PRE
+><P
+>This optional property MAY be set by standalone tools like a taskbar or an
+iconbox. It specifies the geometry of a possible icon in case the window is iconified.
+ </P
+><P
+>Rationale: This makes it possible for a window manager to display a nice
+animation like morphing the window into its icon.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN323"
+>5.11. _NET_WM_ICON</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_ICON CARDINAL[][2+n]/32</PRE
+><P
+>This is an array of possible icons for the client. This specification does
+not stipulate what size these icons should be, but individual desktop
+environments or toolkits may do so. The Window Manager MAY scale any of these
+icons to an appropriate size.
+ </P
+><P
+>This is an array of 32bit packed CARDINAL ARGB with high byte being A, low
+byte being B. First two cardinals are width, height. Data is in rows, left to
+right and top to bottom.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN328"
+>5.12. _NET_WM_PID</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_PID CARDINAL/32</PRE
+><P
+>If set, this property MUST contain the process ID of the client owning this
+window. This MAY be used by the Window Manager to kill windows which do not
+respond to the _NET_WM_PING protocol.
+ </P
+><P
+>If _NET_WM_PID is set, the ICCCM-specified property WM_CLIENT_MACHINE
+MUST also be set. While the ICCCM only requests that WM_CLIENT_MACHINE is set
+<SPAN
+CLASS="QUOTE"
+>" to a string that forms the name of the machine running the client as
+seen from the machine running the server"</SPAN
+> conformance to this
+specification requires that WM_CLIENT_MACHINE be set to the fully-qualified domain
+name of the client's host.
+ </P
+><P
+>See also the implementation notes on <A
+HREF="x351.html#KILLINGWINDOWS"
+>killing hung processes</A
+>.
+ </P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN336"
+>5.13. _NET_WM_HANDLED_ICONS</A
+></H2
+><PRE
+CLASS="PROGRAMLISTING"
+>_NET_WM_HANDLED_ICONS</PRE
+><P
+>This property can be set by clients to indicate that the Window Manager need
+not provide icons for iconified windows, for example if the client is a taskbar
+and provides buttons for iconified windows.
+ </P
+></DIV
+></DIV
+><H3
+CLASS="FOOTNOTES"
+>Notes</H3
+><TABLE
+BORDER="0"
+CLASS="FOOTNOTES"
+WIDTH="100%"
+><TR
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="5%"
+><A
+NAME="FTN.AEN283"
+HREF="x225.html#AEN283"
+>[1]</A
+></TD
+><TD
+ALIGN="LEFT"
+VALIGN="TOP"
+WIDTH="95%"
+><P
+>Implementation note: if an application asks to toggle
+_NET_WM_STATE_HIDDEN the window manager should probably just ignore
+the request, since _NET_WM_STATE_HIDDEN is a function of some other
+aspect of the window such as minimization, rather than an independent
+state.</P
+></TD
+></TR
+></TABLE
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="x208.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="x340.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Other Root Window Messages</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+>&nbsp;</TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>Window Manager Protocols</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file