]> Dogcows Code - chaz/openbox/blobdiff - src/Screen.cc
add comment
[chaz/openbox] / src / Screen.cc
index d92973b34169fbfab457a347613cf657bedc3c0a..6970fdf68111095befb48096e916cf5eadeafc67 100644 (file)
@@ -537,6 +537,13 @@ void BScreen::saveAllowScrollLock(bool a) {
 }
 
 
+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);
@@ -564,6 +571,7 @@ void BScreen::save_rc(void) {
   savePlaceIgnoreShaded(resource.ignore_shaded);
   savePlaceIgnoreMaximized(resource.ignore_maximized);
   saveAllowScrollLock(resource.allow_scroll_lock);
+  saveWorkspaceWarping(resource.workspace_warping);
 
   toolbar->save_rc();
   slit->save_rc();
@@ -699,9 +707,13 @@ void BScreen::load_rc(void) {
                          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;
 }
 
 
@@ -1245,12 +1257,6 @@ void BScreen::manageWindow(Window w) {
 void BScreen::unmanageWindow(BlackboxWindow *w, bool remap) {
   w->restore(remap);
 
-  if (w->getWorkspaceNumber() != BSENTINEL &&
-      w->getWindowNumber() != BSENTINEL)
-    getWorkspace(w->getWorkspaceNumber())->removeWindow(w);
-  else if (w->isIconic())
-    removeIcon(w);
-
   if (w->isNormal()) {
     // we don't list non-normal windows as managed windows
     windowList.remove(w);
@@ -1266,9 +1272,6 @@ void BScreen::unmanageWindow(BlackboxWindow *w, bool remap) {
     assert(it != end);  // the window wasnt a desktop window?
   }
 
-  if (blackbox->getFocusedWindow() == w)
-    blackbox->setFocusedWindow((BlackboxWindow *) 0);
-
   removeNetizen(w->getClientWindow());
 
   /*
This page took 0.023011 seconds and 4 git commands to generate.