💾 Archived View for perso.pw › blog › articles › calendar-xmessage.gmi captured on 2024-05-10 at 11:26:26. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-05-24)

-=-=-=-=-=-=-

Birthday dates management using calendar

Comment on Mastodon

I manage my birthday list so I don't forget about them in a

[calendar](https://man.openbsd.org/calendar.1) file so I can use

it in scripts

The calendar file format is easy but sadly it only works using

English month names.

This is an example file with differents spacing:

7 August This is 7 august birthday!

8 August This is 8 august birthday!

16 August This is 16 august birthday!

Now you have a calendar file you can use the **calendar** binary

on it and show incoming events in the next n days using -A flag.

calendar -A 20

Note that the default file is `~/.calendar/calendar` so if you

use this file you don't need to use the `-f` flag in calendar.

Now, I also use it in crontab with xmessage to show a popup once a

day with incoming birthdays.

30 13 * * * calendar -A 7 -f ~/.calendar/birthday | grep . && calendar -A 7 -f ~/.calendar/birthdays | env DISPLAY=:0 xmessage -file -

You have to set the DISPLAY variable so it appear on the screen.

It's important to check if calendar will have any output before

calling xmessage to prevent having an empty window.