about summary refs log tree commit diff stats
path: root/src/event
diff options
context:
space:
mode:
Diffstat (limited to 'src/event')
-rw-r--r--src/event/server_events.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/event/server_events.c b/src/event/server_events.c
index 176fc57b..9760d157 100644
--- a/src/event/server_events.c
+++ b/src/event/server_events.c
@@ -240,7 +240,12 @@ sv_ev_room_message(const char *const room_jid, const char *const nick,
     // not currently on groupchat window
     } else {
         status_bar_new(num);
-        cons_show_incoming_room_message(nick, mucwin->roomjid, num);
+        char *muc_show = prefs_get_string(PREF_CONSOLE_MUC);
+        if (g_strcmp0(muc_show, "all") == 0) {
+            cons_show_incoming_room_message(nick, mucwin->roomjid, num);
+        } else if (g_strcmp0(muc_show, "first") == 0 && mucwin->unread == 0) {
+            cons_show_incoming_room_message(NULL, mucwin->roomjid, num);
+        }
 
         if (prefs_get_boolean(PREF_FLASH) && (strcmp(nick, my_nick) != 0)) {
             flash();