[Telepathy] Telepathy/Empathy improvements for Gnome Shell

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Nov 12 01:08:16 PST 2010


Le jeudi 11 novembre 2010 à 22:15 +0000, Will Thompson a écrit :
> Hi folks,

Hi Will; thanks for this detailed mail.

> • hide the tray icon if the shell is running and no channels need approving;

Actually, I've been asked to always hide it if the shell is running:
https://bugzilla.gnome.org/show_bug.cgi?id=631944

> • don't approve 1-1 Text channels if the shell is running;

What does that mean exactly ? Atm Empathy implements one Approver
(Client.Empathy.EventManager). When a channel needs to be approved, this
event manager displays it:
- As a notification bubble (with buttons if the notification daemon
supports it)
- In the notification area
- In the contact list

So, if we disable the status icon (cf above) we'll still have the
notification bubbles and the contact list change. Is that ok ?

(Actually that's not true because the notification bubbles are currently
implemented with the status icon but that's an implementation detail, we
should be able to easily separate them).

> • make Empathy change the user's presence based on the session state;

There have been a lot of discussion about this (the most recent was on
https://bugzilla.gnome.org/show_bug.cgi?id=617207 ) and we were still
not sure what was the right way to do it.
a) Shell's session state applet pokes MC to change the presence
b) gnome-session pokes MC to change the presence
c) Empathy listen on gnome-session state and change presence accordingly
d) MC listens on gnome-session state and change presence
e) ...

> Unrelated to conversations: there's a presence picker in the menu that 
> appears when you click your name. It doesn't offer the full range of IM 
> presences: it's for general desktop presence. If you're Available, 
> notifications get shown to you etc etc; if you're Busy, they hide until 
> you mouse to the corner. The general opinion seems to be that if Empathy 
> is running the user should be signed in (unless they pick Offline, 
> obviously) and if it's not, they shouldn't. So Empathy would listen to 
> the session's state change notifications (between Available and Busy, 
> and the implicit change to/from Away) and update your Telepathy status 
> accordingly. If the user picks Invisible or Away or whatever in Empathy, 
> then this should take priority over the session state.


Ok, so you seemed to go for c). This seems a bit weird to me; isn't that
the wrong way to do things? There have been some discussion that Emapthy
shouldn't do the idle detection and auto-away thing but let MC does it.
This solution seems go to the wrong direction in that regard.

> Finally, Empathy's full name in its desktop file should be changed to 
> Chat. The design is that applications that are part of the desktop 
> platform (like File Browser, Calculator, etc.) should always have 
> unbranded names, and applications that sit on top (such as Firefox, for 
> instance) should have branded names. Empathy is considered part of the 
> desktop.

That's https://bugzilla.gnome.org/show_bug.cgi?id=631476

I'm still unsure about this. We recently splitted the text handler to
its own process (empathy-chat) so the "empathy" binary is now purely the
contact list; renaming it to "Chat" seems a bit weird as the chatting
part is actually done by empathy-chat.

Atm, empathy-chat doesn't any UI when it's manually started (it just
display chats when handling text channels) but we could imagine adding
one at some point.


Regards,



	G.




More information about the telepathy mailing list