The freedesktop.org icon spec defines that the icon for the extended away
status is called user-idle. However, some icon theme authors interpret this
name as meaning mere idleness rather than the intended extended away semantic
of away *and* idle, creating visual confusion (extended-away contacts appearing
less away than contacts who are merely away). Some themes contain a
non-standard user-extended-away icon with the correct semantic, so this patch
makes Empathy use it in preference to user-idle if available. (Incidentally, at
the moment Telepathy itself never actually shows remote contacts as idle.)
#define EMPATHY_IMAGE_AVAILABLE "user-available"
#define EMPATHY_IMAGE_BUSY "user-busy"
#define EMPATHY_IMAGE_AWAY "user-away"
-#define EMPATHY_IMAGE_EXT_AWAY "user-idle"
+#define EMPATHY_IMAGE_EXT_AWAY "user-extended-away"
+#define EMPATHY_IMAGE_IDLE "user-idle"
#define EMPATHY_IMAGE_PENDING "empathy-pending"
#define EMPATHY_IMAGE_MESSAGE "im-message"
case TP_CONNECTION_PRESENCE_TYPE_AWAY:
return EMPATHY_IMAGE_AWAY;
case TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY:
- return EMPATHY_IMAGE_EXT_AWAY;
+ if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (),
+ EMPATHY_IMAGE_EXT_AWAY))
+ return EMPATHY_IMAGE_EXT_AWAY;
+
+ /* The 'extended-away' icon is not an official one so we fallback to idle if
+ * it's not implemented */
+ return EMPATHY_IMAGE_IDLE;
case TP_CONNECTION_PRESENCE_TYPE_HIDDEN:
if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (),
EMPATHY_IMAGE_HIDDEN))