aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 8d44caa..5b85f82 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -411,13 +411,15 @@ void FluxboxWindow::init() {
411 m_workspace_number = m_screen.currentWorkspaceID(); 411 m_workspace_number = m_screen.currentWorkspaceID();
412 412
413 // set default decorations but don't apply them 413 // set default decorations but don't apply them
414 setDecorationMask(WindowState::getDecoMaskFromString(screen().defaultDeco()), 414 setDecorationMask(WindowState::getDecoMaskFromString(*screen().defaultDecoResource()),
415 false); 415 false);
416 416
417 functions.resize = functions.move = functions.iconify = functions.maximize 417 functions.resize = functions.move = functions.iconify = functions.maximize
418 = functions.close = functions.tabable = true; 418 = functions.close = functions.tabable = true;
419 419
420 updateMWMHintsFromClient(*m_client); 420 updateMWMHintsFromClient(*m_client);
421 join(screen().defaultDecoResource().modifiedSig(),
422 FbTk::MemFunIgnoreArgs(*this, &FluxboxWindow::decorationsChanged));
421 423
422 m_timer.setTimeout(*fluxbox.getAutoRaiseDelayResource()); 424 m_timer.setTimeout(*fluxbox.getAutoRaiseDelayResource());
423 join(fluxbox.getAutoRaiseDelayResource().modifiedSig(), FbTk::MemFun(m_timer, 425 join(fluxbox.getAutoRaiseDelayResource().modifiedSig(), FbTk::MemFun(m_timer,
@@ -1100,7 +1102,7 @@ void FluxboxWindow::updateMWMHintsFromClient(WinClient &client) {
1100 } 1102 }
1101 1103
1102 unsigned int mask = decorationMask(); 1104 unsigned int mask = decorationMask();
1103 mask &= WindowState::getDecoMaskFromString(screen().defaultDeco()); 1105 mask &= WindowState::getDecoMaskFromString(*screen().defaultDecoResource());
1104 setDecorationMask(mask, false); 1106 setDecorationMask(mask, false);
1105 1107
1106 // functions.tabable is ours, not special one 1108 // functions.tabable is ours, not special one
@@ -2693,6 +2695,13 @@ void FluxboxWindow::themeReconfigured() {
2693 sendConfigureNotify(); 2695 sendConfigureNotify();
2694} 2696}
2695 2697
2698void FluxboxWindow::decorationsChanged() {
2699 setDecorationMask(WindowState::getDecoMaskFromString(*screen().defaultDecoResource()),
2700 false);
2701 updateMWMHintsFromClient(*m_client);
2702 applyDecorations();
2703}
2704
2696void FluxboxWindow::workspaceAreaChanged(BScreen &screen) { 2705void FluxboxWindow::workspaceAreaChanged(BScreen &screen) {
2697 frame().applyState(); 2706 frame().applyState();
2698} 2707}