diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-05-13 09:44:11 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-05-13 09:44:11 +0100 |
commit | 00471dc78358bde092df65de5e2c375bf9be7437 (patch) | |
tree | 4db96614bbc7e70dcdeaa307a3280103beee2f9e /format.c | |
parent | 4165ed96f8f0c494c7bd4f793176e508b6b6581d (diff) | |
parent | 3f4ee98162cd5bb7000f93fec0e631e123b1281d (diff) | |
download | rtmux-00471dc78358bde092df65de5e2c375bf9be7437.tar.gz rtmux-00471dc78358bde092df65de5e2c375bf9be7437.tar.bz2 rtmux-00471dc78358bde092df65de5e2c375bf9be7437.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'format.c')
-rw-r--r-- | format.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -495,6 +495,8 @@ format_defaults_session(struct format_tree *ft, struct session *s) { struct session_group *sg; time_t t; + struct winlink *wl; + char alerts[256], tmp[16]; ft->s = s; @@ -519,6 +521,24 @@ format_defaults_session(struct format_tree *ft, struct session *s) format_add(ft, "session_attached", "%u", s->attached); format_add(ft, "session_many_attached", "%d", s->attached > 1); + + *alerts = '\0'; + RB_FOREACH (wl, winlinks, &s->windows) { + if ((wl->flags & WINLINK_ALERTFLAGS) == 0) + continue; + snprintf(tmp, sizeof tmp, "%u", wl->idx); + + if (*alerts != '\0') + strlcat(alerts, ",", sizeof alerts); + strlcat(alerts, tmp, sizeof alerts); + if (wl->flags & WINLINK_ACTIVITY) + strlcat(alerts, "#", sizeof alerts); + if (wl->flags & WINLINK_BELL) + strlcat(alerts, "!", sizeof alerts); + if (wl->flags & WINLINK_SILENCE) + strlcat(alerts, "~", sizeof alerts); + } + format_add(ft, "session_alerts", "%s", alerts); } /* Set default format keys for a client. */ |