██████╗ ██████╗ █████╗ ██╗ ██╔══██╗██╔════╝██╔══██╗██║ ██║ ██║██║ ███████║██║ ██║ ██║██║ ██╔══██║██║ ██████╔╝╚██████╗██║ ██║███████╗ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝
DankCalendar
dcal is a standalone calendar app that brings your Local, Google, Microsoft, CalDAV, and iCloud calendars together in one place. It runs as a lightweight daemon with a tray icon, keeps your accounts in sync in the background, and reminds you about events, all with the look and feel of DankMaterialShell.
Built with Quickshell and Go.
Features
- Multiple Providers: Connect Local, Google, Microsoft, CalDAV, and iCloud accounts and view every calendar in a single unified agenda.
- Background Sync: A lightweight daemon keeps your accounts in sync and serves the UI over IPC. Closing the window only hides it. Sync and reminders keep running.
- Event Reminders: Native desktop notifications for upcoming events, with per-event and per-calendar reminder configuration.
- Tray Integration: A system tray icon to show, hide, and quit the app, plus quick access to upcoming events.
- Secure Credentials: OAuth tokens and account secrets are stored in your system keyring, not in plaintext config files.
- Keyboard Navigation: Full keyboard-driven navigation with a shortcuts overlay, plus spotlight-style search across your events.
- Scriptable IPC: A scriptable IPC surface for keybinds and automation.
- Localized: User-facing strings are translatable and managed through POEditor.
Documentation
- Installation - Install dcal and set up the background daemon
- Accounts - Connect Local, Google, Microsoft, CalDAV, and iCloud calendars
- Usage - CLI commands for the window, sync, and reminders
- IPC - Scriptable IPC surface for keybinds and automation
Contributing
dcal is open source and welcomes contributions. Bug fixes, widgets, features, providers, and translations all help:
- Source Code: GitHub Repository
- Issues: Report bugs and request features on GitHub
- Translations: Strings are managed through POEditor. See CONTRIBUTING.md
License
dcal is released under the MIT License. See the LICENSE file for details.