Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/deanishe/alfred-gcal

View Google Calendar events in Alfred
https://github.com/deanishe/alfred-gcal

alfred alfred-workflow alfred3 apple-maps awgo calendar google-calendar google-maps

Last synced: about 1 month ago
JSON representation

View Google Calendar events in Alfred

Awesome Lists containing this project

README

        



Google Calendar for Alfred
==========================

View Google Calendar events in [Alfred][alfred]. Supports multiple accounts.

- [Google Calendar for Alfred](#google-calendar-for-alfred)
- [Download & installation](#download--installation)
- [Usage](#usage)
- [Date format](#date-format)
- [Add event format](#add-event-format)
- [Configuration](#configuration)
- [Licensing & thanks](#licensing--thanks)
- [Privacy](#privacy)


Download & installation
-----------------------

Grab the workflow from [GitHub releases][download]. Download the `Google-Calendar-View-X.X.alfredworkflow` file and double-click it to install.


Usage
-----

When run, the workflow will open Google Calendar in your browser and ask for permission to access your calendars. If you do not grant permission, it won't work. The workflow requests permission to edit your calendars, as this is needed for the "Add New Event" feature (keyword `gnew`). It does not otherwise alter your calendars or events in any way.

You will also be prompted to activate some calendars (the workflow will show events from these calendars). You can alter the active calendars or add/remove Google accounts in the settings using keyword `gcalconf`.

- `gcal` — Show upcoming events.
- `` — Filter list of events.
- `↩` — Open event in browser or day in workflow.
- `⌘↩` — Open event in Google Maps or Apple Maps (if event has a location).
- `⇧` / `⌘Y` — Quicklook event details.
- `today` / `tomorrow` / `yesterday` — Show events for the given day.
- `` / `↩` / `⌘↩` / `⇧` / `⌘Y` — As above.
- `gdate []` — Show one or more dates. See below for query format.
- `↩` — Show events for the given day.
- `gnew []` — Add a new event in the one of active calendars. (example: Some meeting at Office at 5pm with Ian)
- `↩` — Create event in selected calendar.
- `gcalconf []` — Show workflow configuration.
- `Active Calendars…` — Turn calendars on/off.
- `↩` — Toggle calendar on/off.
- `Add Account…` — Add a Google account.
- `↩` — Open Google login in browser to authorise an account.
- `[email protected]` — Your logged in Google account(s).
- `↩` — Remove account.
- `Open Locations in Google Maps/Apple Maps` — Choose app to open event locations.
- `↩` — Toggle setting between Google Maps & Apple Maps.
- `Workflow is up to Date` / `An Update is Available` — Whether a newer version of the workflow is available.
- `↩` — Check for or install update.
- `Open Locations in XYZ` — Open locations in Google Maps or Apple Maps.
- `↩` — Toggle between applications.
- `Open Documentation` — Open this page in your brower.
- `Get Help` — Visit [the thread for this workflow][forumthread] on [AlfredForum.com][alfredforum].
- `Report Issue` — [Open an issue][issues] on GitHub.
- `Clear Cached Calendars & Events` — Remove cached lists of calendars and events.


### Date format ###

When viewing dates/events, you can specify and jump to a particular date using the following input format:

- `YYYY-MM-DD` — e.g. `2017-12-01`
- `YYYYMMDD` — e.g. `20180101`
- `[+|-]N[d|w]` — e.g.:
- `1`, `1d` or `+1d` for tomorrow
- `-1` or `-1d` for yesterday
- `3w` for 21 days from now
- `-4w` for 4 weeks ago


### Add event format ###

The "Add New Event" feature (keyword `gnew`) creates an event using Google Calendar's natural language syntax. This doesn't appear to be properly documented anywhere, but it is pretty powerful. You can specify event title, location, time & duration and repetition. Some examples:

- `Wash pants` — creates an event titled "Wash pants" starting now using your default event duration
- `Clean pants party tomorrow` — creates an all-day event for tomorrow title "Clean pants party"
- `Drink beer every day 2000-2200` — creates an event titled "Drink beer" starting at 8pm, finishing at 10pm, and repeating every day.


Configuration
-------------

There are a couple of options in the workflow's configuration sheet (the `[x]` button in Alfred Preferences):

| Setting | Description |
|---------|-------------|
| `CALENDAR_APP` | Name of application to open Google Calendar URLs (not map URLs) in. If blank, your default browser is used. |
| `EVENT_CACHE_MINS` | Number of minutes to cache event lists before updating from the server. |
| `SCHEDULE_DAYS` | The number of days' events to show with the `gcal` keyword. |
| `APPLE_MAPS` | Set to `1` to open map links in Apple Maps instead of Google Maps. This option can be toggled from within the workflow's configuration with keyword `gcalconf`. |


Licensing & thanks
------------------

This workflow is released under the [MIT Licence][mit].

It is heavily based on the [Google API libraries for Go][google-libs] ([BSD 3-clause licence][google-licence]) and [AwGo][awgo] libraries ([MIT][mit]), and of course, [Google Calendar][gcal].

The icons are from or based on [Font Awesome][awesome] and [Weather Icons][weather] (both [SIL][sil]).

Special thanks to [@diffmike][diffmike] for adding the "Add New Event" feature.


Privacy
-------

The data used and accessed by this workflow are stored exclusively on your own Mac. Nothing is shared with anyone. When you authorise this workflow to access your Google Calendars, the only person you are enabling to read that data is you.

[gcal]: https://calendar.google.com/calendar/
[google-libs]: https://github.com/google/google-api-go-client
[google-licence]: https://github.com/google/google-api-go-client/blob/master/LICENSE
[alfred]: https://alfredapp.com/
[alfredforum]: https://www.alfredforum.com/
[awgo]: https://github.com/deanishe/awgo
[forumthread]: https://www.alfredforum.com/topic/11016-google-calendar-view/
[download]: https://github.com/deanishe/alfred-gcal/releases/latest
[issues]: https://github.com/deanishe/alfred-gcal/issues
[sil]: http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
[mit]: https://opensource.org/licenses/MIT
[awesome]: http://fortawesome.github.io/Font-Awesome/
[weather]: https://erikflowers.github.io/weather-icons/
[diffmike]: https://github.com/diffmike