Only automatically switch to expected joins

master
C. McEnroe 2020-02-10 20:24:07 -05:00
parent 00f0f94fc8
commit 80a79467ef
3 changed files with 7 additions and 1 deletions

1
chat.h
View File

@ -120,6 +120,7 @@ void ircFormat(const char *format, ...)
__attribute__((format(printf, 1, 2))); __attribute__((format(printf, 1, 2)));
extern struct Replies { extern struct Replies {
size_t join;
size_t topic; size_t topic;
size_t names; size_t names;
size_t whois; size_t whois;

View File

@ -86,6 +86,7 @@ static void commandJoin(size_t id, char *params) {
} }
} }
ircFormat("JOIN %s\r\n", (params ? params : idNames[id])); ircFormat("JOIN %s\r\n", (params ? params : idNames[id]));
replies.join += count;
replies.topic += count; replies.topic += count;
replies.names += count; replies.names += count;
} }

View File

@ -164,6 +164,7 @@ static void handleReplyWelcome(struct Message *msg) {
if (*ch == ',') count++; if (*ch == ',') count++;
} }
ircFormat("JOIN %s\r\n", self.join); ircFormat("JOIN %s\r\n", self.join);
replies.join += count;
replies.topic += count; replies.topic += count;
replies.names += count; replies.names += count;
} }
@ -211,7 +212,10 @@ static void handleJoin(struct Message *msg) {
} }
idColors[id] = hash(msg->params[0]); idColors[id] = hash(msg->params[0]);
completeTouch(None, msg->params[0], idColors[id]); completeTouch(None, msg->params[0], idColors[id]);
if (replies.join) {
uiShowID(id); uiShowID(id);
replies.join--;
}
} }
completeTouch(id, msg->nick, hash(msg->user)); completeTouch(id, msg->nick, hash(msg->user));
if (msg->params[2] && !strcasecmp(msg->params[2], msg->nick)) { if (msg->params[2] && !strcasecmp(msg->params[2], msg->nick)) {