iconmenu = new Iconmenu(this);
configmenu = new Configmenu(this);
- if (resource.workspaces != 0) {
+ if (resource.workspaces > 0) {
for (unsigned int i = 0; i < resource.workspaces; ++i) {
Workspace *wkspc = new Workspace(this, workspacesList.size());
workspacesList.push_back(wkspc);
}
+void BScreen::saveWorkspaceWarping(bool w) {
+ resource.workspace_warping = w;
+ config->setValue(screenstr + "workspaceWarping",
+ resource.workspace_warping);
+}
+
+
void BScreen::save_rc(void) {
saveSloppyFocus(resource.sloppy_focus);
saveAutoRaise(resource.auto_raise);
savePlaceIgnoreShaded(resource.ignore_shaded);
savePlaceIgnoreMaximized(resource.ignore_maximized);
saveAllowScrollLock(resource.allow_scroll_lock);
+ saveWorkspaceWarping(resource.workspace_warping);
toolbar->save_rc();
slit->save_rc();
resource.ignore_maximized))
resource.ignore_maximized = true;
- if (! config->getValue(screenstr + "disableBindingsWithScrollLock",
- resource.allow_scroll_lock))
- resource.allow_scroll_lock = false;
+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;
}
void BScreen::unmanageWindow(BlackboxWindow *w, bool remap) {
w->restore(remap);
+ // Remove the modality so that its parent won't try to re-focus the window
+ if (w->isModal()) w->setModal(False);
+
if (w->getWorkspaceNumber() != BSENTINEL &&
w->getWindowNumber() != BSENTINEL)
getWorkspace(w->getWorkspaceNumber())->removeWindow(w);