--- title: "Google Calendar" date: 2018-05-10T08:25:33-07:00 draft: false --- Displays your upcoming Google calendar events. gcal screenshot **Not:** Setting up access to Google Calendars for Go is a bit unobvious. Check out Google's [Go Quickstart](https://developers.google.com/calendar/quickstart/go) first and if you have problems, then take a look at this [comment by WesleydeSouza](https://github.com/senorprogrammer/wtf/issues/83#issuecomment-393665229) which offers a slightly different approach. ## Source Code ```bash wtf/gcal/ ``` ## Required ENV Variables Key: `WTF_GOOGLE_CAL_CLIENT_ID`
Value: Your Google API client ID. Key: `WTF_GOOGLE_CAL_CLIENT_SECRET`
Value: Your Google API client secret. ## Keyboard Commands None. ## Configuration ```yaml gcal: colors: title: "red" description: "lightblue" highlights: - ['1on1|1\/11', 'green'] - ['apple|google|aws', 'blue'] - ['interview|meet', 'magenta'] - ['lunch', 'yellow'] past: "gray" conflictIcon: "🚨" currentIcon: "💥" displayResponseStatus: true email: "chriscummer@me.com" enabled: true eventCount: 12 position: top: 0 left: 0 height: 4 width: 1 refreshInterval: 300 secretFile: "~/.wtf/gcal/client_secret.json" withLocation: true ``` ### Attributes `colors.title`
The default colour for calendar event titles.
Values: Any X11 color name. `colors.description`
The default color for calendar event descriptions.
Values: Any X11 color name. `colors.highlights`
A list of arrays that define a regular expression pattern and a color. If a calendar event title matches a regular expression, the title will be drawn in that colour. Over-rides the default title colour.
Values: [a valid regular expression, any X11 color name.] `colors.past`
The color for calendar events that have passed.
Values: Any X11 color name. `conflictIcon`
The icon displayed beside calendar events that have conflicting times (they intersect or overlap in some way).
Values: Any displayable unicode character. `currentIcon`
The icon displayed beside the current calendar event.
Values: Any displayable unicode character. `displayLocation`
Whether or not to display the location of the calendar event.
Values: `true`, `false`. `displayResponseStatus`
Whether or not to display your response status to the calendar event.
Values: `true`, `false`. `email`
The email address associated with your Google account. Necessary for determining `responseStatus`.
Values: A valid email address string. `enabled`
Whether or not this module is executed and if its data displayed onscreen.
Values: `true`, `false`. `eventCount`
The number of calendar events to display.
Values: A positive integer, `0..n`. `position`
Where in the grid this module's widget will be displayed.
`refreshInterval`
How often, in seconds, this module will update its data.
Values: A positive integer, `0..n`. `secretFile`
Your Google client secret JSON file.
Values: A string representing a file path to the JSON secret file.