diff --git a/Makefile b/Makefile index 655c77d..701308b 100644 --- a/Makefile +++ b/Makefile @@ -49,7 +49,7 @@ ifeq "$(NO_VSYNC_DRM)" "" CFG += -DCONFIG_VSYNC_DRM endif -# ==== OpenGL VSync ==== +# ==== OpenGL ==== ifeq "$(NO_VSYNC_OPENGL)" "" CFG += -DCONFIG_VSYNC_OPENGL # -lGL must precede some other libraries, or it segfaults on FreeBSD (#74) diff --git a/src/common.h b/src/common.h index eadaafd..f8531bc 100644 --- a/src/common.h +++ b/src/common.h @@ -30,6 +30,7 @@ // #define DEBUG_GLX_GLSL 1 // #define DEBUG_GLX_ERR 1 // #define DEBUG_GLX_MARK 1 +// #define DEBUG_GLX_PAINTREG 1 // #define MONITOR_REPAINT 1 // Whether to enable PCRE regular expression support in blacklists, enabled diff --git a/src/compton.c b/src/compton.c index 68577f1..0c98552 100644 --- a/src/compton.c +++ b/src/compton.c @@ -781,6 +781,12 @@ recheck_focus(session_t *ps) { win *w = find_win_all(ps, wid); +#ifdef DEBUG_EVENTS + print_timestamp(ps); + printf_dbgf("(): %#010lx (%#010lx \"%s\") focused.\n", wid, + (w ? w->id: None), (w ? w->name: NULL)); +#endif + // And we set the focus state here if (w) { win_set_focused(ps, w, true); @@ -3815,12 +3821,7 @@ ev_focus_in(session_t *ps, XFocusChangeEvent *ev) { ev_focus_report(ev); #endif - if (!ev_focus_accept(ev)) - return; - - win *w = find_win_all(ps, ev->window); - if (w) - win_set_focused(ps, w, true); + recheck_focus(ps); } inline static void @@ -3829,12 +3830,7 @@ ev_focus_out(session_t *ps, XFocusChangeEvent *ev) { ev_focus_report(ev); #endif - if (!ev_focus_accept(ev)) - return; - - win *w = find_win_all(ps, ev->window); - if (w) - win_set_focused(ps, w, false); + recheck_focus(ps); } inline static void