diff options
Diffstat (limited to 'src/Ewmh.cc')
-rw-r--r-- | src/Ewmh.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 8fede5e..afab938 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc | |||
@@ -382,8 +382,17 @@ void Ewmh::updateFocusedWindow(BScreen &screen, Window win) { | |||
382 | (unsigned char *)&win, 1); | 382 | (unsigned char *)&win, 1); |
383 | } | 383 | } |
384 | 384 | ||
385 | // EWMH says, regarding _NET_WM_STATE and _NET_WM_DESKTOP | ||
386 | // The Window Manager should remove the property whenever a window is withdrawn | ||
387 | // but it should leave the property in place when it is shutting down | ||
385 | void Ewmh::updateClientClose(WinClient &winclient){ | 388 | void Ewmh::updateClientClose(WinClient &winclient){ |
386 | updateClientList(winclient.screen()); | 389 | updateClientList(winclient.screen()); |
390 | if (!winclient.screen().isShuttingdown()) { | ||
391 | XDeleteProperty(FbTk::App::instance()->display(), winclient.window(), | ||
392 | m_net_wm_state); | ||
393 | XDeleteProperty(FbTk::App::instance()->display(), winclient.window(), | ||
394 | m_net_wm_desktop); | ||
395 | } | ||
387 | } | 396 | } |
388 | 397 | ||
389 | void Ewmh::updateClientList(BScreen &screen) { | 398 | void Ewmh::updateClientList(BScreen &screen) { |