Skip to content

Commit

Permalink
Only hide flags on the current window when the session is attached, from
Browse files Browse the repository at this point in the history
Roland Walker.
  • Loading branch information
nicm committed Jan 21, 2012
1 parent 8332413 commit cd10f73
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 5 deletions.
2 changes: 2 additions & 0 deletions cmd-attach-session.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ cmd_attach_session_exec(struct cmd *self, struct cmd_ctx *ctx)
ctx->curclient->session = s;
session_update_activity(s);
server_redraw_client(ctx->curclient);
s->curw->flags &= ~WINLINK_ALERTFLAGS;
} else {
if (!(ctx->cmdclient->flags & CLIENT_TERMINAL)) {
ctx->error(ctx, "not a terminal");
Expand Down Expand Up @@ -104,6 +105,7 @@ cmd_attach_session_exec(struct cmd *self, struct cmd_ctx *ctx)
environ_update(update, &ctx->cmdclient->environ, &s->environ);

server_redraw_client(ctx->cmdclient);
s->curw->flags &= ~WINLINK_ALERTFLAGS;
}
recalculate_sizes();
server_update_socket();
Expand Down
1 change: 1 addition & 0 deletions cmd-switch-client.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ cmd_switch_client_exec(struct cmd *self, struct cmd_ctx *ctx)
recalculate_sizes();
server_check_unattached();
server_redraw_client(c);
s->curw->flags &= ~WINLINK_ALERTFLAGS;

return (0);
}
12 changes: 7 additions & 5 deletions server-window.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,10 @@ server_window_loop(void)
server_status_session(s);
TAILQ_FOREACH(wp, &w->panes, entry)
server_window_check_content(s, wl, wp);

if (!(s->flags & SESSION_UNATTACHED))
w->flags &= ~(WINDOW_BELL|WINDOW_ACTIVITY);
}
w->flags &= ~(WINDOW_BELL|WINDOW_ACTIVITY);
}
}

Expand All @@ -72,7 +74,7 @@ server_window_check_bell(struct session *s, struct winlink *wl)

if (!(w->flags & WINDOW_BELL) || wl->flags & WINLINK_BELL)
return (0);
if (s->curw != wl)
if (s->curw != wl || s->flags & SESSION_UNATTACHED)
wl->flags |= WINLINK_BELL;

action = options_get_number(&s->options, "bell-action");
Expand Down Expand Up @@ -129,7 +131,7 @@ server_window_check_activity(struct session *s, struct winlink *wl)

if (!(w->flags & WINDOW_ACTIVITY) || wl->flags & WINLINK_ACTIVITY)
return (0);
if (s->curw == wl)
if (s->curw == wl && !(s->flags & SESSION_UNATTACHED))
return (0);

if (!options_get_number(&w->options, "monitor-activity"))
Expand Down Expand Up @@ -165,7 +167,7 @@ server_window_check_silence(struct session *s, struct winlink *wl)
if (!(w->flags & WINDOW_SILENCE) || wl->flags & WINLINK_SILENCE)
return (0);

if (s->curw == wl) {
if (s->curw == wl && !(s->flags & SESSION_UNATTACHED)) {
/*
* Reset the timer for this window if we've focused it. We
* don't want the timer tripping as soon as we've switched away
Expand Down Expand Up @@ -217,7 +219,7 @@ server_window_check_content(
/* Activity flag must be set for new content. */
if (!(w->flags & WINDOW_ACTIVITY) || wl->flags & WINLINK_CONTENT)
return (0);
if (s->curw == wl)
if (s->curw == wl && !(s->flags & SESSION_UNATTACHED))
return (0);

ptr = options_get_string(&w->options, "monitor-content");
Expand Down

0 comments on commit cd10f73

Please sign in to comment.