si3t.ch> cd /


calendar pour ne plus oublier

2021-05-26T21:07:51Z

C'est notoire, je suis un étourdi. Il m'arrive d'avoir une chaussette à l'endroit, une autre à l'envers, ce qui horripile mon entourage (mais moi pas du tout bizarrement) :P.

En ce qui concerne les dates importantes, je prends comme exploit personnel les jours où je me souviens d'un anniversaire.

Du coup, je note tout. TOUT! J'ai des pense-bête toujours sur moi : un petit carnet dans la poche, c'est bien pratique.

Sauf que... Il faut que je pense à regarder le carnet ET que je sache quel jour on est. :D

Euh, faut t'inquiéter là prx, c'est Alzheimer précoce.

Alors d'abord, j'ai écrit "Alzheimer" de mémoire sans faute. Mais mon cerveau, c'est de la RAM. Ensuite, je retiens pleins de trucs vraiment utiles :

gné gné gné, avec mon caldav Nextcloud et un client droid, j'ai des notifs pour tous les trucs importants, t'es trop naze".

Certes.

Mais j'aime les choses simples, que voulez-vous.

Et devoir installer tout un tas de trucs juste pour me souvenir de dates, ça ne me plaît pas. Aussi, j'étais ravi de découvrir la commande "calendar".

Ha ha, mais ça fait un bail que ça existe!

En effet, et c'est le genre d'outils que j'aurais bien aimé connaître plus tôt.

Cette commande regarde les évènements listés dans un fichier "$HOME/.calendar/calendar" puis affiche ceux à venir les prochains jours. C'est en plus très symple à sauvegarder et synchroniser sur plusieurs machines.

Du coup, une fois ce fichier rempli, il suffit de lancer la commande "calendar" chaque jour. Plusieurs possibilités s'offrent à nous :

Je trouve génial la façon dont le fichier contenant les dates peut être compris. On peut écrire les dates de différentes façons, et on peut même inclure des fichiers déjà présents sur le système. La syntaxe est la suivante :

<mois> <jour>\t	<description>

le "\t" est là pour indiqué qu'il faut utiliser une tabulation.

Le format du mois et des jours estr très souple. Je préfère garder un format chiffré pour m'y retrouver.

Des commentaires avec "/* ... */" et des "#include" peuvent être utilisés, comme si c'était du C. Pas besoin de réinventer des trucs qui marchent :)

Au final, ça me donne ça :

LANG=fr
#include <calendar.french>
#include <calendar.fictional>
#include <calendar.history>

/* MM dd\t description */
11 30   Anniv' arpi
04 18   Anniv Péhä
05 17   Anniv Starsheep
05 05   Anniv Vinishor
09 02   Anniv JB
08 *    Contrôle technique twingo

Voilà, je n'aurais plus d'excuses pour oublier l'anniversaire de Starsheep (coucou à tous les autres :))

Autant dire que cet outil va vite m'être indispensable.

Le manuel de "calendar" contient des exemples très utiles, comme d'hab :).

Edit

En fait, je n'utilise pas notify-send, mais un terminal. AVec "read", je peux fermer le terminal avec Entrée. J'ajoute l'option "-A 7" pour voir à l'avance d'une semaine.

xterm -e "echo 'à venir...\n---'; calendar -A 7; read a" &

Une réaction?

Envoyez votre commentaire par mail.

Mode d'emploi de la liste de diffusion pour recevoir les réponses.