GNOME Bugzilla – Bug 782529
Hide end time in week/month views when same as start
Last modified: 2017-05-29 11:55:26 UTC
Need an option to add an event to a calendar that is a "point-in-time event", having just a "start time" and not an "end time", such as the arrival time of an incoming flight. I have to keep track of incoming guests for our institution and it is tedious to have to include an "end time" for each such event, and to see two times shown in the calendar when only one is significant.
Thanks for a bug report. I briefly checked RFC 5545 [1] and VEVENT components can be defined without DTEND and DURATION, in which case they either have duration one day (when DTSTART is of type DATE) or they end at the same time as DTSTART. In other words, it's valid to have defined an event without end and duration times. > to see two times shown in the calendar when only one is significant What do you mean with the above, please? I didn't get it, I'm sorry. The day view will always show the event at least as tall as the current font requires. You can always define the event with the same start and end time, which works the same as when the end time was not set, right? Also, somewhat importantly, how would you enter such event in the Evolution UI? There's basically no go for the events entered in the views directly, because they either run for as long as the selected time range is, or they have predefined duration, thus it might be done only in the event editor. Something beside the "Options->All Day Event" might probably do it? There used to be two ways to enter event time in the editor in the past, one was like it is now, two date/time widgets, one for start, another for end times, then a switcher which made it: Time: [ data ] [ time ] [ for ] [ xxx ] [ minutes|...] where that "[ for ]" had been used to change between "for" and "until". I removed it couple releases ago, because the all other modern (not only web) UI-s didn't use that "for" part. [1] https://tools.ietf.org/html/rfc5545
For example, I create an "appointment" for a flight arrival, and I simply want it to read: "9:05pm Yohannan arrives AA1790" but instead, it appears as: "9:05pm 9:05pm Yohannan arrives AA1790" (giving the start and end times, which are the same). This is cumbersome in the calendar month view because the redundant "9:05pm" text takes up valuable space in the box for the particular date and I have to hover over the event in order to read the essential information. So, corresponding to the option of defining an "all-day" event that doesn't include start or end times, it would be helpful to be able to define a "one-minute" event for which only one time need be specified and only one time would be displayed.
Ah, I see, doubled times in the view is the main problem. That can be fixed easily, without overcomplicating editor with another option. I hesitate to add the option to the editor, because you are currently only one user requesting it (at least the only one I know of), thus I'm afraid that other users might get confused by the new option in the editor. That's the reason why I'd rather correct the views than change the editor.
I made the change to hide the end time when it's the same as the start time and it looks pretty good. I made also the gap between the time and the text slightly smaller when there is no icon drawn, which makes it even better efficient with the used space. There is no option in the event editor to enter start-time-only event. Created commit c7772ba in evo master (3.25.2+) Created commit b6873aa in evo gnome-3-24 (3.24.3+)
That's great. Thank you for the quick response. Now, if I could only get that version for Linux Mint 18.1. Guess I'll have to compile it myself...
I do not know what evolution version your Linux Mint provides, I set 3.24 above, because it is the current stable version series. If they also provide 3.24.x, then you'll just wait for the 3.24.3 release (it is planned for the end of the next month) and until they update their repositories. If they provide older version, then it's harder. The change might be possible to backport to it, there mostly changed only file locations (it's calendar/... instead of src/calendar/...), otherwise the patch might apply cleanly to 3.22.x and even 3.20.x, or with minimal changes.
Sadly, Linux Mint provides only Evolution 3.18.
I just tried and the patch can be applied to 3.18.5.2 too, it's as simple as: $ patch -p2 <evolution.patch It has some issues, namely: patching file calendar/gui/e-week-view-event-item.c Hunk #1 succeeded at 922 with fuzz 1 (offset 27 lines). patching file calendar/gui/e-week-view.c Hunk #1 succeeded at 3695 (offset -62 lines). Hunk #2 succeeded at 3711 (offset -62 lines). Hunk #3 succeeded at 3726 (offset -62 lines). but those are all fine, everything had been applied to the right place. I mean with that that you can rebuild your 3.18.5.2 package with that fix included and it'll also work (I actually didn't try to compile it, but the changes look as simple as it might not be a problem), thus you do not need to upgrade to the latest stable version.
Thank you!
Could this patch have already been applied to 3.18.5.2? Two days ago I had to do a clean install of Linux Mint 18.1 and when I restored my home directory and started up Evolution, the times for appointments in which the start and end times were identical were only displayed once, rather than the redundancy that was the previous behavior. I was delighted!
I do not know what Linux Mint package maintainers do or did, that's out of my knowledge. Either you've been lucky, or Edit->Preferences->Calendar and Tasks->Display->[ ] Show appointment end times in week and month view, got unchecked for some reason.