about summary refs log tree commit diff
path: root/handle.c
diff options
context:
space:
mode:
Diffstat (limited to 'handle.c')
-rw-r--r--handle.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/handle.c b/handle.c
index ab482fd..fb49206 100644
--- a/handle.c
+++ b/handle.c
@@ -294,18 +294,26 @@ 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%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]
-	);
+	if (notice) {
+		uiFormat(
+			id, Warm, tagTime(msg),
+			"%s\3%d-%s-\17\3%d\t%s",
+			(mention ? "\26" : ""), hash(msg->user), msg->nick,
+			LightGray, msg->params[1]
+		);
+	} else if (action) {
+		uiFormat(
+			id, (mention || query ? Hot : Warm), tagTime(msg),
+			"%s\35\3%d* %s\17\35\t%s",
+			(mention ? "\26" : ""), hash(msg->user), msg->nick, msg->params[1]
+		);
+	} else {
+		uiFormat(
+			id, (mention || query ? Hot : Warm), tagTime(msg),
+			"%s\3%d<%s>\17\t%s",
+			(mention ? "\26" : ""), hash(msg->user), msg->nick, msg->params[1]
+		);
+	}
 }
 
 static void handlePing(struct Message *msg) {