Highlight and beep pings

weechat-hashes
Curtis McEnroe 2018-08-07 17:51:23 -04:00
parent a6ede6f91f
commit 7d76246c3f
No known key found for this signature in database
GPG Key ID: CEA2F97ADCFCD77C
3 changed files with 11 additions and 1 deletions

1
chat.h
View File

@ -41,6 +41,7 @@ void ircFmt(const char *format, ...);
void uiInit(void); void uiInit(void);
void uiHide(void); void uiHide(void);
void uiDraw(void); void uiDraw(void);
void uiBeep(void);
void uiRead(void); void uiRead(void);
void uiTopic(const wchar_t *topic); void uiTopic(const wchar_t *topic);
void uiTopicStr(const char *topic); void uiTopicStr(const char *topic);

View File

@ -227,7 +227,12 @@ static void handlePrivmsg(char *prefix, char *params) {
char *action = strsep(&mesg, "\1"); char *action = strsep(&mesg, "\1");
uiFmt("* \3%d%s\3 %s", color(user), nick, action); uiFmt("* \3%d%s\3 %s", color(user), nick, action);
} else { } 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
);
} }
} }

4
ui.c
View File

@ -158,6 +158,10 @@ static void uiRedraw(void) {
clearok(curscr, true); clearok(curscr, true);
} }
void uiBeep(void) {
beep(); // always be beeping
}
static const short IRC_COLORS[16] = { static const short IRC_COLORS[16] = {
8 + COLOR_WHITE, // white 8 + COLOR_WHITE, // white
0 + COLOR_BLACK, // black 0 + COLOR_BLACK, // black