]> git.sur5r.net Git - i3/i3/blobdiff - src/handlers.c
Merge pull request #3022 from orestisf1993/i3bar-leaks
[i3/i3] / src / handlers.c
index 1da42ec25420c752e0dafd3a2c2848c5d74184f0..0f81afae19a095233e4c568e0b8dff7667edeb8b 100644 (file)
@@ -774,6 +774,8 @@ static void handle_client_message(xcb_client_message_event_t *event) {
                 scratchpad_show(con);
             } else {
                 workspace_show(ws);
+                /* Re-set focus, even if unchanged from i3’s perspective. */
+                focused_id = XCB_NONE;
                 con_focus(con);
             }
         } else {
@@ -847,7 +849,7 @@ static void handle_client_message(xcb_client_message_event_t *event) {
         /* This request is used by pagers and bars to change the current
          * desktop likely as a result of some user action. We interpret this as
          * a request to focus the given workspace. See
-         * http://standards.freedesktop.org/wm-spec/latest/ar01s03.html#idm140251368135008
+         * https://standards.freedesktop.org/wm-spec/latest/ar01s03.html#idm140251368135008
          * */
         DLOG("Request to change current desktop to index %d\n", event->data.data32[0]);
         Con *ws = ewmh_get_workspace_by_index(event->data.data32[0]);
@@ -895,7 +897,7 @@ static void handle_client_message(xcb_client_message_event_t *event) {
         /*
          * Pagers wanting to close a window MUST send a _NET_CLOSE_WINDOW
          * client message request to the root window.
-         * http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472668896
+         * https://standards.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472668896
          */
         Con *con = con_by_window_id(event->window);
         if (con) {
@@ -1262,6 +1264,9 @@ static void handle_configure_notify(xcb_configure_notify_event_t *event) {
     }
     DLOG("ConfigureNotify for root window 0x%08x\n", event->event);
 
+    if (force_xinerama) {
+        return;
+    }
     randr_query_outputs();
 }