# HG changeset patch # User Mikael Berthe # Date 1206124072 -3600 # Node ID 49c8be8743443ea55cb8a35a39bc12c561faa341 # Parent 00503a68f4315584102a8bb5ec082b9f8d80e712 Add option 'ignore_self_presence' According to rfc3921bis, the server must broadcast initial presence to all of the user's available resources. Which means with compliant servers the users will see their own resource. When 'ignore_self_presence' is set, the self-presence messages are filtered out. diff -r 00503a68f431 -r 49c8be874344 mcabber/mcabberrc.example --- a/mcabber/mcabberrc.example Mon Mar 17 10:51:23 2008 +0100 +++ b/mcabber/mcabberrc.example Fri Mar 21 19:27:52 2008 +0100 @@ -25,6 +25,10 @@ #set priority = 3 #set priority_away = 0 +# Set 'ignore_self_presence' to 1 if you do not want to see your own +# presence in your roster (default: 0). +set ignore_self_presence = 1 + # SSL options: # Set ssl non-zero to use SSL (this also sets the default port to 5223). # * Please note that certificate verification is NOT yet supported if diff -r 00503a68f431 -r 49c8be874344 mcabber/src/jabglue.c --- a/mcabber/src/jabglue.c Mon Mar 17 10:51:23 2008 +0100 +++ b/mcabber/src/jabglue.c Fri Mar 21 19:27:52 2008 +0100 @@ -2400,6 +2400,13 @@ rname = strchr(from, JID_RESOURCE_SEPARATOR); if (rname) rname++; + if (settings_opt_get_int("ignore_self_presence")) { + const char *self_fjid = jid_full(jc->user); + if (self_fjid && !strcasecmp(self_fjid, from)) { + return; // Ignoring self presence + } + } + r = jidtodisp(from); // Check for MUC presence packet