diff options
-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 |