Disponera
Calendar, tasks and timers for desktop and phone – running on your own CalDAV server.
- Language QML
- Stars 0
- Forks 0
- Licence MIT
- Last update
About the project
Disponera is a calendar, task and timer app for desktop and phone, running on your own CalDAV server. Events, task lists and timers all go through one shared set of accounts.
Vikunja projects arrive as first class lists with their background images, not as flat strings. The phone app is a full client that talks to the same servers directly, and it is set up by holding it up to a code on your screen.
Nothing is stored on anyone else’s machine. If your server is down, the app keeps working from its cache and uploads what changed when the server comes back.
Topics
README
View on GitHubTaken straight from the repository on GitHub and therefore in English.
Disponera is a calendar, task and timer app for the desktop and the phone, running on your own CalDAV server.
Calendar events, task lists and timers over one set of accounts. Vikunja projects arrive as first class lists with their background images, not as flat strings. The phone app is a full client that talks to the same servers directly, and it is set up by holding it up to a code on your screen.
Nothing is stored on anyone else's machine. If your server is down, the app keeps working from its cache and uploads what changed when the server comes back.
Install
Desktop
pipx install git+https://github.com/vredix-openvuture/disponera.git
Then run disponera. Preferences land in ~/.config/disponera/, the CalDAV cache in
~/.cache/velumeron/.
Requires Python 3.11 or newer. CalDAV goes through velumeron's caldav-client.py, so
velumeron has to be present for calendar and task
sync; accounts are shared with it through caldav-accounts.json. Timers, local lists and the phone
pairing work without it.
Uninstall with pipx uninstall disponera. That leaves your configuration in place; remove
~/.config/disponera/ to clear it.
Phone
Install Obtainium, add
https://github.com/vredix-openvuture/disponera as an app, and turn on Include prereleases.
Every build is published as a v0.x.x-beta prerelease, so without that switch Obtainium reports no
versions. It then installs updates on its own. See docs/releasing.md.
Requires Android 6 or newer. There is no iOS build yet, but the app also runs as a PWA.
Features
Pair the phone by holding it up to the screen
Setting up a CalDAV client on a phone normally means typing a server URL, a username and an app password on a touch keyboard, twice. Disponera puts all of it into a QR code.
![]() | ![]() | ![]() |
| What travels | What does not |
|---|---|
| CalDAV accounts, Vikunja API token | Events and tasks: the phone fetches those itself |
| Preferences, calendar colours, hidden calendars | Project background images: those come from Vikunja |
| Timers | Anything at all, once you close the settings page |
The code holds the data itself. There is no server, no port and no pairing session, so nothing is listening on your network afterwards. It does contain your passwords in clear, which is why it is shown on your screen and nowhere else.
Calendar
![]() | ![]() | ![]() |
- Five views: year, month, week, day and agenda. The time grid opens at the current hour rather than at midnight.
- Overlapping events share the column instead of hiding each other, and all day events sit in their own strip above the grid.
- Recurring events are expanded from their RRULE, including per occurrence overrides and excluded dates.
- Local calendars work with no server at all, next to the CalDAV ones.
- ICS subscriptions are read only feeds, fetched off the interface thread.
- Per calendar colours override whatever the server sends, and any calendar can be switched off.
Tasks and projects
![]() | ![]() | ![]() |
- Vikunja projects keep their hierarchy and their background images, pulled from the Vikunja API. A project card shows a rolled up count including every subproject.
- VTODO lists from any CalDAV server appear beside them, and local lists need no server.
- Repeating tasks stay visible. A completed occurrence does not close the series: the due date moves to the next one.
- Full task detail: due date and time, priority, tags, progress, notes, repetition.
- Offline edits queue up and upload on the next sync, guarded by ETags so a change made elsewhere is not overwritten.
Timers and reminders
![]() | ![]() | ![]() |
- Three kinds: a countdown timer with optional Pomodoro breaks, a countdown to a date that can repeat yearly, and a counter that measures time since something happened.
- Timers keep running with the window closed. Background mode leaves Disponera in the tray so alarms still fire.
- Reminders before events and before tasks are due, with a lead time you choose. On the phone they are scheduled with the operating system, so they arrive with the app closed.
Settings and appearance
![]() | ![]() | ![]() |
- Eight palettes on the phone, seven on the desktop, plus plain dark and light. Every text role is checked against the surface behind it and lifted until it clears WCAG AA, so a palette cannot produce unreadable text.
- Live wallust palette: set the theme to
autoand the desktop follows the colours velumeron derives from your wallpaper. - A backdrop image behind the panes, with separate darkness, blur and colour richness.
- CalDAV connections and the Vikunja API token are managed in the app, with the credentials checked as you save them.
Roadmap
- Notes. The Markdown store with
[[wikilinks]]exists in the code, the pane does not. - Editing one occurrence of a series. Recurring events are read only today, because saving a single occurrence would move the whole series.
- Mobile parity. Notes, ICS subscriptions, event images and creating projects on the server are still desktop only.
- iOS. The phone app is built with Capacitor, so the web layer already runs. It needs a Swift implementation of the CalDAV plugin and a Mac to build on.
- Own account management. CalDAV still runs through velumeron's client script on the desktop. The phone already speaks CalDAV directly.
Links
Documentation · Releasing · Dependencies · velumeron
MIT licensed.














