COMPLIANCE 3.98 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
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:

Rob Adams's avatar
Rob Adams committed
19 20
[-/+?] Hint Name/Feature Name (Version number)
       Errata/Comments
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

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
Rob Adams's avatar
Rob Adams committed
39
and extends the ICCCM (See Section 3).  A copy of the current EWMH
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
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