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.
--- 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
--- 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