Modules: Google Calendar
Displays your upcoming Google calendar events.

Not: Setting up access to Google Calendars for Go is a bit unobvious. Check out Google’s Go Quickstart first and if you have problems, then take a look at this comment by WesleydeSouza which offers a slightly different approach.
Source Code
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
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: trueAttributes
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.
