a little fix for auto-grouping after restart
markt markt
3 files changed,
7 insertions(+),
7 deletions(-)
M
src/Remember.cc
→
src/Remember.cc
@@ -965,7 +965,8 @@
// first, set the options that aren't preserved as window properties on // restart, then return if fluxbox is starting up -- we want restart to // disturb the current window state as little as possible - if (app->is_grouped && app->group == 0) + Window leftwin = winclient.getGroupLeftWindow(); + if (app->is_grouped && app->group == 0 && leftwin == None) app->group = &win; if (app->focushiddenstate_remember)
M
src/Screen.cc
→
src/Screen.cc
@@ -2073,11 +2073,9 @@ // yay, this'll do.
WinClient *other = it->second; m_expecting_groups.erase(it); // don't expect it anymore - // forget about it if it isn't the left-most client in the group, plus - // it must have the atom set on it (i.e. previously encountered by fluxbox) - // for us to check our expecting - if (!winclient.hasGroupLeftWindow() || - other->getGroupLeftWindow() != None) + // forget about it if it isn't the left-most client in the group + Window leftwin = other->getGroupLeftWindow(); + if (leftwin != None && leftwin != winclient.window()) return 0; return other;
M
src/Window.cc
→
src/Window.cc
@@ -386,7 +386,8 @@ m_old_pos_x = 0;
assert(m_client); m_client->setFluxboxWindow(this); - m_client->setGroupLeftWindow(None); // nothing to the left. + if (!m_client->hasGroupLeftWindow()) + m_client->setGroupLeftWindow(None); // nothing to the left. // check for shape extension and whether the window is shaped m_shaped = false;