diff options
author | Gary Wong <gtw@gnu.org> | 2009-09-06 20:50:30 -0600 |
---|---|---|
committer | Gary Wong <gtw@gnu.org> | 2009-09-06 20:50:30 -0600 |
commit | e17bff21252f44383198037a68c902d708a83569 (patch) | |
tree | 1dbb68ce8936604508ca82de1a7fe9bccff2d6e3 | |
parent | af2604695a882e308eb454900dd8b6115d3a3be3 (diff) |
Remove EWMH root properties when shutting down.
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | gwm.c | 20 |
2 files changed, 19 insertions, 2 deletions
@@ -2,6 +2,7 @@ * gwm.c (setup_display): Add various EWMH properties to the root and fake windows. + (shutdown_display): Remove EWMH root properties. 2009-09-06 Gary Wong <gtw@gnu.org> @@ -2007,7 +2007,7 @@ static void setup_display( void ) { values[ 1 ] = atoms[ ATOM__NET_WM_NAME ]; xcb_change_property( c, XCB_PROP_MODE_REPLACE, screens[ i ]->root, atoms[ ATOM__NET_SUPPORTED ], CARDINAL, 32, - w, values ); + 2, values ); values[ 0 ] = fake_window->w; xcb_change_property( c, XCB_PROP_MODE_REPLACE, screens[ i ]->root, @@ -2386,10 +2386,26 @@ static void shutdown_display( void ) { XCB_CURRENT_TIME ); n = 0; - for( i = 0; i < num_screens; i++ ) + for( i = 0; i < num_screens; i++ ) { xcb_change_window_attributes( c, screens[ i ]->root, XCB_CW_EVENT_MASK, &n ); + xcb_delete_property( c, screens[ i ]->root, + atoms[ ATOM__NET_CURRENT_DESKTOP ] ); + xcb_delete_property( c, screens[ i ]->root, + atoms[ ATOM__NET_DESKTOP_GEOMETRY ] ); + xcb_delete_property( c, screens[ i ]->root, + atoms[ ATOM__NET_DESKTOP_VIEWPORT ] ); + xcb_delete_property( c, screens[ i ]->root, + atoms[ ATOM__NET_NUMBER_OF_DESKTOPS ] ); + xcb_delete_property( c, screens[ i ]->root, + atoms[ ATOM__NET_SUPPORTED ] ); + xcb_delete_property( c, screens[ i ]->root, + atoms[ ATOM__NET_SUPPORTING_WM_CHECK ] ); + xcb_delete_property( c, screens[ i ]->root, + atoms[ ATOM__NET_WORKAREA ] ); + } + #if USE_RENDER if( have_extension[ EXT_RENDER ] ) decorate_render_done(); |