path: root/COMPLIANCE
diff options
authorRob Adams <>2004-07-31 19:56:10 +0000
committerRob Adams <>2004-07-31 19:56:10 +0000
commite60da6c006094db82fe146182afdc1b3d6a633f8 (patch)
tree91877e957d96e9e91a89c92ced16fa8e4bfe879e /COMPLIANCE
parentc2bbd8b66cb55f7462b6f1ffee0ec892794bd337 (diff)
Fix some support for EWMH hints, and fix USER_TIME support to include the
2004-07-31 Rob Adams <> Fix some support for EWMH hints, and fix USER_TIME support to include the DEMANDS_ATTENTION hint. Also includes some code for implementing _NET_RESTACK_WINDOW and _NET_MOVERESIZE_WINDOW, but this is disabled pending feature thaw. * COMPLIANCE: update with new information * src/display.c (meta_display_open): add new hints to list * src/display.h (_MetaDisplay): Add new atoms to struct * src/screen.c (set_supported_hint): update the list of support hints. (set_desktop_viewport_hint): new function sets the viewport hint to (0,0) as required by the spec for WMs with no viewport support. (set_desktop_geometry_hint): new function to set the desktop size hint to the size of the display, since we don't implement large desktop support, as required by the spec. (meta_screen_resize): update the geometry hint on screen resize * src/window.c (meta_window_new_with_attrs): Initialize demands_attention state (set_net_wm_state): Set demands_attention hint in the window state (meta_window_show): If we don't pop up a window because of USER_TIME, set DEMANDS_ATTENTION on the window. (meta_window_focus): When a window receives focus, remove DEMANDS_ATTENTION hint (meta_window_client_message): Allow other apps to set DEMANDS_ATTENTION on a window. Also, if the _NET_ACTIVE_WINDOW hint includes a timestamp, use it. (update_net_wm_state): Read DEMANDS_ATTENTION state also * src/window.h (_MetaWindow): add wm_state_demands_attention bit.
Diffstat (limited to 'COMPLIANCE')
1 files changed, 15 insertions, 17 deletions
index c0e8dce..b45a672 100644
@@ -48,15 +48,12 @@ standard is available at
- 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.
+ Metacity does not implement large desktops, so this is kept set to
+ the screen size.
- Metacity does not implement viewports. However, according to the
- specification, metacity MUST set this property to (0,0)
+ Metacity does not implement viewports, so this is a constant (0,0).
@@ -82,15 +79,16 @@ standard is available at
- 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.
+ Metacity supports this message, but the specification is unclear on
+ the layout of the detail value, and as such it is #if 0'd in the code
- Metacity does not currently support this message.
+ Metacity will raise or lower windows in response to this message,
+ but the sibling restack modes are not supported, and it is currently
+ #if 0'd in the code.
@@ -114,14 +112,14 @@ standard is available at
/ _NET_WM_STATE (1.3)
+ This property is read and updated according to the specification,
+ but see caveat below.
Metacity does not recognize separate vertical and horizontal
maximization states. Currently metacity will do a two-dimensional
maximization if either property is set.
Metacity doesn't implement viewports so _NET_WM_STATE_STICKY is
- _NET_WM_STATE_DEMANDS_ATTENTION is neither read nor updated by
- metacity. Metacity should unset it on window activation.
Metacity keeps this hint up to date. The code is somewhat crufty
@@ -141,7 +139,7 @@ standard is available at
Metacity does not read or set this property. However, metacity
- never managed iconified windows, and so has no need to do so.
+ never manages iconified windows, and so has no need to do so.
Metacity uses this property to prevent applications from stealing