From a8dc6ad1418f9bec9bd2e912804332a8520e7115 Mon Sep 17 00:00:00 2001 From: Přemysl Janouch Date: Sat, 6 Jun 2015 01:21:27 +0200 Subject: degesch: show our own channel modes in prompt --- degesch.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/degesch.c b/degesch.c index ed56a0d..ef2a1e8 100644 --- a/degesch.c +++ b/degesch.c @@ -3690,6 +3690,13 @@ make_prompt (struct app_context *ctx, struct str *output) str_append (output, "(unregistered)"); else { + if (buffer->type == BUFFER_CHANNEL) + { + struct channel_user *channel_user = + irc_channel_get_user (buffer->channel, s->irc_user); + if (channel_user) + str_append (output, channel_user->prefixes.str); + } str_append (output, s->irc_user->nickname); if (*s->irc_user_mode) str_append_printf (output, "(%s)", s->irc_user_mode); @@ -4118,7 +4125,7 @@ irc_handle_mode (struct server *s, const struct irc_message *msg) char *modes = irc_to_utf8 (s->ctx, reconstructed); free (reconstructed); - // TODO: parse the mode change and apply it (our user & channel user modes) + // TODO: parse user mode changes if (irc_is_channel (s, context)) { @@ -4150,6 +4157,9 @@ irc_handle_mode (struct server *s, const struct irc_message *msg) free (who); free (modes); + + // Our own modes might have changed + refresh_prompt (s->ctx); } static void -- cgit v1.2.3-70-g09d2