diff options
author | June McEnroe <june@causal.agency> | 2018-08-07 17:51:23 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2018-08-07 17:51:23 -0400 |
commit | 7d76246c3f488edf3770dc7b641965dbd60bf6e5 (patch) | |
tree | 2053804e21aa8b220441c105bf24b38abcb80a44 | |
parent | Factor out allocating conversion between wcs and mbs (diff) | |
download | catgirl-7d76246c3f488edf3770dc7b641965dbd60bf6e5.tar.gz catgirl-7d76246c3f488edf3770dc7b641965dbd60bf6e5.zip |
Highlight and beep pings
-rw-r--r-- | chat.h | 1 | ||||
-rw-r--r-- | handle.c | 7 | ||||
-rw-r--r-- | ui.c | 4 |
3 files changed, 11 insertions, 1 deletions
diff --git a/chat.h b/chat.h index 1c7ae5a..838c51d 100644 --- a/chat.h +++ b/chat.h @@ -41,6 +41,7 @@ void ircFmt(const char *format, ...); void uiInit(void); void uiHide(void); void uiDraw(void); +void uiBeep(void); void uiRead(void); void uiTopic(const wchar_t *topic); void uiTopicStr(const char *topic); diff --git a/handle.c b/handle.c index 015960d..e2169e5 100644 --- a/handle.c +++ b/handle.c @@ -227,7 +227,12 @@ static void handlePrivmsg(char *prefix, char *params) { char *action = strsep(&mesg, "\1"); uiFmt("* \3%d%s\3 %s", color(user), nick, action); } else { - uiFmt("<\3%d%s\3> %s", color(user), nick, mesg); + bool ping = !strncasecmp(mesg, chat.nick, strlen(chat.nick)); + if (ping) uiBeep(); + uiFmt( + "<%s\3%d%s\17> %s", + (ping ? "\26" : ""), color(user), nick, mesg + ); } } diff --git a/ui.c b/ui.c index 62c3b3c..590bfb4 100644 --- a/ui.c +++ b/ui.c @@ -158,6 +158,10 @@ static void uiRedraw(void) { clearok(curscr, true); } +void uiBeep(void) { + beep(); // always be beeping +} + static const short IRC_COLORS[16] = { 8 + COLOR_WHITE, // white 0 + COLOR_BLACK, // black |