diff --git a/client.cpp b/client.cpp index 7b2f029be7..152095b752 100644 --- a/client.cpp +++ b/client.cpp @@ -1070,6 +1070,11 @@ void Client::setShade(ShadeMode mode) ShadeMode was_shade_mode = shade_mode; shade_mode = mode; + // Decorations may turn off some borders when shaded + // this has to happen _before_ the tab alignment since it will restrict the minimum geometry + if (decoration) + decoration->borders(border_left, border_right, border_top, border_bottom); + // Update states of all other windows in this group if (tabGroup()) tabGroup()->updateStates(this, TabGroup::Shaded); @@ -1090,9 +1095,6 @@ void Client::setShade(ShadeMode mode) assert(decoration != NULL); // noborder windows can't be shaded GeometryUpdatesBlocker blocker(this); - // Decorations may turn off some borders when shaded - if (decoration) - decoration->borders(border_left, border_right, border_top, border_bottom); // TODO: All this unmapping, resizing etc. feels too much duplicated from elsewhere if (isShade()) {