summary refs log tree commit diff
path: root/command.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-04-16 16:37:47 -0400
committerJune McEnroe <june@causal.agency>2021-04-16 16:39:24 -0400
commitcfd5bf213cca412257c9bedf44bc99d1e51908c2 (patch)
treeb6e8a856b15cb711263279685154574ade5df284 /command.c
parentAlways show 341 RPL_INVITING (diff)
downloadcatgirl-cfd5bf213cca412257c9bedf44bc99d1e51908c2.tar.gz
catgirl-cfd5bf213cca412257c9bedf44bc99d1e51908c2.zip
Set id color from completion in /msg
In the same way that /query copies the id color from completion.
Also make both first check that a color isn't already set.
Diffstat (limited to 'command.c')
-rw-r--r--command.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/command.c b/command.c
index 0aefb2b..eae865e 100644
--- a/command.c
+++ b/command.c
@@ -135,8 +135,12 @@ static void commandMe(uint id, char *params) {
 }
 
 static void commandMsg(uint id, char *params) {
-	id = idFor(strsep(&params, " "));
-	splitMessage("PRIVMSG", id, params);
+	char *nick = strsep(&params, " ");
+	uint msg = idFor(nick);
+	if (idColors[msg] == Default) {
+		idColors[msg] = completeColor(id, nick);
+	}
+	splitMessage("PRIVMSG", msg, params);
 }
 
 static void commandJoin(uint id, char *params) {
@@ -357,7 +361,9 @@ static void commandCS(uint id, char *params) {
 static void commandQuery(uint id, char *params) {
 	if (!params) return;
 	uint query = idFor(params);
-	idColors[query] = completeColor(id, params);
+	if (idColors[query] == Default) {
+		idColors[query] = completeColor(id, params);
+	}
 	uiShowID(query);
 }