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 afa138c..be4e81a 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc | |||
@@ -369,8 +369,17 @@ void Ewmh::updateFocusedWindow(BScreen &screen, Window win) { | |||
369 | (unsigned char *)&win, 1); | 369 | (unsigned char *)&win, 1); |
370 | } | 370 | } |
371 | 371 | ||
372 | // EWMH says, regarding _NET_WM_STATE and _NET_WM_DESKTOP | ||
373 | // The Window Manager should remove the property whenever a window is withdrawn | ||
374 | // but it should leave the property in place when it is shutting down | ||
372 | void Ewmh::updateClientClose(WinClient &winclient){ | 375 | void Ewmh::updateClientClose(WinClient &winclient){ |
373 | updateClientList(winclient.screen()); | 376 | updateClientList(winclient.screen()); |
377 | if (!winclient.screen().isShuttingdown()) { | ||
378 | XDeleteProperty(FbTk::App::instance()->display(), winclient.window(), | ||
379 | m_net_wm_state); | ||
380 | XDeleteProperty(FbTk::App::instance()->display(), winclient.window(), | ||
381 | m_net_wm_desktop); | ||
382 | } | ||
374 | } | 383 | } |
375 | 384 | ||
376 | void Ewmh::updateClientList(BScreen &screen) { | 385 | void Ewmh::updateClientList(BScreen &screen) { |