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.
weechat-hashes
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 action = isAction(msg);
bool mention = !mine && isMention(msg);
const char *italic = (action ? "\35" : "");
const char *reverse = (mention ? "\26" : "");
uiFormat(
id, (!notice && (mention || query) ? Hot : Warm), tagTime(msg),
"%s\3%d%s%s%s\17\t%s",
(mention ? "\26" : ""),
hash(msg->user),
"%s%s\3%d%s%s%s\3%s\t%s",
italic, reverse, hash(msg->user),
(action ? "* " : notice ? "-" : "<"),
msg->nick,
(action ? "" : notice ? "-" : ">"),
reverse,
msg->params[1]
);
}

2
ui.c
View File

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