aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkt <markt>2006-08-05 05:21:15 (GMT)
committermarkt <markt>2006-08-05 05:21:15 (GMT)
commit721c02204a5f00e7f1c59983df0b1549fe1e971b (patch)
tree52ceaccfc5e759a4363439307516c86bbb22fdca
parentc65b949f97ea1eecd01fad961a42f2bd3be1ed0b (diff)
downloadfluxbox-721c02204a5f00e7f1c59983df0b1549fe1e971b.zip
fluxbox-721c02204a5f00e7f1c59983df0b1549fe1e971b.tar.bz2
a little fix for auto-grouping after restart
-rw-r--r--src/Remember.cc3
-rw-r--r--src/Screen.cc8
-rw-r--r--src/Window.cc3
3 files changed, 7 insertions, 7 deletions
diff --git a/src/Remember.cc b/src/Remember.cc
index 29336e3..9569b80 100644
--- a/src/Remember.cc
+++ b/src/Remember.cc
@@ -965,7 +965,8 @@ void Remember::setupFrame(FluxboxWindow &win) {
965 // first, set the options that aren't preserved as window properties on 965 // first, set the options that aren't preserved as window properties on
966 // restart, then return if fluxbox is starting up -- we want restart to 966 // restart, then return if fluxbox is starting up -- we want restart to
967 // disturb the current window state as little as possible 967 // disturb the current window state as little as possible
968 if (app->is_grouped && app->group == 0) 968 Window leftwin = winclient.getGroupLeftWindow();
969 if (app->is_grouped && app->group == 0 && leftwin == None)
969 app->group = &win; 970 app->group = &win;
970 971
971 if (app->focushiddenstate_remember) 972 if (app->focushiddenstate_remember)
diff --git a/src/Screen.cc b/src/Screen.cc
index 60aed17..22b41dd 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -2073,11 +2073,9 @@ WinClient *BScreen::findGroupRight(WinClient &winclient) {
2073 WinClient *other = it->second; 2073 WinClient *other = it->second;
2074 m_expecting_groups.erase(it); // don't expect it anymore 2074 m_expecting_groups.erase(it); // don't expect it anymore
2075 2075
2076 // forget about it if it isn't the left-most client in the group, plus 2076 // forget about it if it isn't the left-most client in the group
2077 // it must have the atom set on it (i.e. previously encountered by fluxbox) 2077 Window leftwin = other->getGroupLeftWindow();
2078 // for us to check our expecting 2078 if (leftwin != None && leftwin != winclient.window())
2079 if (!winclient.hasGroupLeftWindow() ||
2080 other->getGroupLeftWindow() != None)
2081 return 0; 2079 return 0;
2082 2080
2083 return other; 2081 return other;
diff --git a/src/Window.cc b/src/Window.cc
index 687f2d4..1895b13 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -386,7 +386,8 @@ void FluxboxWindow::init() {
386 386
387 assert(m_client); 387 assert(m_client);
388 m_client->setFluxboxWindow(this); 388 m_client->setFluxboxWindow(this);
389 m_client->setGroupLeftWindow(None); // nothing to the left. 389 if (!m_client->hasGroupLeftWindow())
390 m_client->setGroupLeftWindow(None); // nothing to the left.
390 391
391 // check for shape extension and whether the window is shaped 392 // check for shape extension and whether the window is shaped
392 m_shaped = false; 393 m_shaped = false;