about summary refs log tree commit diff stats
path: root/src/ui/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/core.c')
-rw-r--r--src/ui/core.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ui/core.c b/src/ui/core.c
index a84d5856..8f385cf2 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -1272,7 +1272,7 @@ _ui_outgoing_msg(const char * const from, const char * const to,
 }
 
 static void
-_ui_room_join(char *room, gboolean focus)
+_ui_room_join(const char * const room, gboolean focus)
 {
     ProfWin *window = wins_get_by_recipient(room);
     int num = 0;
@@ -1289,7 +1289,8 @@ _ui_room_join(char *room, gboolean focus)
     } else {
         status_bar_active(num);
         ProfWin *console = wins_get_console();
-        win_vprint_line(console, '!', COLOUR_ONLINE, "-> Autojoined %s (%d).", room, num);
+        char *nick = muc_get_room_nick(room);
+        win_vprint_line(console, '!', COLOUR_TYPING, "-> Autojoined %s as %s (%d).", room, nick, num);
         win_update_virtual(console);
     }
 }
@@ -1350,6 +1351,12 @@ _ui_room_roster(const char * const room, GList *roster, const char * const prese
 }
 
 static void
+_ui_handle_room_join_error(const char * const room, const char * const err)
+{
+    cons_show_error("Error joining room %s, reason: %s", room, err);
+}
+
+static void
 _ui_room_member_offline(const char * const room, const char * const nick)
 {
     ProfWin *window = wins_get_by_recipient(room);
@@ -1979,4 +1986,5 @@ ui_init_module(void)
     ui_handle_stanza = _ui_handle_stanza;
     ui_create_xmlconsole_win = _ui_create_xmlconsole_win;
     ui_xmlconsole_exists = _ui_xmlconsole_exists;
+    ui_handle_room_join_error = _ui_handle_room_join_error;
 }