| 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. |