Modern TUI calendar and task manager with customizable interface
github.com
github.com
Another commenter mentioned it, and I agree, there is something to running a calendar server of one's own, if one is capable of doing it. I've been trying to scratch this itch for years to little success, but feel like it gets closer all the time. Things like NextCloud make it even easier still, but lack the way I want to deal with groupware (service accounts). I'm hopeful that Apple Family Sharing can solve some of this for me and my partner as we both use iCloud calendars today, but haven't set it up yet.
Over all, I agree, and wish I knew the answer, but I don't.
It has two problems (that are both dealbreakers to me): it's not easy to make it push the complete schedule into any other calendar (if it's possible at all, I never managed to), and the apps are often not reliable (probably because they don't want to allow a centralized calendar, the MS ones are serious offenders here).
EDIT: lazy mostly because of the hassle of importing data from my work Google Calendar, and my Apple personal/family calendars.
I run a calendar server[0] that is my main calendar repository. And I use vdirsyncer[1] to sync to my laptop to use khal[3]. On the Android side I sync with davx5[4].
This allows me to subscribe to webcal calendars, which outlook365 offers, and syncs them to my two main devices.
Not perfect because that means I can't edit my outlook calendar from within this system ( and a reminder why open standards and interoperability are important ), but it means that my private calendars and addressbooks are self hosted.
You are right though, that takes effort. And I want to snark at microsoft for not supporting caldav, but then I am waiting for gnome-calendar to support it as well. It doesn't seme to and that feels a bit strange to me.
[0] https://radicale.org/ [1] https://github.com/pimutils/vdirsyncer [2] https://github.com/pimutils/khal [3] https://github.com/pimutils/khal [4] https://www.davx5.com/
So I looked this up now (have not tried it myself, though).
So looks like gnome-calendar should support CalDAV calendars since some time now?
https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_reques...
However, according to this issue calendars work once added but the only GUI-way to add them right now still seems to be Evolution, after which they will show up in gnome-calendar as well (also some workarounds here):
https://gitlab.gnome.org/GNOME/gnome-contacts/-/issues/70
There's a PR for proper support here but maintainers seem MIA:
https://gitlab.gnome.org/GNOME/gnome-online-accounts/-/merge...
Had some FUBAR situations where vdirsyncer tried to fix "something" (which is necessary from time to time since davmail does only rudimentary checks of events) and got im a situation where I send confirmations for 5 year old events to a few dozend people
Both calcurse and remind support CalDAV sync (experimental in the case of calcurse). calcure does not seem to support it; just opened an issue for it.
[0]: https://caldavsynchronizer.org/
EDIT: Several mentions of Outlook on software listed under https://devguide.calconnect.org/CalDAV/introduction/, maybe there is something that works for you
Since I'm an IC and never ever schedule meetings unless I really must, this hasn't been much of a pain for me.
[calendars]
[[main]]
path = ~/caldav/xxx/
[default]
highlight_event_days = true
[highlight_days]
color = "dark green"
multiple = "dark red"
[view]
agenda_event_format={calendar-color}{cancelled}{start-end-time-style} {title}{repeat-symbol}{alarm-symbol}{description-separator}{reset}
[locale]
timeformat=%H:%M
I'd like a bit more colour diversity in the calendar, like different colours for birthdays. And maybe emoji markers (like for brithdays) in the view list.In fact my ideal calendar software would dynamically grow/shrink dates to fit instead of making them all a uniform grid.
For stuff like this, why not make it scriptable?
if this / then that style. Let users define attributes such as "birthday" on day objects, then let them define what to do with it.
https://vdirsyncer.pimutils.org/en/stable/config.html#google
The Khal CLI calendar reads from vdirsyncer. I just recently set this up, took 10 minutes from "I've never heard of it" to having it set up and running. Highly recommended. It supports setting the first day of the week, using ISO-8601 date format, and even my Right-to-Left Hebrew text entries. Seems very well developed.
Why? I practically live in my terminal, yet see no need to have my calendar there.
This TUI only use Python's curses module. The first curses support was added in 1994, and the current incarnation added in 2000. I spot checked a few curses calls and they were available in the 2000 version.
Now, there's all sort of things that make Python programming easier now than 22 years ago (f-strings, datetime, pathlib, subprocess, enum, and @decorators).
Plus, the Unicode/emoji support didn't really exist (so other characters would need to be used).
And probably it wouldn't support the Persian calendar, which it does using the "jdatetime" calender.
But other than the emoji substitution, none of that is related to modern TUI frameworks or terminal emulators.
The need of visual stuff is UNIX fail. That's why older system, like Xerox Smalltalk workstations, was graphical by default, networked before unix was born. Long story short: we MUST recover such model in FLOSS, since this is a FLOSS game, no proprietary software can last longer in a classic desktop.
Witch means we need integrated tools. Emacs so far offer the best integration simply because is the sole living vestige of such classic past, Pharo (Smalltalk recover some visual aspects). That's what we need. Surely it's a hyper-long shot seen actual IT involution, but can be done if taken by a large community and CAN'T be parasited by any corporate move behind chasing to sell open-hardware platforms witch can't happen so quick.
That's is.
It's a very nice tool, but what if I want contacts merged? What if I want mail merged? Neomutt is another nice MUA, coupled with notmuch to search/access messages, but there is not much room to integrate both. What if I want to link files? ... That's the point of a unique OS-as-a-framework/apps-as-functions-of-such-framework vs UNIX KISS logic or worst modern GUI-as-self-contained-world.