home · contact · privacy
Improve query window log formatting.
authorChristian Heller <c.heller@plomlompom.de>
Tue, 5 Aug 2025 03:26:36 +0000 (05:26 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Tue, 5 Aug 2025 03:26:36 +0000 (05:26 +0200)
ircplom/client.py
ircplom/client_tui.py

index a80d3d88064dbdb7b3ba538cb19fae4b2a464a00..91015b285144f969d7ffe3085b60158f4e6a79cd 100644 (file)
@@ -221,13 +221,14 @@ class Client(ABC, ClientQueueMixin):
         the client, those to chat="" only in the initial connection window.
         '''
 
-    def send(self, msg: IrcMessage, chat: str = '') -> None:
+    def send(self, msg: IrcMessage, chat: str = '', to_log: str = '') -> None:
         'Send line-separator-delimited message over socket.'
         if not self.conn:
             self.log.alert('cannot send, connection seems closed')
             return
         self.conn.send(msg)
-        self.log.add(msg.raw, prefix=_LOG_PREFIX_SEND_FMT, chat=chat)
+        if to_log:
+            self.log.add(to_log, prefix='', chat=chat)
         self.log.add(msg.raw, prefix=_LOG_PREFIX_SEND_RAW, chat=':raw')
 
     def update_login(self, nick_confirmed: bool, nickname: str = '') -> None:
@@ -268,8 +269,9 @@ class Client(ABC, ClientQueueMixin):
             case '001' | 'NICK':
                 self.update_login(nickname=msg.params[0], nick_confirmed=True)
             case 'PRIVMSG':
-                self.log.add(msg=str(msg.params), prefix=_LOG_PREFIX_PRIVMSG,
-                             chat=msg.source.split('!')[0])
+                nickname = msg.source.split('!')[0]
+                self.log.add(f'<[{nickname}] {msg.params[-1]}', chat=nickname,
+                             prefix=_LOG_PREFIX_PRIVMSG)
             case 'CAP':
                 for to_log in self._caps.process_msg(msg.params[1:]):
                     self.log.add(to_log)
index 823b4f925c8315c3d49e1cb1caa6cf6cd2bc17e5..197ccea975173662d51ea033997b52824127ff78 100644 (file)
@@ -7,7 +7,7 @@ from ircplom.events import PayloadMixin
 from ircplom.tui_base import (BaseTui, PromptWidget, TuiEvent, Window,
                               CMD_SHORTCUTS)
 from ircplom.irc_conn import IrcMessage
-from ircplom.client import (CHAT_GLOB, IrcConnSetup, Client,
+from ircplom.client import (CHAT_GLOB, IrcConnSetup, Client, ClientEvent,
                             ClientIdMixin, ClientQueueMixin,
                             InitReconnectEvent, NewClientEvent, SendEvent)
 
@@ -78,8 +78,10 @@ class _ClientWindow(Window, ClientQueueMixin):
 
     def cmd__privmsg(self, target: str, msg: str) -> None:
         'Send chat message msg to target.'
-        self._cput(SendEvent, chat=target,
-                   payload=IrcMessage(verb='PRIVMSG', params=(target, msg)))
+        self._cput(ClientEvent.make_subtype(
+            method_to_call='send',
+            msg=IrcMessage(verb='PRIVMSG', params=(target, msg)),
+            chat=target, to_log=f'>[MYSELF] {msg}'))
 
 
 class _PrivmsgPromptWidget(_ClientPromptWidget):