]> git.sur5r.net Git - i3/i3/commitdiff
Highlight i3bar ws when changing output w/ mouse.
authorSimon Kämpe <simon.kampe@gmail.com>
Thu, 2 Feb 2012 20:28:38 +0000 (21:28 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Wed, 15 Feb 2012 22:05:01 +0000 (22:05 +0000)
src/click.c

index a046965030bfe1451337df68ed328d9e7039cab8..f998818bc441b3bbed407549182ad473edfd6421 100644 (file)
@@ -199,12 +199,18 @@ static int route_click(Con *con, xcb_button_press_event_t *event, const bool mod
         goto done;
     }
 
-    /* 2: focus this con */
+    /* 2: focus this con. If the workspace is on another output we need to
+     * do a workspace_show in order for i3bar (and others) to notice the
+     * change in workspace. */
+    Con *ws = con_get_workspace(con);
+    Con *focused_workspace = con_get_workspace(focused);
+
+    if (ws != focused_workspace)
+        workspace_show(ws);
     con_focus(con);
 
     /* 3: For floating containers, we also want to raise them on click.
      * We will skip handling events on floating cons in fullscreen mode */
-    Con *ws = con_get_workspace(con);
     Con *fs = (ws ? con_get_fullscreen_con(ws, CF_OUTPUT) : NULL);
     if (floatingcon != NULL && fs == NULL) {
         floating_raise_con(floatingcon);