summaryrefslogtreecommitdiff
path: root/COMPLIANCE
diff options
context:
space:
mode:
authorRob Adams <readams@readams.net>2003-11-17 00:06:58 +0000
committerRob Adams <readams@src.gnome.org>2003-11-17 00:06:58 +0000
commit9378a4fb4daac324abe01f0065c07c3ce3ce6812 (patch)
tree1e705011ff56ea55a326f0a125d20b3e1a857f30 /COMPLIANCE
parent67c36f09176d1282d6a197a163ce9fcd8eb59eb7 (diff)
downloadmetacity-9378a4fb4daac324abe01f0065c07c3ce3ce6812.tar.gz
metacity-9378a4fb4daac324abe01f0065c07c3ce3ce6812.tar.bz2
Create COMPLIANCE document describing metacity specification compliance.
2003-11-16 Rob Adams <readams@readams.net> Create COMPLIANCE document describing metacity specification compliance. Right now gives detailed EWMH compliance; still need to add ICCCM compliance information. Also some minor fixes to bring metacity into compliance on some points. * COMPLIANCE: new file * src/display.h, src/display.c (meta_display_open), src/screen.c (set_supported_hint): add atom_net_wm_action_fullscreen and atom_net_wm_action_minimize * src/window.c (set_allowed_actions_hint): some fixes to which hints to set and add fullscreen and minimize.
Diffstat (limited to 'COMPLIANCE')
-rw-r--r--COMPLIANCE149
1 files changed, 149 insertions, 0 deletions
diff --git a/COMPLIANCE b/COMPLIANCE
new file mode 100644
index 0000000..11ebcda
--- /dev/null
+++ b/COMPLIANCE
@@ -0,0 +1,149 @@
+Metacity Standards Compliance
+=============================
+$Id$
+
+1) Introduction
+2) EWMH Compliance
+ a. Root Window Properties
+ b. Root Window Messages
+ c. Application Window Properties
+ d. Window Manager Protocols
+3) ICCCM Compliance
+
+1) Introduction
+---------------
+
+This document details metacity compliance with the relevent standards.
+The format of this document is as follows:
+
+[-/+*?] Hint Name/Feature Name (Version number)
+ Errata/Comments
+
+The first character indicates the level of compliance as follows:
+ - none
+ / partial
+ + complete
+ ? unknown
+
+The title indicates a feature or a hint in the specification, and the
+version number indicates the minimum version of the specification
+supported by metacity. Later versions may be supported if no
+incompatible changes have been made in the specification.
+
+2) EWMH Compliance
+------------------
+
+The EWMH, or Extended Window Manager Hints is a freedesktop.org-
+developed standard to support a number of conventions for
+communication between the window manager and clients. It builds on
+and extends the ICCCM (See Section 2). A copy of the current EWMH
+standard is available at http://freedesktop.org/Standards/wm-spec/
+
+ a. Root Window Properties
+ -------------------------
+
++ _NET_SUPPORTED (1.3)
+
++ _NET_CLIENT_LIST (1.3)
+
++ _NET_NUMBER_OF_DESKTOPS (1.3)
+
+- _NET_DESKTOP_GEOMETRY (-)
+ Metacity does not implement large desktops. Regardless, according
+ to the specification, metacity SHOULD set this property to the
+ screen size, and update it if the screen size changes because of a
+ RandR change.
+
+- _NET_DESKTOP_VIEWPORT (-)
+ Metacity does not implement viewports. However, according to the
+ specification, metacity MUST set this property to (0,0)
+
++ _NET_CURRENT_DESKTOP (1.3)
+
++ _NET_DESKTOP_NAMES (1.3)
+
++ _NET_ACTIVE_WINDOW (1.3)
+
++ _NET_WORKAREA (1.3)
+
++ _NET_SUPPORTING_WM_CHECK (1.3)
+
++ _NET_VIRTUAL_ROOTS (1.3)
+ Metacity does not read or set this property, but it does not use
+ virtual roots to implement virtual desktops, so it complies with the
+ specification.
+
++ _NET_DESKTOP_LAYOUT (1.3)
+
++ _NET_SHOWING_DESKTOP (1.3)
+
+ b. Root Window Messages
+ -----------------------
+
++ _NET_CLOSE_WINDOW (1.3)
+
+- _NET_MOVERESIZE_WINDOW (-)
+ Metacity does not support this message. The specification states
+ that metacity should treat this message like a ConfigureRequest.
+ Not hard to implement; just hasn't been done.
+
++ _NET_WM_MOVERESIZE (1.3)
+
+ c. Application Window Properties
+ --------------------------------
+
++ _NET_WM_NAME (1.3)
+
++ _NET_WM_VISIBLE_NAME (1.3)
+ Metacity does not set this property, but metacity will never display
+ a name different from _NET_WM_NAME
+
++ _NET_WM_ICON_NAME (1.3)
+
++ _NET_WM_VISIBLE_ICON_NAME (1.3)
+ Metacity does not set this property, but metacity will never display
+ a name different from _NET_WM_NAME
+
++ _NET_WM_DESKTOP (1.3)
+
++ _NET_WM_WINDOW_TYPE (1.3)
+
+/ _NET_WM_STATE (1.3)
+ Metacity does not recognize separate vertical and horizontal
+ maximization states. Currently metacity will do a two-dimensional
+ maximization if either property is set.
+ See: http://bugzilla.gnome.org/show_bug.cgi?id=113601
+ Metacity doesn't implement viewports so _NET_WM_STATE_STICKY is
+ unimplemented.
+
++ _NET_WM_ALLOWED_ACTIONS (1.3)
+ Metacity keeps this hint up to date. The code is somewhat crufty
+ and should be rewritten, though it is functional.
+ See: http://bugzilla.gnome.org/show_bug.cgi?id=90420
+
++ _NET_WM_STRUT (1.3)
+
++ _NET_WM_STRUT_PARTIAL (1.3)
+
++ _NET_WM_ICON_GEOMETRY (1.3)
+ Metacity uses this property to draw minimize/restore animations
+
++ _NET_WM_ICON (1.3)
+
++ _NET_WM_PID (1.3)
+
++ _NET_WM_HANDLED_ICONS (1.3)
+ Metacity does not read or set this property. However, metacity
+ never managed iconified windows, and so has no need to do so.
+
+- _NET_WM_USER_TIME (-)
+ Metacity does not read or set this property. The EWMH does not
+ require it to do so, but it should support it.
+
+ d. Window Manager Protocols
+ ---------------------------
++ _NET_WM_PING (1.3)
+
+3) ICCCM Compliance
+-------------------
+TODO \ No newline at end of file