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:
             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)
 
 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)
 
 
     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):