summaryrefslogtreecommitdiffstats
path: root/session.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2021-08-14 01:34:54 +0100
committerThomas Adam <thomas@xteddy.org>2021-08-14 01:34:54 +0100
commit54773d23b5ceb779c524dcac6bf3b848886fb6d6 (patch)
tree5c60007637121f63c8c730a04f4e8e741577c21a /session.c
parent4c07367bfe626fce990f5b5b2d00516ae8249a93 (diff)
parent63aa96864280ff07f706ebbae302b7c15abb964f (diff)
Merge branch 'obsd-master' into master
Diffstat (limited to 'session.c')
-rw-r--r--session.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/session.c b/session.c
index 76ad6ddf..8665cccc 100644
--- a/session.c
+++ b/session.c
@@ -487,6 +487,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)
@@ -495,6 +497,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);