Add option to disable scroll wraparound on workspaces

This commit is contained in:
RX14 2019-05-17 17:53:38 +01:00
parent d34c3a801c
commit 3e1c77d158
No known key found for this signature in database
GPG Key ID: CEF2BBFE18BD0E67
1 changed files with 6 additions and 2 deletions

View File

@ -215,7 +215,7 @@ bool Workspaces::handleScroll(GdkEventScroll *e) {
const std::string Workspaces::getCycleWorkspace(std::vector<Json::Value>::iterator it,
bool prev) const {
if (prev && it == workspaces_.begin()) {
if (prev && it == workspaces_.begin() && !config_["disable-scroll-wraparound"].asBool()) {
return (*(--workspaces_.end()))["name"].asString();
}
if (prev && it != workspaces_.begin())
@ -223,7 +223,11 @@ const std::string Workspaces::getCycleWorkspace(std::vector<Json::Value>::iterat
else if (!prev && it != workspaces_.end())
++it;
if (!prev && it == workspaces_.end()) {
return (*(workspaces_.begin()))["name"].asString();
if (config_["disable-scroll-wraparound"].asBool()) {
--it;
} else {
return (*(workspaces_.begin()))["name"].asString();
}
}
return (*it)["name"].asString();
}