diff --git a/wm-spec/wm-spec.xml b/wm-spec/wm-spec.xml
index 0859dc691fb0a6879b6ecbf5a4bbb0ea114ee33e..5c0ea6e7ca58dd9e098be5860a8007eb0597578e 100644
--- a/wm-spec/wm-spec.xml
+++ b/wm-spec/wm-spec.xml
@@ -479,8 +479,7 @@ _NET_WM_STATE_DEMANDS_ATTENTION).
_NET_WORKAREA
-
+]]>
This property MUST be set by the Window Manager upon calculating the work area for
each desktop. Contains a geometry for each desktop. These geometries are
@@ -491,8 +490,34 @@ completely contained within the viewport.
The Window Manager SHOULD calculate this space by taking the current
page minus space occupied by dock and panel windows, as indicated by
-the _NET_WM_STRUT or _NET_WM_STRUT_PARTIAL properties set on
+the _NET_WM_STRUT, _NET_WM_STRUT_PARTIAL or _NET_WM_STRUT_AREA properties set on
+client windows.
+
+
+The Window Manager MUST ignore _NET_WM_STRUT_AREA
+struts if they are at edges between two monitors.
+
+
+
+ _NET_WORKAREAS_Dn
+
+
+The Window Manager MAY set _NET_WORKAREAS_Dn property to a
+list of 4-tuples [x, y, width, height], each representing a rectangle with
+monitor work area for nth desktop. Window manager supporting
+this property MUST add _NET_WORKAREAS hint in _NET_SUPPORTED and clients MUST
+check if _NET_WORKAREAS hint is in _NET_SUPPORTED before using this property.
+
+
+The Window Manager SHOULD calculate this space by taking the current
+page minus space occupied by dock and panel windows, as indicated by
+the _NET_WM_STRUT, _NET_WM_STRUT_PARTIAL or _NET_WM_STRUT_AREA properties set on
client windows.
@@ -1419,6 +1444,26 @@ A "corner" panel that does not extend for the full length of a screen border
SHOULD only set one strut.
+_NET_WM_STRUT_AREA
+
+
+This property MAY be set by the Client if the window is to reserve space at the edge of the monitor. The property contains 4 cardinals specifying the area of the reserved space. All coordinates are root window coordinates. The client MAY change this property at any time, therefore the Window Manager MUST watch for property notify events if the Window Manager uses this property to assign special semantics to the window.
+
+
+The Window Manager MUST ignore _NET_WM_STRUT_PARTIAL and _NET_WM_STRUT if this property is set. This will ensure that Clients can safely set all _NET_WM_STRUT properties.
+
+
+The purpose of struts is to reserve space at the borders of the monitors. This is very useful for a docking area, a taskbar or a panel, for instance. The Window Manager should take this reserved area into account when constraining window positions - maximized windows, for example, should not cover that area.
+
+
+Struts MUST be specified in root window coordinates, that is, they are not relative to the edges of any view port or Xinerama monitor. The Client MUST ensure that one of the largest edge of area is positioned at monitor edge and Window Manager MUST ignore this strut if Client fails to do that!
+
+
+The Window Manager MUST ignore struts that are at edges between two monitors when calculating _NET_WORKAREA.
+
+_NET_WM_ICON_GEOMETRY
Added _NET_WM_OPAQUE_REGION
+
+Added _NET_WORKAREAS_Dn
+
+
+Added _NET_WM_STRUT_AREA
+