diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-07-29 14:49:12 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-07-29 14:49:12 +0000 |
| commit | d86284c07b29817b93db1875fa1430d221b94a63 (patch) | |
| tree | 54c167ee7b13ff5ad4b61de2d2bf98dcdb98915a /src/Screen.cc | |
| parent | 77c518f8088dfae042f96f4f6424232e6400de40 (diff) | |
make root scrolling customizable
Diffstat (limited to 'src/Screen.cc')
| -rw-r--r-- | src/Screen.cc | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index d11894ce..d03fa50e 100644 --- a/src/Screen.cc +++ b/src/Screen.cc @@ -544,6 +544,18 @@ void BScreen::saveWorkspaceWarping(bool w) { } +void BScreen::saveRootScrollDirection(int d) { + resource.root_scroll = d; + const char *dir; + switch (resource.root_scroll) { + case NoScroll: dir = "None"; break; + case ReverseScroll: dir = "Reverse"; break; + case NormalScroll: default: dir = "Normal"; break; + } + config->setValue(screenstr + "rootScrollDirection", dir); +} + + void BScreen::save_rc(void) { saveSloppyFocus(resource.sloppy_focus); saveAutoRaise(resource.auto_raise); @@ -572,6 +584,7 @@ void BScreen::save_rc(void) { savePlaceIgnoreMaximized(resource.ignore_maximized); saveAllowScrollLock(resource.allow_scroll_lock); saveWorkspaceWarping(resource.workspace_warping); + saveRootScrollDirection(resource.root_scroll); toolbar->save_rc(); slit->save_rc(); @@ -707,13 +720,21 @@ void BScreen::load_rc(void) { resource.ignore_maximized)) resource.ignore_maximized = true; -if (! config->getValue(screenstr + "disableBindingsWithScrollLock", + if (! config->getValue(screenstr + "disableBindingsWithScrollLock", resource.allow_scroll_lock)) - resource.allow_scroll_lock = false; + resource.allow_scroll_lock = false; if (! config->getValue(screenstr + "workspaceWarping", resource.workspace_warping)) resource.workspace_warping = false; + + resource.root_scroll = NormalScroll; + if (config->getValue(screenstr + "rootScrollDirection", s)) { + if (s == "None") + resource.root_scroll = NoScroll; + else if (s == "Reverse") + resource.root_scroll = ReverseScroll; + } } @@ -2242,13 +2263,15 @@ void BScreen::buttonPressEvent(const XButtonEvent *xbutton) { rootmenu->show(); } // mouse wheel up - } else if (xbutton->button == 4) { + } else if ((xbutton->button == 4 && resource.root_scroll == NormalScroll) || + (xbutton->button == 5 && resource.root_scroll == ReverseScroll)) { if (getCurrentWorkspaceID() >= getWorkspaceCount() - 1) changeWorkspaceID(0); else changeWorkspaceID(getCurrentWorkspaceID() + 1); // mouse wheel down - } else if (xbutton->button == 5) { + } else if ((xbutton->button == 5 && resource.root_scroll == NormalScroll) || + (xbutton->button == 4 && resource.root_scroll == ReverseScroll)) { if (getCurrentWorkspaceID() == 0) changeWorkspaceID(getWorkspaceCount() - 1); else |
