]> code.delx.au - spectrwm/blobdiff - spectrwm.c
Ignore EnterNotify when entering from an inferior window.
[spectrwm] / spectrwm.c
index 0589ebd9807a0bd07a9b52b48f2e89cd7cad6e57..6a8687f7e3dfabc1a025424488077f5837100880 100644 (file)
@@ -4486,6 +4486,8 @@ update_floater(struct ws_win *win)
 
        DNPRINTF(SWM_D_MISC, "update_floater: win %#x\n", win->id);
 
+       win->bordered = 1;
+
        if (FULLSCREEN(win)) {
                /* _NET_WM_FULLSCREEN: fullscreen without border. */
                if (!win->g_floatvalid)
@@ -4501,14 +4503,11 @@ update_floater(struct ws_win *win)
                win->g = r->g;
 
                if (bar_enabled && ws->bar_enabled) {
-                       win->bordered = 1;
                        if (!bar_at_bottom)
                                Y(win) += bar_height;
                        HEIGHT(win) -= bar_height;
                } else if (disable_border) {
                        win->bordered = 0;
-               } else {
-                       win->bordered = 1;
                }
 
                if (win->bordered) {
@@ -9430,6 +9429,13 @@ enternotify(xcb_enter_notify_event_t *e)
                        return;
                }
        } else {
+               if (e->mode == XCB_NOTIFY_MODE_NORMAL &&
+                   e->detail == XCB_NOTIFY_DETAIL_INFERIOR) {
+                       DNPRINTF(SWM_D_EVENT, "enternotify: entering from "
+                           "inferior; ignoring\n");
+                       return;
+               }
+
                focus_win(get_focus_magic(win));
        }