diff options
author | Mark Tiefenbruck <mark@fluxbox.org> | 2008-08-23 14:46:16 (GMT) |
---|---|---|
committer | Mark Tiefenbruck <mark@fluxbox.org> | 2008-08-23 14:46:16 (GMT) |
commit | e6b11e06c67d0c7987410097b62f730dcd88db3a (patch) | |
tree | b530379b8bef0f394d587d7c767debad9a14c0c6 /src/Window.cc | |
parent | 10f769f7fc1766a647a063f4204d7c5b0b0e45ba (diff) | |
download | fluxbox-e6b11e06c67d0c7987410097b62f730dcd88db3a.zip fluxbox-e6b11e06c67d0c7987410097b62f730dcd88db3a.tar.bz2 |
resize maximized windows when the toolbar or slit changes size
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 16 |
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(); |