]> git.sur5r.net Git - i3/i3/blobdiff - src/xinerama.c
x: recurse x_push_node in focus order. reduces flickering when switching workspaces
[i3/i3] / src / xinerama.c
index bf92a636c4ce6b2874f4a685686106d0b8ebf927..8bb1b43f117fa08b67029b940f9661432fd3149f 100644 (file)
@@ -3,7 +3,7 @@
  *
  * i3 - an improved dynamic tiling window manager
  *
- * © 2009-2010 Michael Stapelberg and contributors
+ * © 2009-2011 Michael Stapelberg and contributors
  *
  * See file LICENSE for license information.
  *
@@ -26,8 +26,8 @@ static int num_screens;
 static Output *get_screen_at(int x, int y) {
     Output *output;
     TAILQ_FOREACH(output, &outputs, outputs)
-            if (output->rect.x == x && output->rect.y == y)
-                    return output;
+        if (output->rect.x == x && output->rect.y == y)
+            return output;
 
     return NULL;
 }
@@ -70,6 +70,7 @@ static void query_screens(xcb_connection_t *conn) {
             if (s->rect.x == 0 && s->rect.y == 0)
                     TAILQ_INSERT_HEAD(&outputs, s, outputs);
             else TAILQ_INSERT_TAIL(&outputs, s, outputs);
+            output_init_con(s);
             num_screens++;
         }
 
@@ -100,10 +101,10 @@ void xinerama_init() {
         reply = xcb_xinerama_is_active_reply(conn, xcb_xinerama_is_active(conn), NULL);
 
         if (reply == NULL || !reply->state) {
-                DLOG("Xinerama is not active (in your X-Server), disabling.\n");
-                disable_randr(conn);
+            DLOG("Xinerama is not active (in your X-Server), disabling.\n");
+            disable_randr(conn);
         } else
-                query_screens(conn);
+            query_screens(conn);
 
         FREE(reply);
     }