diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/Window.cc b/src/Window.cc index 3c2cc02..b341937 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -1199,6 +1199,29 @@ void FluxboxWindow::reconfigure() { | |||
1199 | 1199 | ||
1200 | menu().reconfigure(); | 1200 | menu().reconfigure(); |
1201 | 1201 | ||
1202 | typedef FbTk::RefCount<FbTk::Command> CommandRef; | ||
1203 | typedef FbTk::SimpleCommand<FluxboxWindow> WindowCmd; | ||
1204 | CommandRef shade_on_cmd(new WindowCmd(*this, &FluxboxWindow::shadeOn)); | ||
1205 | CommandRef shade_off_cmd(new WindowCmd(*this, &FluxboxWindow::shadeOff)); | ||
1206 | CommandRef next_tab_cmd(new WindowCmd(*this, &FluxboxWindow::nextClient)); | ||
1207 | CommandRef prev_tab_cmd(new WindowCmd(*this, &FluxboxWindow::prevClient)); | ||
1208 | CommandRef null_cmd; | ||
1209 | |||
1210 | int reverse = 0; | ||
1211 | if (screen().getScrollReverse()) | ||
1212 | reverse = 1; | ||
1213 | |||
1214 | if (StringUtil::toLower(screen().getScrollAction()) == string("shade")) { | ||
1215 | frame().setOnClickTitlebar(shade_on_cmd, 5 - reverse); // shade on mouse roll | ||
1216 | frame().setOnClickTitlebar(shade_off_cmd, 4 + reverse); // unshade if rolled oposite direction | ||
1217 | } else if (StringUtil::toLower(screen().getScrollAction()) == string("nexttab")) { | ||
1218 | frame().setOnClickTitlebar(next_tab_cmd, 5 - reverse); // next tab | ||
1219 | frame().setOnClickTitlebar(prev_tab_cmd, 4 + reverse); // previous tab | ||
1220 | } else { | ||
1221 | frame().setOnClickTitlebar(null_cmd, 4); | ||
1222 | frame().setOnClickTitlebar(null_cmd, 5); | ||
1223 | } | ||
1224 | |||
1202 | } | 1225 | } |
1203 | 1226 | ||
1204 | /// update current client title and title in our frame | 1227 | /// update current client title and title in our frame |