fix focus flicker on sendto+follow
authorDana Jansens <danakj@orodu.net>
Wed, 13 Jun 2007 15:20:48 +0000 (15:20 +0000)
committerDana Jansens <danakj@orodu.net>
Wed, 13 Jun 2007 15:20:48 +0000 (15:20 +0000)
openbox/screen.c

index 3d3d73c..d092ec2 100644 (file)
@@ -579,6 +579,11 @@ void screen_set_desktop(guint num, gboolean dofocus)
     allow_omni = focus_client && (client_normal(focus_client) &&
                                   focus_client->desktop == DESKTOP_ALL);
 
+    /* the client moved there already so don't move focus. prevent flicker
+       on sendtodesktop + follow */
+    if (focus_client && focus_client->desktop == screen_desktop)
+        dofocus = FALSE;
+
     /* have to try focus here because when you leave an empty desktop
        there is no focus out to watch for. also, we have different rules
        here. we always allow it to look under the mouse pointer if