Added source indication to _NET_CLOSE_WINDOW, _NET_WM_MOVERESIZE, _NET_MOVERESIZE_WINDOW, _NET_WM_DESKTOP and _NET_WM_STATE message.
Added _NET_WM_SYNC_REQUEST to allow synchronized repaint of application window and window manager frame during opaque resize.
Added _NET_REQUEST_FRAME_EXTENTS and _NET_FRAME_EXTENTS to allow a client to retrieve its window's frame extents.
Added new state _NET_WM_STATE_DEMANDS_ATTENTION.
Added timestamp, source indication and requestor's active window fields to the _NET_ACTIVE_WINDOW message.
Added _NET_RESTACK_WINDOW message.
Added new property _NET_WM_STRUT_PARTIAL to allow partial-width struts.
Rewrote the implementation notes on "Window Movement", retitled it to "Window Geometry".
Rewrote the implementation notes on "Urgency", making it clear that the hint is not just about dialogs.
Fixed the specification of the X and Y members of _NET_DESKTOP_LAYOUT and renamed them to columns and row for clarity.
Change the description of _NET_WM_STATE_MODAL to no longer require apps to break the ICCCM for group-modal windows, but still support the WM_TRANSIENT_FOR=root dialect.
Specified that (yet) unused fields in client messages must be set to 0.
_NET_WM_PING message now has the client window identified in data.l[2] field.
Added _NET_WM_USER_TIME to detect user activity in windows.
Explicitly specify that the window manager should restore original geometry when _NET_WM_STATE_FULLSCREEN is reset.
Changed WM_CLIENT_NAME(STRING) from suggested to required for _NET_WM_PID.
Specification and sample code for the content of WM_CLIENT_NAME(STRING).
Added _NET_WM_WINDOW_TYPE_SPLASH, _NET_WM_WINDOW_TYPE_UTILITY.
Added _NET_WM_STATE_FULLSCREEN.
Added _NET_WM_ALLOWED_ACTIONS.
Added _NET_WM_STATE_HIDDEN and clarified purpose of _NET_WM_STATE_SKIP_PAGER and _NET_WM_STATE_SKIP_TASKBAR. Changed section on virtual desktop implementation to suggest ICCCM compliance regarding IconicState, using _NET_WM_STATE_HIDDEN to avoid confusion. Added implementation note for pagers on when to display a window.
Added button field and new directions for keyboard-initiated actions to the _NET_WM_MOVERESIZE message.
Added advice on removing _NET_WM_STATE and _NET_WM_DESKTOP when a window is withdrawn.
Added _NET_DESKTOP_LAYOUT to allow a Pager to specify inter-desktop geometry.
Added _NET_SHOWING_DESKTOP.
Added _NET_WM_STATE_ABOVE and _NET_WM_STATE_BELOW and a recommended layered stacking order.
Added _NET_MOVERESIZE_WINDOW.
Improve markup of citations.
Explain _NET_DESKTOP_GEOMETRY and _NET_WM_HANDLED_ICONS in more detail and improve the explanation of WM_CLIENT_MACHINE in Section 7.9, “Killing Hung Processes”.
Add Lubos Lunak to the list of contributors.
Fix doctype, add author info, update data.
Change specification description wording to be more inclusive, and to reflect the joint nature of the specification.
Fix miscellaneous typographical, grammar and spelling errors.
Clarified _NET_SUPPORTED to include ALL atoms, not just the property names.
Various corrections to use of MUST and SHOULD.
Fix problem in _NET_WM_ICON where 'bytes' should have been 'cardinals'
Replaced ISO-8559-1 characters with entities.
Change history moved to end.
UTF-8 Reference updated.
Window Gravity information updated.
Copyright Added.
Minor typo corrections.
Clarified the interpretation of client-provided geometries on large desktops.
Added more explanation for _NET_DESKTOP_NAMES.
Added _NET_WM_ICON_NAME and _NET_WM_VISIBLE_ICON_NAME.
Tried to improve the wording of _NET_WM_STRUT explanation.
Changed _NET_WORKAREA to an array of viewport-relative geometries.
Updated list of “dependent” properties for _NET_NUMBER_OF_DESKTOPS to include _NET_WORKAREA and _NET_DESKTOP_VIEWPORT.
Tidied formatting of all client messages.
Added information about common non-ICCCM features.
Added explanation of sending messages to the root window.
Removed XA_ prefix from type names.
Clarified that “mapping order” refers to inital mapping and specify the directions of both orders.
Clarified that desktops have a common size specified by _NET_DESKTOP_GEOMETRY.
Rewrote explanation of _NET_DESKTOP_VIEWPORT.
Tidied formatting of _NET_CURRENT_DESKTOP.
Replaced “window handle” by “window ID”.
Tidied formatting of _NET_WORKAREA.
Rewrote the motivation for _NET_VIRTUAL_ROOTS.
Added advice on Pointer grabs to _NET_WM_MOVERESIZE.
Fixed typos in _NET_WM_STATE.
Added _NET_WM_STATE_SKIP_PAGER.
Tidied formatting of _NET_WM_STRUT.
Tidied formatting of _NET_WM_ICON_GEOMETRY.
_NET_SET_NUMBER_OF_DESKTOPS -> _NET_NUMBER_OF_DESKTOPS for consistency.
_NET_WM_VISIBLE_NAME_STRING -> _NET_WM_VISIBLE_NAME for consistency.
_NET_WM_STATE: added explanation of permitted extensions. Added explanation of being set / not set.
Spellchecked, corrected various typos.
UTF8 -> UTF-8 for consistency.
added references to the ICCCM an UTF-8 (incomplete).
added data and event formats where missing.
clarified _NET_SUPPORTING_WM_CHECK.
fixed formatting of _NET_CLOSE_WINDOW message.
Removed implementation note concerning Gnome's (potential) file manager behavior.
The Window Movement section of the implementation notes has been revised.
Revised revision number for first accepted release 1.9XX -> 1.0preXX.
Prerequisites for adoption of this specification added.
Tidied formatting of _NET_CURRENT_DESKTOP for consistency.
Tidied formatting of _NET_ACTIVE_WINDOW for consistency. Removed doubled text.
Tidied formatting of _NET_WM_DESKTOP for consistency.
Killing Hung Processes implementation note added. _NET_WM_PID and _NET_WM_PING now link to this.
Clarified x_root and y_root meaning for _NET_WM_MOVERESIZE.
Added contributor list.
Added _NET_WM_VISIBLE_NAME_STRING
Removed ambiguity from _NET_NUMBER_OF_DESKTOPS and _NET_DESKTOP_NAMES in combination.
Set _NET_WM_MOVERESIZE format to 32 for consistency.
Removed _NET_PROPERTIES.
Removed comment from _NET_WM_MOVERESIZE.
Added _NET_VIRTUAL_ROOTS
Added note about ICCCM compliant window moves.
Added _NET_WM_HANDLED_ICONS
Added _NET_SUPPORTING_WM_CHECK
Removed degrees of activation
Removed packaging of hints into 2 X properties. Jim Gettys points out that the performance gains of fewer round trips can be better achieved using Xlib routines.
Clarified that _NET_DESKTOP_VIEWPORT is in pixels
_NET_DESKTOP_VIEWPORT is now an array, one for each desktop, to allow for different active viewports on different desktops
_NET_WM_STRUT now only applies on desktops on which the client is visible
Introduced RFC 2119 language, and attempted to clarify the roles of the Window Manager, Pagers and Applications
Added _NET_WM_NAME
_NET_DESKTOP_NAMES now in UTF8
Desktops now start from 0
Added _NET_WM_PID
Added _NET_WM_PING protocol
Added _NET_WM_STATE_SKIP_TASKBAR
Removed _NET_NUMBER_OF_DESKTOPS client message, as it overlaps unnecessarily with _NET_{INSERT/DELETE}_DESKTOP.
Replaced _NET_WM_LAYER and _NET_WM_HINTS with _NET_WM_WINDOW_TYPE functional hint.
Changed _NET_WM_STATE to a list of atoms, for extensibility.
Expanded description of _NET_WORKAREA and _NET_WM_STRUT.
Removed _NET_WM_SIZEMOVE_NOTIFY protocol.
Added degrees of activation to _NET_ACTIVE_WINDOW client message
Added _NET_WM_ICON
My comments are in [[ ]]. Comments from Marko's draft are in [[MM: ]]