TelepathyIndicator

Summary

Create a new desktop service (telepathy-indicator) to provide the interaction between messaging events and the messaging menu. Primary goal is to reduce the maintenance burden of patching messaging menu support in empathy.

Rationale

Currently, we are maintaining a pretty significant patch to empathy for messaging menu integration. This integration is important to the Ayatana project, and the overall user experience of Ubuntu. Telepathy provides a pretty rich API now to allow a completely separate service to run outside of empathy and provide this integration we require. The end goal is to create a robust service to handle incoming messages, calls, files, etc and open the appropriate handler when acted on.

Assumptions

The telepathy-glib APIs have evolved very rapidly, and should provide access to everything we need.

UI Changes

Very little, the icon and entry in the messaging menu will remain the same. However, clicking on it will actually activate telepathy-indicator which will call the appropriate handler (for now just empathy).

We should read the empathy settings for displaying the notification icon vs. the indicator. Perhaps these can later be moved out of empathy and into a more generic settings interface.

Code Changes

Re-factor the existing empathy patch removing most of the messaging menu integration. We will need check for "Interest" in the indicator to handle displaying/hiding of the StatusIcon.

Other Ideas

An additional idea I had was adding some of the richer notifications that we need to telepathy-indicator instead of empathy. For example, the morphing windows idea for handling real-time communications.

Unresolved issues

  • Should notifications be handled by empathy or telepathy-indicator?
    • - If empathy isn't running, but you are logged on with mission-control-5, you will get indicators for new chats but no notifications. Perhaps we should use notification settings from empathy, and if using the messaging menu suppress notifications from empathy and display notifications via telepathy-indicator. Bug

  • telepathy-glib doesn't provide an high-level API for text channels. This are needed to hide the indicator event if the chat was focused without activating it from the messaging menu. We also need to add an indicator when new messages arrive in an existing chat, that isn't focused. As a work around we could connect the signals directly over DBus, but I haven't investigated this yet. Bug


CategorySpec

TelepathyIndicator (last edited 2010-08-12 13:52:54 by cpe-065-190-158-029)