# 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 : * La couleur des yeux de ma chérie * Les histoires préférées de mon fils * Comment je m'appelle * La recette des crêpes * Les premières périodes du tableau périodique * Les 6 premières décimales de π * Un grand nombre de répliques de l'épisode "blink" de Dr Who * 6 premières décimales de π * Comment utiliser vi > 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 : * Lancer "calendar -a" dans un crontab root, qui envoie le résultat par email * Ajouter une tâche cron "@daily" avec "calendar | mail -s prx@si3t.ch" sur mon serveur. * Ajouter la commande "calendar" à la fin de mon fichier .kshrc. * Lancer en début de session "notify-send "$(calendar)". C'est cette dernière solution que j'ai choisie pour l'instant. 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 : ``` \t ``` 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 #include #include /* 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? => mailto:bla@bla.si3t.ch?subject=calendar Envoyez votre commentaire par mail. => /log/commentaires Mode d'emploi de la liste de diffusion pour recevoir les réponses.