+
+ if (! config->getValue(screenstr + "disableBindingsWithScrollLock",
+ resource.allow_scroll_lock))
+ 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;
+ }
+}
+
+
+void BScreen::changeWorkspaceCount(unsigned int new_count) {
+ assert(new_count > 0);
+
+ if (new_count < workspacesList.size()) {
+ // shrink
+ for (unsigned int i = workspacesList.size(); i > new_count; --i)
+ removeLastWorkspace();
+ // removeLast already sets the current workspace to the
+ // last available one.
+ } else if (new_count > workspacesList.size()) {
+ // grow
+ for(unsigned int i = workspacesList.size(); i < new_count; ++i)
+ addWorkspace();
+ }