diff options
author | Tiago Cunha <tcunha@gmx.com> | 2012-06-18 15:17:55 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2012-06-18 15:17:55 +0000 |
commit | a401420273490717de3f6fe8f7f0915692be72a3 (patch) | |
tree | 6a8e686b018640e093da769ae878c38aefe90d0b | |
parent | fce30422f35865c0a5a24f63dde604329f12792e (diff) | |
download | rtmux-a401420273490717de3f6fe8f7f0915692be72a3.tar.gz rtmux-a401420273490717de3f6fe8f7f0915692be72a3.tar.bz2 rtmux-a401420273490717de3f6fe8f7f0915692be72a3.zip |
Sync OpenBSD patchset 1137:
Tidy up bell code, from Thomas Adam.
-rw-r--r-- | server-window.c | 49 |
1 files changed, 14 insertions, 35 deletions
diff --git a/server-window.c b/server-window.c index 69e4c6c1..b48c8a24 100644 --- a/server-window.c +++ b/server-window.c @@ -76,46 +76,25 @@ server_window_check_bell(struct session *s, struct winlink *wl) return (0); if (s->curw != wl || s->flags & SESSION_UNATTACHED) wl->flags |= WINLINK_BELL; + if (s->flags & SESSION_UNATTACHED) + return (1); + visual = options_get_number(&s->options, "visual-bell"); action = options_get_number(&s->options, "bell-action"); - switch (action) { - case BELL_ANY: - if (s->flags & SESSION_UNATTACHED) - break; - visual = options_get_number(&s->options, "visual-bell"); - for (i = 0; i < ARRAY_LENGTH(&clients); i++) { - c = ARRAY_ITEM(&clients, i); - if (c == NULL || c->session != s) - continue; - if (!visual) { - tty_bell(&c->tty); - continue; - } - if (c->session->curw->window == w) { - status_message_set(c, "Bell in current window"); - continue; - } - status_message_set(c, "Bell in window %u", - winlink_find_by_window(&s->windows, w)->idx); + for (i = 0; i < ARRAY_LENGTH(&clients); i++) { + c = ARRAY_ITEM(&clients, i); + if (c == NULL || c->session != s) + continue; + if (!visual) { + tty_bell(&c->tty); + continue; } - break; - case BELL_CURRENT: - if (s->flags & SESSION_UNATTACHED) - break; - visual = options_get_number(&s->options, "visual-bell"); - for (i = 0; i < ARRAY_LENGTH(&clients); i++) { - c = ARRAY_ITEM(&clients, i); - if (c == NULL || c->session != s) - continue; - if (c->session->curw->window != w) - continue; - if (!visual) { - tty_bell(&c->tty); - continue; - } + if (c->session->curw->window == w) status_message_set(c, "Bell in current window"); + else if (action == BELL_ANY) { + status_message_set(c, "Bell in window %u", + winlink_find_by_window(&s->windows, w)->idx); } - break; } return (1); |