Please find attached a patch containing two commits. The first one applies the face `org-agenda-calendar-event' to entries with a time range within a single day. The second one defines the new face `org-agenda-calendar-daterange' and applies it to entries with a time range on several days. (The second commit assumes the first one is already applied.) Since I am still learning elisp and this is my first contribution, it would be very nice if someone could double check the patch, and any feedback would be very welcome. I will look into the other points we have discussed so far later on. By the way, while trying to understand the code I have discovered the commit "cb19f5c94e3dc94da78169ec675d5bd07af34427" by Bastien which I don't really understand. The commit message says, talking about entries with a timerange: "* lisp/org-agenda.el (org-agenda-get-blocks): When both dates are of the same value, assume this is a time to display for each date in the range." It seems to me that this should be done by creating repeating tasks rather than an entry with a timerange, because suppose I want to put in my agenda an event spanning on several days including the precise hours at which it starts and ends but which starts and ends on the same hour, for example an entry with the following timerange: <2023-01-19 jeu. 12:00>--<2023-01-26 jeu. 12:00> . In this case, it makes no sense to print the time "12:00" everyday in the range. I would expect the agenda to show the event on each days it is, the time at which the event starts on the first day, and the time at which the event ends on the last day. Does that make sense? All the best, Gautier.