aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
authorThomas Lübking <thomas.luebking@gmail.com>2016-06-23 23:39:18 (GMT)
committerMathias Gumz <akira@fluxbox.org>2016-06-26 14:31:22 (GMT)
commitbfe4737427d10ca098d1baff540ff8c4d44b8781 (patch)
treee234d08bb8552a4e400cadb9f6e92ff6cf43d5ee /src/Window.cc
parentdcdde4d32c93d01df205bc06d7dfcbd356be031f (diff)
downloadfluxbox-bfe4737427d10ca098d1baff540ff8c4d44b8781.zip
fluxbox-bfe4737427d10ca098d1baff540ff8c4d44b8781.tar.bz2
fix tracking of MWM hints in case of removal
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc
index f800e85..ac76aee 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -1104,9 +1104,7 @@ void FluxboxWindow::reconfigure() {
1104void FluxboxWindow::updateMWMHintsFromClient(WinClient &client) { 1104void FluxboxWindow::updateMWMHintsFromClient(WinClient &client) {
1105 const WinClient::MwmHints *hint = client.getMwmHint(); 1105 const WinClient::MwmHints *hint = client.getMwmHint();
1106 1106
1107 if (!hint) return; 1107 if (hint && !m_toggled_decos && hint->flags & MwmHintsDecorations) {
1108
1109 if (!m_toggled_decos && hint->flags & MwmHintsDecorations) {
1110 if (hint->decorations & MwmDecorAll) { 1108 if (hint->decorations & MwmDecorAll) {
1111 decorations.titlebar = decorations.handle = decorations.border = 1109 decorations.titlebar = decorations.handle = decorations.border =
1112 decorations.iconify = decorations.maximize = 1110 decorations.iconify = decorations.maximize =
@@ -1131,6 +1129,9 @@ void FluxboxWindow::updateMWMHintsFromClient(WinClient &client) {
1131 if (hint->decorations & MwmDecorMaximize) 1129 if (hint->decorations & MwmDecorMaximize)
1132 decorations.maximize = true; 1130 decorations.maximize = true;
1133 } 1131 }
1132 } else {
1133 decorations.titlebar = decorations.handle = decorations.border =
1134 decorations.iconify = decorations.maximize = decorations.menu = true;
1134 } 1135 }
1135 1136
1136 unsigned int mask = decorationMask(); 1137 unsigned int mask = decorationMask();
@@ -1139,7 +1140,7 @@ void FluxboxWindow::updateMWMHintsFromClient(WinClient &client) {
1139 1140
1140 // functions.tabable is ours, not special one 1141 // functions.tabable is ours, not special one
1141 // note that it means this window is "tabbable" 1142 // note that it means this window is "tabbable"
1142 if (hint->flags & MwmHintsFunctions) { 1143 if (hint && hint->flags & MwmHintsFunctions) {
1143 if (hint->functions & MwmFuncAll) { 1144 if (hint->functions & MwmFuncAll) {
1144 functions.resize = functions.move = functions.iconify = 1145 functions.resize = functions.move = functions.iconify =
1145 functions.maximize = functions.close = true; 1146 functions.maximize = functions.close = true;
@@ -1158,6 +1159,9 @@ void FluxboxWindow::updateMWMHintsFromClient(WinClient &client) {
1158 if (hint->functions & MwmFuncClose) 1159 if (hint->functions & MwmFuncClose)
1159 functions.close = true; 1160 functions.close = true;
1160 } 1161 }
1162 } else {
1163 functions.resize = functions.move = functions.iconify =
1164 functions.maximize = functions.close = true;
1161 } 1165 }
1162} 1166}
1163 1167