summaryrefslogtreecommitdiff
path: root/poezio/ui/render.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-04-15 18:44:22 +0200
committermathieui <mathieui@mathieui.net>2021-04-15 18:44:22 +0200
commita17e5a456b9bf1a949d9ed1d0d1df90013c69e6d (patch)
treecff15b765af64f8aed4ed860580a2c7d26c9bd38 /poezio/ui/render.py
parent56bab711924cd7a660c874abf40fd545693f8d98 (diff)
downloadpoezio-a17e5a456b9bf1a949d9ed1d0d1df90013c69e6d.tar.gz
poezio-a17e5a456b9bf1a949d9ed1d0d1df90013c69e6d.tar.bz2
poezio-a17e5a456b9bf1a949d9ed1d0d1df90013c69e6d.tar.xz
poezio-a17e5a456b9bf1a949d9ed1d0d1df90013c69e6d.zip
internal: add a different class for UI messages
Diffstat (limited to 'poezio/ui/render.py')
-rw-r--r--poezio/ui/render.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/poezio/ui/render.py b/poezio/ui/render.py
index f377df7f..0d1e8d2b 100644
--- a/poezio/ui/render.py
+++ b/poezio/ui/render.py
@@ -30,6 +30,7 @@ from poezio.ui.types import (
BaseMessage,
Message,
StatusMessage,
+ UIMessage,
XMLLog,
)
@@ -125,6 +126,29 @@ def write_pre(msg: BaseMessage, win: Win, with_timestamps: bool, nick_size: int)
return 0
+@write_pre.register(UIMessage)
+def write_pre_uimessage(msg: UIMessage, win: Win, with_timestamps: bool, nick_size: int) -> int:
+ """ Write the prefix of a ui message log
+ - timestamp (short or long)
+ - level
+ """
+ color: Optional[Tuple]
+ offset = 0
+ if with_timestamps:
+ offset += PreMessageHelpers.write_time(win, False, msg.time)
+
+ if not msg.level: # not a message, nothing to do afterwards
+ return offset
+
+ level = truncate_nick(msg.level, nick_size)
+ offset += poopt.wcswidth(level)
+ color = msg.color
+ PreMessageHelpers.write_nickname(win, level, color, False)
+ win.addstr('> ')
+ offset += 2
+ return offset
+
+
@write_pre.register(Message)
def write_pre_message(msg: Message, win: Win, with_timestamps: bool, nick_size: int) -> int:
"""Write the part before the body: