summaryrefslogtreecommitdiff
path: root/src/fluxbox.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r--src/fluxbox.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index 4041444..b83fa9c 100644
--- a/src/fluxbox.cc
+++ b/src/fluxbox.cc
@@ -453,7 +453,9 @@ 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->workspaceAreaSig().attach(this); 456
457 join(screen->workspaceAreaSig(),
458 FbTk::MemFun(*this, &Fluxbox::workspaceAreaChanged));
457 459
458 join(screen->focusedWindowSig(), 460 join(screen->focusedWindowSig(),
459 FbTk::MemFun(*this, &Fluxbox::focusedWindowChanged)); 461 FbTk::MemFun(*this, &Fluxbox::focusedWindowChanged));
@@ -1104,16 +1106,6 @@ void Fluxbox::update(FbTk::Subject *changedsub) {
1104 } 1106 }
1105 1107
1106 screen.removeClient(*client); 1108 screen.removeClient(*client);
1107 } else if (typeid(*changedsub) == typeid(BScreen::ScreenSubject)) {
1108 BScreen::ScreenSubject *subj = dynamic_cast<BScreen::ScreenSubject *>(changedsub);
1109 BScreen &screen = subj->screen();
1110 if ((&(screen.workspaceAreaSig())) == changedsub) {
1111 for (AtomHandlerContainerIt it= m_atomhandler.begin();
1112 it != m_atomhandler.end(); ++it) {
1113 if ((*it).first->update())
1114 (*it).first->updateWorkarea(screen);
1115 }
1116 }
1117 } 1109 }
1118} 1110}
1119 1111
@@ -1540,3 +1532,11 @@ void Fluxbox::focusedWindowChanged(BScreen &screen,
1540 (*it).first->updateFocusedWindow(screen, client ? client->window() : 0 ); 1532 (*it).first->updateFocusedWindow(screen, client ? client->window() : 0 );
1541 } 1533 }
1542} 1534}
1535
1536void Fluxbox::workspaceAreaChanged(BScreen &screen) {
1537 for (AtomHandlerContainerIt it= m_atomhandler.begin();
1538 it != m_atomhandler.end(); ++it) {
1539 if ((*it).first->update())
1540 (*it).first->updateWorkarea(screen);
1541 }
1542}