=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server-client.c,v retrieving revision 1.196 retrieving revision 1.197 diff -u -r1.196 -r1.197 --- src/usr.bin/tmux/server-client.c 2016/10/16 22:06:40 1.196 +++ src/usr.bin/tmux/server-client.c 2016/10/19 09:22:07 1.197 @@ -1,4 +1,4 @@ -/* $OpenBSD: server-client.c,v 1.196 2016/10/16 22:06:40 nicm Exp $ */ +/* $OpenBSD: server-client.c,v 1.197 2016/10/19 09:22:07 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -853,6 +853,7 @@ struct client *c; struct window *w; struct window_pane *wp; + int focus; TAILQ_FOREACH(c, &clients, entry) { server_client_check_exit(c); @@ -866,11 +867,13 @@ * Any windows will have been redrawn as part of clients, so clear * their flags now. Also check pane focus and resize. */ + focus = options_get_number(global_options, "focus-events"); RB_FOREACH(w, windows, &windows) { w->flags &= ~WINDOW_REDRAW; TAILQ_FOREACH(wp, &w->panes, entry) { if (wp->fd != -1) { - server_client_check_focus(wp); + if (focus) + server_client_check_focus(wp); server_client_check_resize(wp); } wp->flags &= ~PANE_REDRAW; @@ -936,10 +939,6 @@ { struct client *c; int push; - - /* Are focus events off? */ - if (!options_get_number(global_options, "focus-events")) - return; /* Do we need to push the focus state? */ push = wp->flags & PANE_FOCUSPUSH;