diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-07-05 16:24:13 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2013-07-05 16:24:13 +0100 |
commit | e496a548d7b07c9a4be9ce8e750cf5423e3bafe3 (patch) | |
tree | 26b867940c5174e44894050a493a70a5118ba968 /server-client.c | |
parent | 3d39b18e319cdd96bf25debcfcf52c03120e3d8e (diff) | |
parent | c7a121cfc0137c907b7bfb0c3fd1bdee395af8aa (diff) | |
download | rtmux-e496a548d7b07c9a4be9ce8e750cf5423e3bafe3.tar.gz rtmux-e496a548d7b07c9a4be9ce8e750cf5423e3bafe3.tar.bz2 rtmux-e496a548d7b07c9a4be9ce8e750cf5423e3bafe3.zip |
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c index 1c15a555..01616cbf 100644 --- a/server-client.c +++ b/server-client.c @@ -548,6 +548,15 @@ server_client_check_focus(struct window_pane *wp) { u_int i; 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; + wp->flags &= ~PANE_FOCUSPUSH; /* If we don't care about focus, forget it. */ if (!(wp->base.mode & MODE_FOCUSON)) @@ -580,13 +589,13 @@ server_client_check_focus(struct window_pane *wp) } not_focused: - if (wp->flags & PANE_FOCUSED) + if (push || (wp->flags & PANE_FOCUSED)) bufferevent_write(wp->event, "\033[O", 3); wp->flags &= ~PANE_FOCUSED; return; focused: - if (!(wp->flags & PANE_FOCUSED)) + if (push || !(wp->flags & PANE_FOCUSED)) bufferevent_write(wp->event, "\033[I", 3); wp->flags |= PANE_FOCUSED; } |