diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc index 7e5a273..cd0e708 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -1488,9 +1488,10 @@ void FluxboxWindow::attachWorkAreaSig() { | |||
1488 | // notify when struts change, so we can resize accordingly | 1488 | // notify when struts change, so we can resize accordingly |
1489 | // Subject checks for duplicates for us | 1489 | // Subject checks for duplicates for us |
1490 | if (m_state.maximized || m_state.fullscreen) | 1490 | if (m_state.maximized || m_state.fullscreen) |
1491 | screen().workspaceAreaSig().attach(this); | 1491 | join(screen().workspaceAreaSig(), |
1492 | FbTk::MemFun(*this, &FluxboxWindow::workspaceAreaChanged)); | ||
1492 | else | 1493 | else |
1493 | screen().workspaceAreaSig().detach(this); | 1494 | leave(screen().workspaceAreaSig()); |
1494 | } | 1495 | } |
1495 | 1496 | ||
1496 | /** | 1497 | /** |
@@ -2729,14 +2730,16 @@ void FluxboxWindow::update(FbTk::Subject *subj) { | |||
2729 | } else if (subj == &m_theme.reconfigSig()) { | 2730 | } else if (subj == &m_theme.reconfigSig()) { |
2730 | frame().applyDecorations(); | 2731 | frame().applyDecorations(); |
2731 | sendConfigureNotify(); | 2732 | sendConfigureNotify(); |
2732 | } else if (subj == &screen().workspaceAreaSig()) { | ||
2733 | frame().applyState(); | ||
2734 | } else if (m_initialized && subj == &m_frame.frameExtentSig()) { | 2733 | } else if (m_initialized && subj == &m_frame.frameExtentSig()) { |
2735 | Fluxbox::instance()->updateFrameExtents(*this); | 2734 | Fluxbox::instance()->updateFrameExtents(*this); |
2736 | sendConfigureNotify(); | 2735 | sendConfigureNotify(); |
2737 | } | 2736 | } |
2738 | } | 2737 | } |
2739 | 2738 | ||
2739 | void FluxboxWindow::workspaceAreaChanged(BScreen &screen) { | ||
2740 | frame().applyState(); | ||
2741 | } | ||
2742 | |||
2740 | // commit current decoration values to actual displayed things | 2743 | // commit current decoration values to actual displayed things |
2741 | void FluxboxWindow::applyDecorations() { | 2744 | void FluxboxWindow::applyDecorations() { |
2742 | frame().setDecorationMask(decorationMask()); | 2745 | frame().setDecorationMask(decorationMask()); |