https://github.com/kodie/bitbar-googlecal
A plugin for BitBar that shows your upcoming Google Calendar events.
https://github.com/kodie/bitbar-googlecal
bitbar bitbar-plugin calendar google google-calendar javascript nodejs plugin
Last synced: 10 days ago
JSON representation
A plugin for BitBar that shows your upcoming Google Calendar events.
- Host: GitHub
- URL: https://github.com/kodie/bitbar-googlecal
- Owner: kodie
- License: mit
- Created: 2017-02-23T18:29:56.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-10-20T13:46:17.000Z (over 6 years ago)
- Last Synced: 2025-07-10T19:55:14.327Z (8 months ago)
- Topics: bitbar, bitbar-plugin, calendar, google, google-calendar, javascript, nodejs, plugin
- Language: JavaScript
- Size: 189 KB
- Stars: 22
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# BitBar Google Calendar Plugin [](https://travis-ci.org/kodie/bitbar-googlecal)
A plugin for [BitBar](https://github.com/matryer/bitbar) that shows your upcoming [Google Calendar](https://calendar.google.com) events.

## Requirements
* [Node.js](https://nodejs.org)
* [npm](https://npmjs.com)
## Installation
### via [BitBar CLI](https://github.com/kodie/bitbar-cli)
```
bitbar install Time/googlecal.30m.js
```
### Manually
```
bitbar://openPlugin?title=Google%20Calendar&src=https://raw.githubusercontent.com/kodie/bitbar-googlecal/master/googlecal.30m.js
```
## Settings
These are some settings that you can change by setting them in your `~/.bitbarrc` file:
* `clientId` - The Google API Client ID
* Default: (The BitBar Google Calendar Client ID)
* If you'd like to (or need to), you can get your own here: https://console.developers.google.com/start/api?id=calendar
* `clientSecret` - The Google API Client Secret
* Default: (The BitBar Google Calendar Client Secret)
* See notes for `clientId`
* `clientRedirect` - The redirect URL defined when setting up the Google API app
* Default: `http://localhost:3000`
* You will probably want to leave this alone. Currently the way it is set up is the user will be redirected to a page where the plugin will be able to capture the autorization code provided by Google.
* `calendarId` - The ID(s) of the calendar(s) you would like to display events from
* Default: `primary`
* Example: `primary,me@gmail.com`
* Can be an array or a comma separated string
* `dateColor` - The font color of the dates
* Default: `false`
* Example 1: `dateColor="red"`
* Example 2: `dateColor="#ff0000"`
* Setting to `false` or blank will use the system default
* Color names or HEX values can be used
* `dateFont` - The font of the dates
* Default: `false`
* Example: `dateFont="Verdana"`
* Setting to `false` or blank will use the system default
* `dateFormat` - The format that dates are displayed in
* Default: `dddd M/D`
* For more information on date formatting, see: https://momentjs.com/docs/#/displaying/format/
* `dateSize` - The font size for the dates
* Default: `12`
* Example: `dateSize="16"`
* Setting to `false` or blank will use the system default
* `days` - The number of days (including today) to display events for
* Default: `7`
* Can be set to `false` to display events up to `limit` regardless of the day
* `eventColor` - The font color of the events
* Default: `false`
* Example 1: `eventColor="green"`
* Example 2: `eventColor="#00ff00"`
* Setting to `false` or blank will use the system default
* Color names or HEX values can be used
* `eventFont` - The font of the events
* Default: `false`
* Example: `eventFont="Georgia"`
* Setting to `false` or blank will use the system default
* `eventLength` - The number of characters to truncate events at (including times)
* Default: `80`
* Example: `eventLength=false`
* Setting to `false` or blank will disable truncating
* `eventSize` - The font size for the dates
* Default: `false`
* Example: `eventSize="16"`
* Setting to `false` or blank will use the system default
* `expandEvents` - Whether to show events that span multiple days on each day
* Default: `true`
* `limit` - The max number of events to display
* Default: `25`
* If `days` is set to `false`, `limit` decides how many events are displayed
* `showAllOfFirstDay` - Whether to show all of the first day's events, regardless if they happened earlier that day
* Default: `true`
* `showEmptyDays` - Whether to show days that don't have any events
* Default: `false`
* This currently only works if `days` is NOT set to `false`
* `serverHost` - The host to use for the listening server when authorizing the Google account
* Default: `localhost`
* Should match the host used in `clientRedirect` URL
* `serverPort` - The port to use for the listening server when authorizing the Google account
* Default: `3000`
* Should match the port used in `clientRedirect` URL
* `startDate` - The date for the calendar to start pulling events from
* Default: Now
* Example: `5/1/2017`
* `textToday` - The text to display next to today's date
* Default: ` (Today)`
* Example: `textToday=""`
* Set to blank to not display any text
* `textTomorrow` - The text to display next to today's date
* Default: ` (Tomorrow)`
* Example: `textTomorrow=""`
* Set to blank to not display any text
* `timeFormat` - The format that times are display in
* Default: `h:mma`
* For more information on time formatting, see: https://momentjs.com/docs/#/displaying/format/
* `tokenFile` - The file where token credentials are stored
* Default: `.googlecal.json`
### Example
```
[googlecal]
dateFormat=ddd MM/DD/YYYY
days=false
showAllOfFirstDay=false
```
## License
MIT. See the License file for more info.