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(¶ms, " ")); - splitMessage("PRIVMSG", id, params); + char *nick = strsep(¶ms, " "); + 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); }