Lire ses agenda en ligne de commande
Pour avoir accès hors ligne à mes agendas rapidement en ligne de commande (et donc également via emacs), j'utilise la combinaison vdirsyncer (gérant la synchronisation) et khal (donnant une interface interactive ou non).
La configuration de vdirsyncer
se fait via le fichier
~/.config/vdirsyncer/config
. On aura un espace local qui sera
synchronisé avec un espace distant, ce dernier sera mis à read_only
pour ma part (comme je n'utilise khal
que pour la visualisation, bien
qu'il puisse être étendu).
La configuration est la suivante:
[general]
"~/.config/vdirsyncer/status/"
[pair calname_calendar]
"calname_calendar_local"
"calname_calendar_remote"
"from a", "from b"]
[
[storage calname_calendar_local]
"filesystem"
"~/.config/vdirsyncer/calendars/calname"
".ics"
[storage calname_calendar_remote]
"caldav"
"https://CALDAVURL/"
"USERNAME"
"PASSWORD"
true
Pour chaque calendrier calname
, on aura deux emplacements
calname_calendar_local
et calname_calendar_remote
. L'ajout d'un
deuxième calendrier demandera d'ajouter le triplet pair cal2
, storage cal2_local
et storage cal2_remote
.
Une fois fait, il suffit de lancer la commande vdirsync discover
. La
synchronisation des agendas se fera via la commande vdirsyncer sync
,
que l'on peut ajouter à son crontab
.
Vient ensuite la configuration de khal
. La configuration se fait via
le fichier ~/.config/khal
et vaut:
[calendars]
[[calname]]
"~/.config/vdirsyncer/calendars/calname/<UUID>"
true
"#6BBA88"
[locale]
%H:%M
%Y-%m-%d
%Y-%m-%d %a
%Y-%m-%d %H:%M
%Y-%m-%d %H:%M
[view]
-color}{cancelled}{start-end-time-style} {title} {location} {repeat-symbol}{alarm-symbol}{description-separator}{description} {url}{reset}
{calendar
Chaque calendrier de ~/.config/vdirsync/calendars/
pourra être rajouté
dans la partie [calendars]
(ls =~/.config/vdirsync/calendars/
pour
récupérer l'uuid du dossier).
On a accès ensuite aux commandes:
khal calendar
qui affiche les premiers mois.khal interactive
qui permet de naviguer dans le calendrierkhal list
qui liste tous les événements à venir. Un peut spécifier une date de début et de fin, utiliser pour exporter ses agendas.khal search
pour rechercher des occurrences dans tous les agendas.