don't re-apply remembered settings on restart if they are set as window properties
This commit is contained in:
parent
c2b35f0671
commit
1dd5e0143e
4 changed files with 21 additions and 17 deletions
|
@ -1,6 +1,9 @@
|
|||
(Format: Year/Month/Day)
|
||||
Changes for 1.0rc3:
|
||||
*06/08/04:
|
||||
* Don't re-apply remembered settings on restart if they are set as window
|
||||
properties (Mark)
|
||||
Remember.cc Screen.cc Window.cc
|
||||
* Updated spanish translations (thanks bobbens)
|
||||
nls/es_ES
|
||||
* Updated german translations (thanks tenner)
|
||||
|
|
|
@ -962,15 +962,31 @@ void Remember::setupFrame(FluxboxWindow &win) {
|
|||
if (app == 0)
|
||||
return; // nothing to do
|
||||
|
||||
// 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)
|
||||
app->group = &win;
|
||||
|
||||
if (app->focushiddenstate_remember)
|
||||
win.setFocusHidden(true);
|
||||
if (app->iconhiddenstate_remember)
|
||||
win.setIconHidden(true);
|
||||
if (app->layer_remember)
|
||||
win.moveToLayer(app->layer);
|
||||
if (app->decostate_remember)
|
||||
win.setDecorationMask(app->decostate);
|
||||
|
||||
// now check if fluxbox is starting up
|
||||
if (Fluxbox::instance()->isStartup())
|
||||
return;
|
||||
|
||||
BScreen &screen = winclient.screen();
|
||||
|
||||
if (app->workspace_remember) {
|
||||
// we use setWorkspace and not reassoc because we're still initialising
|
||||
win.setWorkspace(app->workspace);
|
||||
if (app->jumpworkspace_remember && !Fluxbox::instance()->isStartup())
|
||||
if (app->jumpworkspace_remember)
|
||||
screen.changeWorkspaceID(app->workspace);
|
||||
}
|
||||
|
||||
|
@ -978,10 +994,6 @@ void Remember::setupFrame(FluxboxWindow &win) {
|
|||
win.screen().setOnHead<FluxboxWindow>(win, app->head);
|
||||
}
|
||||
|
||||
if (app->decostate_remember)
|
||||
win.setDecorationMask(app->decostate);
|
||||
|
||||
|
||||
if (app->dimensions_remember)
|
||||
win.resize(app->w, app->h);
|
||||
|
||||
|
@ -1032,13 +1044,6 @@ void Remember::setupFrame(FluxboxWindow &win) {
|
|||
if (win.isStuck() && !app->stuckstate ||
|
||||
!win.isStuck() && app->stuckstate)
|
||||
win.stick(); // toggles
|
||||
if (app->focushiddenstate_remember)
|
||||
win.setFocusHidden(true);
|
||||
if (app->iconhiddenstate_remember)
|
||||
win.setIconHidden(true);
|
||||
|
||||
if (app->layer_remember)
|
||||
win.moveToLayer(app->layer);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1379,7 +1379,7 @@ FluxboxWindow *BScreen::createWindow(Window client) {
|
|||
// and if so, then join it.
|
||||
if ((other = findGroupRight(*winclient)) && other->fbwindow() != win)
|
||||
win->attachClient(*other);
|
||||
else if (other)
|
||||
else if (other) // should never happen
|
||||
win->moveClientRightOf(*other, *winclient);
|
||||
|
||||
m_clientlist_sig.notify();
|
||||
|
|
|
@ -627,7 +627,6 @@ void FluxboxWindow::attachClient(WinClient &client, int x, int y) {
|
|||
WinClient *was_focused = 0;
|
||||
WinClient *focused_win = FocusControl::focusedWindow();
|
||||
|
||||
WinClient *other = m_screen.findGroupLeft(client);
|
||||
// get the current window on the end of our client list
|
||||
Window leftwin = None;
|
||||
if (!clientList().empty())
|
||||
|
@ -691,9 +690,6 @@ void FluxboxWindow::attachClient(WinClient &client, int x, int y) {
|
|||
|
||||
client.saveBlackboxAttribs(m_blackbox_attrib);
|
||||
m_clientlist.push_back(&client);
|
||||
|
||||
if (other && other->fbwindow() == this)
|
||||
moveClientRightOf(client, *other);
|
||||
}
|
||||
|
||||
// make sure that the state etc etc is updated for the new client
|
||||
|
|
Loading…
Reference in a new issue