Thanks for your fast answer, Eric. I think I've understood. I'll try and test tomorrow (middle of night here), and report.
Le samedi 15 mai 2021 à 22:53:53 UTC+2, Eric Shulman a écrit : > On Saturday, May 15, 2021 at 12:31:44 PM UTC-7 [email protected] wrote: > >> I'm adopting Eric's TiddlyTools/Time/Calendar. Thanks to him. >> I have a problem when conflicting colors happen for a same day. How to >> force priority on the color I'd want ? >> >> *An instance :* >> >> - I have a timeline for team members absences, coded "OldLace". Fred >> is not available Monday and Tuesday next. >> - I decide to settle a meeting, even without Fred that monday. Team >> meeting are "LightGreen" coded events. >> - When I publish the calendar, I want Monday color to be LightGreen >> for everybody, but it remains OldLace. >> >> When there are multiple events for a given date, they are *sorted by the > title of the EventList or Timeline* that defines them and the *date color > is determined by the first event* in the resulting list. > > Here's the code from the showDay() macro that does the work: > <$wikify name="colors" text="<$list filter=<<todays_events>>>{{{ > [<currentTiddler>split[;]nth[1]get[eventcolor]] }}} </$list>"> > <$set name="eventsbg" > > filter="[enlist<colors>first[]addprefix[background:]addsuffix[;]else<eventsbg>]"> > > If you have a Timeline named "Absences" (using the OldLace color) and an > EventList named "Meetings" (using the LightGreen color), then the OldLace > color will be applied, since "Absences" comes before "Meetings", > alphabetically. > > The only way to influence the color that is used is to rename the Timeline > or the EventList so that the event color that you want to have priority > occurs first in the sorted list of events. For example, you could rename > "Meetings" to "1Meetings" so it comes before "Absences", or rename > "Absences" to "ZAbsences" so it comes after "Meetings". > > However, renaming a Timeline can be quite a nuisance, because the name of > the Timeline is also used to tag each individual tiddler that belongs to > that Timeline. Thus, you would have to change not only the name of the > "Absences" Timeline tiddler itself, but also update the corresponding > "Absences" tag on every individual tiddler belonging to that Timeline. > > Fortunately, renaming an EventList is much easier than renaming a > Timeline, since there is only one tiddler involved with no extra tagging > issues. Note that even if you rename the "Meetings" EventList tiddler to > "1Meetings", you can also give that tiddler a caption of "Meetings", so > that the leading "1" won't appear in the Calendar interface. > > When I wrote this part of the Calendar, I had considered adding extra code > to address this issue by allowing explicit specification of the color > order, but all the implementations I could think of would have added > considerable complexity and processing overhead to the Calendar rendering > logic. > > I hope this explanation isn't too confusing. Let me know how it goes... > > -e > >> -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c9945328-cd27-4b7a-91f0-b2627b3fbcf3n%40googlegroups.com.

