Skip to main content


I want my calendar format to be plain text so I can version it, and just edit it via the clipboard buffer.
This entry was edited (1 month ago)
in reply to Devine Lu Linvega

have you looked at https://orgmode.org/features.html#agendas ? Haven't tried that feature yet though…
in reply to mmu_man

I know of it, but it's too convoluted to type by hand, too much to write an import/exporter for, and overkill for my needs in a calendar.
This entry was edited (1 month ago)
in reply to jak

@jakintosh talking with students at a college in Montreal in a few weeks.
@jak
in reply to Devine Lu Linvega

that was my suspicion; here in VT we also have a “champlain college” (of which I’m an alum) and we’ve always had to disambiguate between the one in QC—especially when I spent a semester “abroad” in MTL. knowing your connection to MTL I figured it might be a talk at the other school, but just wanted to make sure I wasn’t missing some kind of talk/event down the street from me 😅
in reply to Devine Lu Linvega

Me too, but ical is plain text and can be synced with fancier calendars. So maybe it's better to use it because it's standard, rather than inventing another? More GUIs should IMO work with a directory of files rather than needing some cloud service or database or whatever.
in reply to Shawn Rutledge K7IHZ / LB2JK

@ecloud I'm not sure I know how to install ical, and how better it is really, but I'll try to find the sources and see if I can set it up to try it out.
in reply to Shawn Rutledge K7IHZ / LB2JK

@ecloud yeah I've been looking into it. It looks like a pain to write by hand without a tool, and implementing a parser for this would probably be more code than the entire calendar program, I'll pass, I rather stick to a format I can easily move around, for portability's sake.
in reply to Devine Lu Linvega

This looks nice. With such a simple format, I’m sure you could use a cron (or similar) script to automatically insert recurring events X days before they take place. Maybe just one crontab entry per recurring event, since cron already has a decent scheduler.
in reply to mountain

@mntn Ah, the recurring events are like:
2024-**-03 for every 3rd of each month during 2024.
in reply to Devine Lu Linvega

Oh, that’s great, didn’t know you already had a solution for it!

Calendar protocols are terrible, so a simpler solution would be lovely. I have tried them all… gcal was maybe the closest to what I was looking for, but it was clearly designed by hostile aliens.

in reply to mountain

A brief (real) excerpt from the manual:

For example, the call:

gcal -# "0*d1su#99su.7 ^%Z" --here="#include <foo>" -y

causes the implicit processing of the standard resource file just before the further resource file line ‘0*d1su#99su.7 ^%Z’ and following ‘#include <foo>’ are processed, and that as if these lines were a physical part of the standard resource file.

in reply to mountain

@mntn christ D: I'm just trying to make a little calendar that'll let me keep a few works for each day, nothing fancy.
in reply to Devine Lu Linvega

I feel like that would suffice for 90% of people (myself included). It’s incredible how much we overcomplicate things.
in reply to Devine Lu Linvega

I use the BSD calendar(1) for this, which I extended slightly so I can export to (read-only) iCalendar files that can be aubscribed to from Smartphones, Thunderbird, etc. (changes always go via the plaintext master file which resides in git, a post-receive hook does the translation). Bonus is every time I start a shell it can also show me my appointments.
in reply to mirabilos

cool : ) That's a similar setup as to what I'm putting together here.
This entry was edited (1 month ago)
in reply to mirabilos

and because BSD calendar uses cpp, I can just put a #include "feiertage-nrw.cal" into my private calendar
in reply to mirabilos

@mirabilos ah yeah that's nice 😀 I'll use a cat-like thing to include them.
in reply to mirabilos

events are recurring by default, but if you put "2025, " at the beginning the iCalendar conversion will consider it for that year only, and ", 2025" at the end is for anniversaries (i.e. recurring but calendar shows the "age")

It can also do things like "Apr SunLast" and "Advent+7" and "Easter-2".

in reply to mirabilos

best of all, this already existed, I only added Advent calculation (Easter and some others were predefined), anniversaries and the iCalendar conversion using a pre-existing library for that.
in reply to mirabilos

@mirabilos well done 😀 I'm glad this worked out nicely for you. I'm excited to have a calendar setup I like.
in reply to Devine Lu Linvega

what do you need the gui part for ?

Seriously 95% of my (source) documents are unicode text (including svg). Exceptions : bitmaps, … 🤔

in reply to Devine Lu Linvega

@tj iCal is an plain text. That’s exactly how I use it. Well, it’s an ics file on a web server that my Calendar app reads from. Although I don’t see a reason for why it could not be a local file:/// 😀

Lo, thar be cookies on this site to keep track of your login. By clicking 'okay', you are CONSENTING to this.