diff options
author | June McEnroe <june@causal.agency> | 2020-02-10 20:24:07 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-10 20:24:07 -0500 |
commit | 80a79467efca8f17e440cb63009c60dd8e78cc63 (patch) | |
tree | 96c3e7e1bb3c3f1fad88976fc359307688f75f13 | |
parent | Delegate to commandPrivmsg from commandMsg (diff) | |
download | catgirl-80a79467efca8f17e440cb63009c60dd8e78cc63.tar.gz catgirl-80a79467efca8f17e440cb63009c60dd8e78cc63.zip |
Only automatically switch to expected joins
Diffstat (limited to '')
-rw-r--r-- | chat.h | 1 | ||||
-rw-r--r-- | command.c | 1 | ||||
-rw-r--r-- | handle.c | 6 |
3 files changed, 7 insertions, 1 deletions
diff --git a/chat.h b/chat.h index 03a0a50..f47b244 100644 --- a/chat.h +++ b/chat.h @@ -120,6 +120,7 @@ void ircFormat(const char *format, ...) __attribute__((format(printf, 1, 2))); extern struct Replies { + size_t join; size_t topic; size_t names; size_t whois; diff --git a/command.c b/command.c index cab1d26..5cb43cf 100644 --- a/command.c +++ b/command.c @@ -86,6 +86,7 @@ static void commandJoin(size_t id, char *params) { } } ircFormat("JOIN %s\r\n", (params ? params : idNames[id])); + replies.join += count; replies.topic += count; replies.names += count; } diff --git a/handle.c b/handle.c index fd2a67f..0db7fd9 100644 --- a/handle.c +++ b/handle.c @@ -164,6 +164,7 @@ static void handleReplyWelcome(struct Message *msg) { if (*ch == ',') count++; } ircFormat("JOIN %s\r\n", self.join); + replies.join += count; replies.topic += count; replies.names += count; } @@ -211,7 +212,10 @@ static void handleJoin(struct Message *msg) { } idColors[id] = hash(msg->params[0]); completeTouch(None, msg->params[0], idColors[id]); - uiShowID(id); + if (replies.join) { + uiShowID(id); + replies.join--; + } } completeTouch(id, msg->nick, hash(msg->user)); if (msg->params[2] && !strcasecmp(msg->params[2], msg->nick)) { |