aboutsummaryrefslogtreecommitdiff
path: root/degesch.c
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2015-06-06 01:21:27 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2015-06-06 01:21:27 +0200
commita8dc6ad1418f9bec9bd2e912804332a8520e7115 (patch)
tree99d4c247b1407e9cf82c24eb4c7e46dd4c208a26 /degesch.c
parentab15ec0a9a95c97a15e7219069122da56078b0d5 (diff)
downloadxK-a8dc6ad1418f9bec9bd2e912804332a8520e7115.tar.gz
xK-a8dc6ad1418f9bec9bd2e912804332a8520e7115.tar.xz
xK-a8dc6ad1418f9bec9bd2e912804332a8520e7115.zip
degesch: show our own channel modes in prompt
Diffstat (limited to 'degesch.c')
-rw-r--r--degesch.c12
1 files changed, 11 insertions, 1 deletions
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