|author||Rob Adams <email@example.com>||2004-07-31 19:56:10 +0000|
|committer||Rob Adams <firstname.lastname@example.org>||2004-07-31 19:56:10 +0000|
Fix some support for EWMH hints, and fix USER_TIME support to include the
2004-07-31 Rob Adams <email@example.com> 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
@@ -48,15 +48,12 @@ standard is available at http://freedesktop.org/Standards/wm-spec/
+ _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_GEOMETRY (1.3)
+ Metacity does not implement large desktops, so this is kept set to
+ the screen size.
-- _NET_DESKTOP_VIEWPORT (-)
- Metacity does not implement viewports. However, according to the
- specification, metacity MUST set this property to (0,0)
++ _NET_DESKTOP_VIEWPORT (1.3)
+ Metacity does not implement viewports, so this is a constant (0,0).
+ _NET_CURRENT_DESKTOP (1.3)
@@ -82,15 +79,16 @@ standard is available at http://freedesktop.org/Standards/wm-spec/
+ _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_MOVERESIZE_WINDOW (1.3)
+ 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
+ _NET_WM_MOVERESIZE (1.3)
-- _NET_RESTACK_WINDOW (-)
- Metacity does not currently support this message.
+- _NET_RESTACK_WINDOW (1.3)
+ 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.
+ _NET_REQUEST_FRAME_EXTENTS (1.3)
@@ -114,14 +112,14 @@ standard is available at http://freedesktop.org/Standards/wm-spec/
+ _NET_WM_WINDOW_TYPE (1.3)
/ _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.
+ _NET_WM_ALLOWED_ACTIONS (1.3)
Metacity keeps this hint up to date. The code is somewhat crufty
@@ -141,7 +139,7 @@ standard is available at http://freedesktop.org/Standards/wm-spec/
+ _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.
+ never manages iconified windows, and so has no need to do so.
+ _NET_WM_USER_TIME (1.3)
Metacity uses this property to prevent applications from stealing