From f9c5bfec0762d831ad8f9bf8f7940b64792909b0 Mon Sep 17 00:00:00 2001 From: markt Date: Sun, 3 Jun 2007 20:12:20 +0000 Subject: fixes bug with rox panel flickering with mousefocus --- ChangeLog | 4 ++++ src/Ewmh.cc | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 330e3f2..3e459b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ (Format: Year/Month/Day) Changes for 1.0.0: +*07/06/03: + * Only change layer to normal when removing _NET_WM_STATE_{ABOVE,BELOW} if + the window is actually above/below the normal layer (thanks Jim Ramsay) + Ewmh.cc *07/06/01: * Fixed infinite loop caused by removing the last workspace when it contains windows (Mark) diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 147b7d3..fc4e3e1 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc @@ -1058,13 +1058,12 @@ void Ewmh::setState(FluxboxWindow &win, Atom state, bool value) { } else if (state == m_net_wm_state_below) { // bottom layer if (value) win.moveToLayer(Layer::BOTTOM); - else + else if (win.layerNum() > Layer::NORMAL) win.moveToLayer(Layer::NORMAL); - } else if (state == m_net_wm_state_above) { // above layer if (value) win.moveToLayer(Layer::ABOVE_DOCK); - else + else if (win.layerNum() < Layer::NORMAL) win.moveToLayer(Layer::NORMAL); } else if (state == m_net_wm_state_demands_attention) { if (value) { // if add attention -- cgit v0.11.2