diff --git a/modules/gcal/settings.go b/modules/gcal/settings.go index ca8e1127..f702e4f5 100644 --- a/modules/gcal/settings.go +++ b/modules/gcal/settings.go @@ -10,6 +10,7 @@ const defaultTitle = "Calendar" type colors struct { day string description string `help:"The default color for calendar event descriptions." values:"Any X11 color name." optional:"true"` + eventTime string `help:"The default color for calendar event times." values:"Any X11 color name." optional:"true"` past string `help:"The color for calendar events that have passed." values:"Any X11 color name." optional:"true"` title string `help:"The default colour for calendar event titles." values:"Any X11 color name." optional:"true"` @@ -55,6 +56,14 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co settings.colors.day = ymlConfig.UString("colors.day", "forestgreen") settings.colors.description = ymlConfig.UString("colors.description", "white") + // settings.colors.eventTime is a new feature introduced via issue #638. Prior to this, the color of the event + // time was (unintentionally) customized via settings.colors.description. To maintain backwards compatibility + // for users who might be already using this to set the color of the event time, we try to determine the default + // from settings.colors.description. If it is not set, then the default value of "white" is used. Finally, if a + // user sets a value for colors.eventTime, it overrides the defaults. + // + // PS: We should have a deprecation plan for supporting this backwards compatibility feature. + settings.colors.eventTime = ymlConfig.UString("colors.eventTime", settings.colors.description) settings.colors.highlights = ymlConfig.UList("colors.highlights") settings.colors.past = ymlConfig.UString("colors.past", "gray") settings.colors.title = ymlConfig.UString("colors.title", "white")