summaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/Window.cc b/src/Window.cc
index b175314..4b77b95 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -1538,6 +1538,12 @@ void FluxboxWindow::setMaximizedState(int type) {
1538 maximized = type; 1538 maximized = type;
1539 frame().setMaximized(type); 1539 frame().setMaximized(type);
1540 1540
1541 // notify when struts change, so we can resize accordingly
1542 if (maximized)
1543 screen().workspaceAreaSig().attach(this);
1544 else
1545 screen().workspaceAreaSig().detach(this);
1546
1541 // notify listeners that we changed state 1547 // notify listeners that we changed state
1542 stateSig().notify(); 1548 stateSig().notify();
1543} 1549}
@@ -2771,14 +2777,14 @@ void FluxboxWindow::update(FbTk::Subject *subj) {
2771 titleSig().notify(); 2777 titleSig().notify();
2772 } 2778 }
2773 2779
2774 } else if (subj && typeid(*subj) == typeid(BScreen::ScreenSubject)) { 2780 } else if (subj == &screen().focusedWindowSig()) {
2775 if (subj == &screen().focusedWindowSig()) { 2781 if (FocusControl::focusedFbWindow())
2776 if (FocusControl::focusedFbWindow()) 2782 setFullscreenLayer();
2777 setFullscreenLayer();
2778 }
2779 } else if (subj == &m_theme.reconfigSig()) { 2783 } else if (subj == &m_theme.reconfigSig()) {
2780 frame().applyDecorations(); 2784 frame().applyDecorations();
2781 sendConfigureNotify(); 2785 sendConfigureNotify();
2786 } else if (subj == &screen().workspaceAreaSig()) {
2787 frame().applyState();
2782 } else if (m_initialized && subj == &m_frame.frameExtentSig()) { 2788 } else if (m_initialized && subj == &m_frame.frameExtentSig()) {
2783 Fluxbox::instance()->updateFrameExtents(*this); 2789 Fluxbox::instance()->updateFrameExtents(*this);
2784 sendConfigureNotify(); 2790 sendConfigureNotify();