all repos — fluxbox @ 1dd5e0143e6ab63833851f4b3a42c500a9777162

custom fork of the fluxbox windowmanager

don't re-apply remembered settings on restart if they are set as window properties
markt markt
commit

1dd5e0143e6ab63833851f4b3a42c500a9777162

parent

c2b35f06715e67e263b3ae70509930c474a9351c

4 files changed, 21 insertions(+), 17 deletions(-)

jump to
M ChangeLogChangeLog

@@ -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)
M src/Remember.ccsrc/Remember.cc

@@ -962,25 +962,37 @@ Application *app = find(winclient);

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); } if (app->head_remember) { 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 @@ // if inconsistent...

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); }
M src/Screen.ccsrc/Screen.cc

@@ -1379,7 +1379,7 @@ // we also need to check if another window expects this window to the left

// 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();
M src/Window.ccsrc/Window.cc

@@ -627,7 +627,6 @@ frame().setClientWindow(client);

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 @@ was_focused = focused_win;

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