mirror of
https://github.com/tmux/tmux.git
synced 2025-09-01 20:57:00 +00:00
Change focus to be driven by events rather than walking all panes at end
of event loop, this way the ordering of in and out can be enforced. GitHub issue 2808.
This commit is contained in:
@ -489,6 +489,8 @@ session_last(struct session *s)
|
||||
int
|
||||
session_set_current(struct session *s, struct winlink *wl)
|
||||
{
|
||||
struct winlink *old = s->curw;
|
||||
|
||||
if (wl == NULL)
|
||||
return (-1);
|
||||
if (wl == s->curw)
|
||||
@ -497,6 +499,10 @@ session_set_current(struct session *s, struct winlink *wl)
|
||||
winlink_stack_remove(&s->lastw, wl);
|
||||
winlink_stack_push(&s->lastw, s->curw);
|
||||
s->curw = wl;
|
||||
if (options_get_number(global_options, "focus-events")) {
|
||||
window_update_focus(old->window);
|
||||
window_update_focus(wl->window);
|
||||
}
|
||||
winlink_clear_flags(wl);
|
||||
window_update_activity(wl->window);
|
||||
tty_update_window_offset(wl->window);
|
||||
|
Reference in New Issue
Block a user