]> Dogcows Code - chaz/openbox/commitdiff
dont reposition non-normal/dialog windows when they get focus, such as kde's kicker...
authorDana Jansens <danakj@orodu.net>
Tue, 16 Jul 2002 03:50:55 +0000 (03:50 +0000)
committerDana Jansens <danakj@orodu.net>
Tue, 16 Jul 2002 03:50:55 +0000 (03:50 +0000)
src/Window.cc

index 017093e6aee0a80c91433aab9431daeb43825641..23bc9800a4d3f795ed6e2ed80449ed2a96d98c3e 100644 (file)
@@ -1579,12 +1579,18 @@ bool BlackboxWindow::setInputFocus(void) {
     return True;
   }
 #endif
-  if (! frame.rect.intersects(screen->getRect())) {
-    // client is outside the screen, move it to the center
-    configure((screen->getWidth() - frame.rect.width()) / 2,
-              (screen->getHeight() - frame.rect.height()) / 2,
-              frame.rect.width(), frame.rect.height());
-  }
+  /*
+     We only do this check for normal windows and dialogs because other windows
+     do this on purpose, such as kde's kicker, and we don't want to go moving
+     it.
+  */
+  if (window_type == Type_Normal || window_type == Type_Dialog)
+    if (! frame.rect.intersects(screen->getRect())) {
+      // client is outside the screen, move it to the center
+      configure((screen->getWidth() - frame.rect.width()) / 2,
+                (screen->getHeight() - frame.rect.height()) / 2,
+                frame.rect.width(), frame.rect.height());
+    }
 
   if (client.transientList.size() > 0) {
     // transfer focus to any modal transients
This page took 0.033396 seconds and 4 git commands to generate.