diff options
author | markt <markt> | 2006-08-05 05:21:15 (GMT) |
---|---|---|
committer | markt <markt> | 2006-08-05 05:21:15 (GMT) |
commit | 721c02204a5f00e7f1c59983df0b1549fe1e971b (patch) | |
tree | 52ceaccfc5e759a4363439307516c86bbb22fdca /src | |
parent | c65b949f97ea1eecd01fad961a42f2bd3be1ed0b (diff) | |
download | fluxbox_paul-721c02204a5f00e7f1c59983df0b1549fe1e971b.zip fluxbox_paul-721c02204a5f00e7f1c59983df0b1549fe1e971b.tar.bz2 |
a little fix for auto-grouping after restart
Diffstat (limited to 'src')
-rw-r--r-- | src/Remember.cc | 3 | ||||
-rw-r--r-- | src/Screen.cc | 8 | ||||
-rw-r--r-- | src/Window.cc | 3 |
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; |