diff options
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r-- | src/fluxbox.cc | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 9e62ac3..acbb55d 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -453,14 +453,16 @@ void Fluxbox::initScreen(BScreen *screen) { | |||
453 | screen->initWindows(); | 453 | screen->initWindows(); |
454 | 454 | ||
455 | // attach screen signals to this | 455 | // attach screen signals to this |
456 | screen->currentWorkspaceSig().attach(this); | ||
457 | screen->focusedWindowSig().attach(this); | 456 | screen->focusedWindowSig().attach(this); |
458 | screen->workspaceNamesSig().attach(this); | 457 | screen->workspaceNamesSig().attach(this); |
459 | screen->workspaceAreaSig().attach(this); | 458 | screen->workspaceAreaSig().attach(this); |
460 | screen->clientListSig().attach(this); | 459 | screen->clientListSig().attach(this); |
461 | 460 | ||
462 | join( screen->workspaceCountSig(), | 461 | join(screen->currentWorkspaceSig(), |
463 | FbTk::MemFun( *this, &Fluxbox::workspaceCountChanged ) ); | 462 | FbTk::MemFun(*this, &Fluxbox::workspaceChanged)); |
463 | |||
464 | join(screen->workspaceCountSig(), | ||
465 | FbTk::MemFun(*this, &Fluxbox::workspaceCountChanged)); | ||
464 | 466 | ||
465 | // initiate atomhandler for screen specific stuff | 467 | // initiate atomhandler for screen specific stuff |
466 | for (AtomHandlerContainerIt it= m_atomhandler.begin(); | 468 | for (AtomHandlerContainerIt it= m_atomhandler.begin(); |
@@ -1106,12 +1108,6 @@ void Fluxbox::update(FbTk::Subject *changedsub) { | |||
1106 | if ((*it).first->update()) | 1108 | if ((*it).first->update()) |
1107 | (*it).first->updateWorkspaceNames(screen); | 1109 | (*it).first->updateWorkspaceNames(screen); |
1108 | } | 1110 | } |
1109 | } else if ((&(screen.currentWorkspaceSig())) == changedsub) { | ||
1110 | for (AtomHandlerContainerIt it= m_atomhandler.begin(); | ||
1111 | it != m_atomhandler.end(); ++it) { | ||
1112 | if ((*it).first->update()) | ||
1113 | (*it).first->updateCurrentWorkspace(screen); | ||
1114 | } | ||
1115 | } else if ((&(screen.focusedWindowSig())) == changedsub) { | 1111 | } else if ((&(screen.focusedWindowSig())) == changedsub) { |
1116 | for (AtomHandlerContainerIt it= m_atomhandler.begin(); | 1112 | for (AtomHandlerContainerIt it= m_atomhandler.begin(); |
1117 | it != m_atomhandler.end(); it++) { | 1113 | it != m_atomhandler.end(); it++) { |
@@ -1526,3 +1522,11 @@ void Fluxbox::workspaceCountChanged( BScreen& screen ) { | |||
1526 | (*it).first->updateWorkspaceCount(screen); | 1522 | (*it).first->updateWorkspaceCount(screen); |
1527 | } | 1523 | } |
1528 | } | 1524 | } |
1525 | |||
1526 | void Fluxbox::workspaceChanged( BScreen& screen ) { | ||
1527 | for (AtomHandlerContainerIt it= m_atomhandler.begin(); | ||
1528 | it != m_atomhandler.end(); ++it) { | ||
1529 | if ((*it).first->update()) | ||
1530 | (*it).first->updateCurrentWorkspace(screen); | ||
1531 | } | ||
1532 | } | ||