diff options
author | dequis <dx@dxzone.com.ar> | 2015-11-20 12:33:34 -0300 |
---|---|---|
committer | dequis <dx@dxzone.com.ar> | 2015-11-20 12:51:45 -0300 |
commit | 80c2f3c775d7a7dd5a59068f1cefe55370f56529 (patch) | |
tree | 1bfdc0ed361aa8fcbdb6c6ea1c5e5af0b0920112 /irc_im.c | |
parent | 0d8a9bb00abe74164cd643e003f4285a299d62a5 (diff) |
IRCv3 away-notify capability
Neat lightweight notifications of the awayness of contacts.
In practice, this means weechat/hexchat users can see away people in
their nick list and change show_users to 'online,special,away' to avoid
the mode spam completely.
These are also sent on online/offline changes, since offline_user_quits
can be turned off, and you'd need something when they come back.
Diffstat (limited to 'irc_im.c')
-rw-r--r-- | irc_im.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -119,6 +119,12 @@ static gboolean bee_irc_user_status(bee_t *bee, bee_user_t *bu, bee_user_t *old) iu->flags |= IRC_USER_AWAY; } + if ((irc->caps & CAP_AWAY_NOTIFY) && + ((bu->flags & BEE_USER_AWAY) != (old->flags & BEE_USER_AWAY) || + (bu->flags & BEE_USER_ONLINE) != (old->flags & BEE_USER_ONLINE))) { + irc_send_away_notify(iu); + } + if ((bu->flags & BEE_USER_ONLINE) != (old->flags & BEE_USER_ONLINE)) { if (bu->flags & BEE_USER_ONLINE) { if (g_hash_table_lookup(irc->watches, iu->key)) { |