Allow for other calendar applications to register with Unity calendar indicator

Bug #1308296 reported by Jim Nelson
38
This bug affects 8 people
Affects Status Importance Assigned to Milestone
indicator-datetime (Ubuntu)
Confirmed
Wishlist
Matthew Paul Thomas

Bug Description

It appears that Unity's calendar indicator (in the global menu, right-side of the screen) is hardwired to launch Evolution if an event is selected. In System Settings, the only checkbox relevant to this is to show "Coming events from Evolution Calendar".

It'd be nice if instead the Unity calendar indicator would launch the user's chosen default calendar application.

I'm not suggesting that the calendar indicator quit using Evolution Data Server for calendar information, just which application is launched in response to a user event.

affects: unity (Ubuntu) → indicator-datetime (Ubuntu)
Revision history for this message
Charles Kerr (charlesk) wrote :

Jim, this would be a great change if we have a clean way to do it. In order to support more apps, indicator-datetime would need:

1. a way to launch the calendar to a specific date. If you double-click on a date in the menu's calendar widget, $calendar-app is invoked with command-line arguments to go to that date.

2. it to be compatible with an EDS backend; otherwise a user would open the calendar app and not see the same events that are being shown in the indicator

So maybe it makes more sense to consider "should we add support for app X" rather than "should we allow all calendar apps." Do you have an X in mind? (Is Geary still looking at calendar integration?)

On the other hand, just thinking out loud, maybe we could get indicator-datetime the information it needs (eg, how to launch the calendar to a specific day or to specific appointment) by adding something to the apps' .desktop files?

Changed in indicator-datetime (Ubuntu):
importance: Undecided → Wishlist
Revision history for this message
Jim Nelson (yorba-jim) wrote :

I agree, these are all important considerations. Perhaps the calendar application can register itself as "indicator-datetime compatible" with an X- entry in its .desktop file, indicating that it meets the above criteria? Something like this:

X-Unity-Indicator-Datetime-Date: calendar --date %D
X-Unity-Indicator-Datetime-Event: calendar --uid %U

Verbose, and I'm sure more concise key names could be devised, but hopefully this would satisfy the requirements. This still requires the app writer to understand that they have to use EDS as their back-end. (We have a similar issue with GNOME Shell's calendar, by the way.)

Yes, Yorba is looking at calendar integration. We've begun a new project toward that end: http://blogs.gnome.org/jnelson/2014/03/21/introducing-california-a-new-gnome-3-calendar/ It uses EDS, so we're good on that point, but we'd need to add command-line support for opening to a date or an event (which we certainly would make happen if it would mean Unity integration).

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

I like this idea, and I had suggested this in the spec already, with "Coming events from" being a menu of calendar apps rather than just an Evolution checkbox. <https://wiki.ubuntu.com/TimeAndDate#PC>

I suggest being much less specific with the key names. The event function at least would be useful outside of indicator-datetime (for example, an address book listing which events involve a particular contact), and indicator-datetime itself both predated and might outlive Unity.

We would also need some way of defining which is your default calendar app, similar to how you have a default browser and a default mailer, so that the correct app is launched when you click on a date.

And then we'd need to define what to do in the delightful edge case where your default calendar app does not know how to navigate to a day but a non-default app does.

Revision history for this message
Jim Nelson (yorba-jim) wrote :

GNOME does allow defining a default calendar (System Settings -> Details -> Default Applications), so that could be used by indicator-datetime as well. But as Charles pointed out, since indicator-datetime is displaying calendar events, it should probably be keyed to a calendar application that can display those same events as well. If indicator-datetime is opened up to "any" calendar app, like Lightning, then I would think the user experience demands that indicator-datetime have an internal interface into the application's known events, i.e. liblightning, if such a thing existed. I suppose a D-Bus interface could be spec'd out, sort of like Messaging Menu, but I'd be happy with just using the .desktop file as a first step. (To be clear, I'm not wedded to my proposed key names, I was just being verbose for clarity's sake.)

Changed in indicator-datetime (Ubuntu):
assignee: nobody → Matthew Paul Thomas (mpt)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in indicator-datetime (Ubuntu):
status: New → Confirmed
Revision history for this message
SunBear (sunbear-c22) wrote :

I submitted a question which looks similar to the requests mentioned in this topic. https://answers.launchpad.net/ubuntu/+question/293639

I am affected and hope a fix can be committed.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.