Title: Birthday dates management using calendar | |
Author: Solène | |
Date: 15 June 2020 | |
Tags: openbsd plaintext automation | |
Description: | |
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. |