summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--poezio/core/handlers.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/poezio/core/handlers.py b/poezio/core/handlers.py
index 3e2a20a0..8ed861af 100644
--- a/poezio/core/handlers.py
+++ b/poezio/core/handlers.py
@@ -778,8 +778,12 @@ class HandlerCore:
replaced = True
except CorrectionError:
log.debug('Unable to correct a message', exc_info=True)
- if not replaced and tab.add_message(
- PMessage(
+
+ if not replaced:
+ # Messages coming from MUC barejid (Server maintenance, IRC mode
+ # changes from biboumi, etc.) are displayed as info messages.
+ if message['from'].resource:
+ ui_msg = PMessage(
txt=body,
time=date,
nickname=nick_from,
@@ -788,9 +792,18 @@ class HandlerCore:
identifier=message['id'],
jid=message['from'],
user=user,
- ),
- typ=1):
- self.core.events.trigger('highlight', message, tab)
+ )
+ typ = 1
+ else:
+ ui_msg = InfoMessage(
+ txt=body,
+ time=date,
+ identifier=message['id'],
+ )
+ typ = 2
+
+ if tab.add_message(ui_msg, typ):
+ self.core.events.trigger('highlight', message, tab)
if message['from'].resource == tab.own_nick:
tab.set_last_sent_message(message, correct=replaced)