X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus.c;h=4ff85c5d4ae74cb2afea62196b1faedfd4518602;hb=747679b80728d7903c39cafa7f0c1756c59a48ea;hp=3989404685d08cda2977bbd5beca9ec230467120;hpb=bd12517c615d661fa2823f85bbbcb48555f7c3db;p=chaz%2Fopenbox diff --git a/openbox/focus.c b/openbox/focus.c index 39894046..4ff85c5d 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -18,6 +18,7 @@ GList **focus_order = NULL; /* these lists are created when screen_startup Window focus_backup = None; gboolean focus_new = TRUE; gboolean focus_follow = TRUE; +int focus_ignore_in = 0; static void parse_assign(char *name, ParseToken *value) { @@ -99,7 +100,10 @@ void focus_set_client(Client *client) focus_client = client; /* move to the top of the list */ - if (client != NULL) { + if (focus_ignore_in) { + g_assert(focus_ignore_in > 0); + --focus_ignore_in; + } else if (client != NULL) { desktop = client->desktop; if (desktop == DESKTOP_ALL) desktop = screen_desktop; focus_order[desktop] = g_list_remove(focus_order[desktop], client);