summaryrefslogtreecommitdiffstats
path: root/cmd-kill-session.c
diff options
context:
space:
mode:
authornicm <nicm>2015-11-24 21:50:06 +0000
committernicm <nicm>2015-11-24 21:50:06 +0000
commit9fd3318dd818c45432581beff5b1a5f6cb55f2ff (patch)
tree0653eac9d9b37a129a48d30acb45bd12e4f37828 /cmd-kill-session.c
parent4e3015a8925f72b35393afec250cc46e4f480641 (diff)
All kill-session -C to clear alerts in all windows, suggested by Aaron
U'Ren.
Diffstat (limited to 'cmd-kill-session.c')
-rw-r--r--cmd-kill-session.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/cmd-kill-session.c b/cmd-kill-session.c
index 74843eb6..3f39c241 100644
--- a/cmd-kill-session.c
+++ b/cmd-kill-session.c
@@ -31,8 +31,8 @@ enum cmd_retval cmd_kill_session_exec(struct cmd *, struct cmd_q *);
const struct cmd_entry cmd_kill_session_entry = {
"kill-session", NULL,
- "at:", 0, 0,
- "[-a] " CMD_TARGET_SESSION_USAGE,
+ "aCt:", 0, 0,
+ "[-aC] " CMD_TARGET_SESSION_USAGE,
0,
cmd_kill_session_exec
};
@@ -42,11 +42,18 @@ cmd_kill_session_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
struct session *s, *sloop, *stmp;
+ struct winlink *wl;
if ((s = cmd_find_session(cmdq, args_get(args, 't'), 0)) == NULL)
return (CMD_RETURN_ERROR);
- if (args_has(args, 'a')) {
+ if (args_has(args, 'C')) {
+ RB_FOREACH(wl, winlinks, &s->windows) {
+ wl->window->flags &= ~WINDOW_ALERTFLAGS;
+ wl->flags &= ~WINLINK_ALERTFLAGS;
+ }
+ server_redraw_session(s);
+ } else if (args_has(args, 'a')) {
RB_FOREACH_SAFE(sloop, sessions, &sessions, stmp) {
if (sloop != s) {
server_destroy_session(sloop);