diff --git a/ChangeLog b/ChangeLog index 13b6062a..2c13015d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,9 @@ (Format: Year/Month/Day) Changes for 0.9.15: *06/03/07: - * Bugfix for stuck icons (Thanks _markt) + * Bugfix for _net_wm_state_hidden (Thanks Mark) + Ewmh.cc + * Bugfix for stuck icons (Thanks Mark Tiefenbruck, mark at tiefenbruck dot org) IconbarTool.cc *06/03/05: * Update da_DK (danish) translation. diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 911c9190..fc762e77 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc @@ -885,6 +885,11 @@ void Ewmh::setState(FluxboxWindow &win, Atom state, bool value) { if ((value && !win.isFullscreen()) || (!value && win.isFullscreen())) setFullscreen(win, value); + } else if (state == m_net_wm_state_hidden) { // minimized + if (value && !win.isIconic()) + win.iconify(); + else if (!value && win.isIconic()) + win.deiconify(); } else if (state == m_net_wm_state_skip_taskbar) { win.setIconHidden(value); } else if (state == m_net_wm_state_below) { // bottom layer @@ -913,6 +918,11 @@ void Ewmh::toggleState(FluxboxWindow &win, Atom state) { win.maximizeVertical(); } else if (state == m_net_wm_state_fullscreen) { // fullscreen setFullscreen(win, getState(win) == 0); // toggle current state + } else if (state == m_net_wm_state_hidden) { // minimized + if(win.isIconic()) + win.deiconify(); + else + win.iconify(); } else if (state == m_net_wm_state_skip_taskbar) { win.setIconHidden(!win.isIconHidden()); } else if (state == m_net_wm_state_below) { // bottom layer