Render actions in italic

Also render italic as normal if it's unsupported, as that is what would
happen anyway if curses has A_ITALIC but the terminal has no sitm. That
format string is kinda bad.
master
C. McEnroe 2020-02-06 18:48:49 -05:00
parent e1f10958c9
commit 34514cf2ee
2 changed files with 6 additions and 4 deletions

View File

@ -294,14 +294,16 @@ static void handlePrivmsg(struct Message *msg) {
bool notice = (msg->cmd[0] == 'N'); bool notice = (msg->cmd[0] == 'N');
bool action = isAction(msg); bool action = isAction(msg);
bool mention = !mine && isMention(msg); bool mention = !mine && isMention(msg);
const char *italic = (action ? "\35" : "");
const char *reverse = (mention ? "\26" : "");
uiFormat( uiFormat(
id, (!notice && (mention || query) ? Hot : Warm), tagTime(msg), id, (!notice && (mention || query) ? Hot : Warm), tagTime(msg),
"%s\3%d%s%s%s\17\t%s", "%s%s\3%d%s%s%s\3%s\t%s",
(mention ? "\26" : ""), italic, reverse, hash(msg->user),
hash(msg->user),
(action ? "* " : notice ? "-" : "<"), (action ? "* " : notice ? "-" : "<"),
msg->nick, msg->nick,
(action ? "" : notice ? "-" : ">"), (action ? "" : notice ? "-" : ">"),
reverse,
msg->params[1] msg->params[1]
); );
} }

2
ui.c
View File

@ -39,7 +39,7 @@
#undef lines #undef lines
#ifndef A_ITALIC #ifndef A_ITALIC
#define A_ITALIC A_UNDERLINE #define A_ITALIC A_NORMAL
#endif #endif
#define BOTTOM (LINES - 1) #define BOTTOM (LINES - 1)