GNOME Bugzilla – Bug 644077
Clicking on "Open Calendar" in GNOME Opens Evo's Mail View, Not its Calendar View
Last modified: 2012-10-24 06:51:32 UTC
Forwarding from a Fedora bug: https://bugzilla.redhat.com/show_bug.cgi?id=681742 Description of problem: If I click on the GNOME Shell's clock and then click on "Open Calendar", Evolution's mail view launches. The Calendar view should launch instead, Version-Release number of selected component (if applicable): gnome-shell-2.91.90-2.fc15.x86_64 evolution-2.91.6.2-1.fc15.x86_64 How reproducible: Every time. Steps to Reproduce: 1. Click on the desktop clock. 2. Click on "Open Calendar." Actual results: If Evo is already open, it will become the foremost window but will not automatically switch to calendar view. If Evo is not already running, it will launch but default to mail view and not switch to calendar view. Expected results: Evo should appear with the calendar view open. Additional info:
If an Evolution is already running, I don't think we transmit the --component option to the primary instance. I think the way it should work is to search the existing main windows for one that's showing the requested view, and if found present that. If no main windows are showing the requested view, or if no main windows are open at all (e.g. just a composer window), create a new main window set to the requested view. In other words, never switch views on an existing main window.
I searched on this and the clock applet is not passing any arguments into evolution, see clock_launch_calendar_tasks_app in http://git.gnome.org/browse/gnome-panel/tree/applets/clock/calendar-window.c?h=gnome-2-32 when I break there with gdb I see no "arguments" are passed in this function when clicking "Edit" button beside the "Appointments" label. Double click respective event does nothing, same as no popup menu associated over the list of events. If the same was inherited for gnome3, then there is not much we can do. Thus I would like to ask them how they actually call evolution, and then we can do changes on our side, to have this working properly, as I stated in the downstream bug report.
Yep, you're right. I guess I was premature in reassigning this. In fact I checked EShell's current behavior when --component is passed in a secondary instance and it turns out we always open a new window to the requested view. So we do *handle* the command-line argument, even if the policy isn't quite right. So it's up to gnome-panel / gnome-shell to pass "--component calendar" to Evolution.
There are actually two fixes here. One is to use GSettings org.gnome.desktop.default-applications.office.calendar exec. The other is to get gnome-control-center to put "evolution -c calendar" in there, which requires some kind of "evolution-calendar.desktop".
(In reply to comment #4) > There are actually two fixes here. > One is to use GSettings org.gnome.desktop.default-applications.office.calendar > exec. The other is to get gnome-control-center to put "evolution -c calendar" > in there, which requires some kind of "evolution-calendar.desktop". There used to be evolution-calendar.desktop, and similar for mail, tasks and maybe memos too, but it was dropped years ago, because it confused old good bug-buddy, and also to make the menu items simpler for used, so it's "Evolution Mail and Calendar" now, not many specialized menu options. is there any other way to add extra parameters and not provide a .desktop file only for this purpose?
I guess the .desktop file could use Hidden=True so that users don't see it anywhere other than in the control center. But won't starting Evo using evolution-calendar.desktop confuse the app menu into showing "Evolution Calendar" even if you switch to your mail afterwards?
Only if we title it that. The "Exec" key should be the only difference between evolution-calendar.desktop and evolution.desktop.
Fixed by author Dan Winship <danw@gnome.org> 2011-03-14 13:05:59 (GMT) committer Dan Winship <danw@gnome.org> 2011-03-15 13:13:09 (GMT) commit 90f15b3c5abdb26da1b465f64b4f5891e3c50e01 (patch) tree 26f009110d85b1f0b6a96536fb9176ee4fd5750a parent 44bbf26cb23fce76d9af36a764fedcc3fc9ac46f (diff) dateMenu: open calendar specifically when opening evolution https://bugzilla.gnome.org/show_bug.cgi?id=641504 ???
(In reply to comment #8) > Fixed by > > author Dan Winship <danw@gnome.org> 2011-03-14 13:05:59 (GMT) > committer Dan Winship <danw@gnome.org> 2011-03-15 13:13:09 (GMT) > commit 90f15b3c5abdb26da1b465f64b4f5891e3c50e01 (patch) > tree 26f009110d85b1f0b6a96536fb9176ee4fd5750a > parent 44bbf26cb23fce76d9af36a764fedcc3fc9ac46f (diff) > dateMenu: open calendar specifically when opening evolution > https://bugzilla.gnome.org/show_bug.cgi?id=641504 > > > ??? It was fixed by spawning through command line instead of through desktop file and GAppLaunchContext, which means losing all the features of GAppLaunchContext.
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 677907 ***