X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus.c;h=df02cb7630bf7c9bff8dbc38f385437ba7f4db37;hb=746015e88c51dda43b26f35abc25050c502d319b;hp=0dafd799b5f2d41e50ca97d295657a9141597966;hpb=77baf26a7f2f64ddf1274035fd4991ab17345904;p=chaz%2Fopenbox diff --git a/openbox/focus.c b/openbox/focus.c index 0dafd799..df02cb76 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -159,7 +159,7 @@ static ObClient* focus_fallback_target(gboolean allow_refocus, } ObClient* focus_fallback(gboolean allow_refocus, gboolean allow_pointer, - gboolean allow_omnipresent) + gboolean allow_omnipresent, gboolean focus_lost) { ObClient *new; ObClient *old = focus_client; @@ -167,7 +167,8 @@ ObClient* focus_fallback(gboolean allow_refocus, gboolean allow_pointer, /* unfocus any focused clients.. they can be focused by Pointer events and such, and then when we try focus them, we won't get a FocusIn event at all for them. */ - focus_nothing(); + if (focus_lost) + focus_nothing(); new = focus_fallback_target(allow_refocus, allow_pointer, allow_omnipresent, old); @@ -177,7 +178,7 @@ ObClient* focus_fallback(gboolean allow_refocus, gboolean allow_pointer, return new; } -void focus_nothing() +void focus_nothing(void) { /* Install our own colormap */ if (focus_client != NULL) {