Introduction

Récemment, j'ai retrouvé Thunderbird, mais celui-ci a développé un bug en raison de changements récents liés à XDG, qui ont introduit un nouveau type de répertoire de projets. Ce bug fait que chaque fois que je lance Thunderbird, il crée un répertoire ~/thunderbird.

Contexte Technique

Le répertoire créé est vide et inutile, car Thunderbird utilise déjà un répertoire de type ancien ~/.thunderbird pour la configuration et les données, au lieu d'utiliser les répertoires standard ~/.config/ et ~/.local/share/. Pour résoudre ce problème, j'ai créé un script shell utilisant inotifywait pour surveiller la création de ce répertoire et le supprimer immédiatement.

Voici le script ~/.local/bin/watch-thunderbird-dir.fish :
#!/usr/bin/fish
inotifywait -m -e create ~/. | while read FILE
echo $FILE
if test -d 'thunderbird';
rmdir 'thunderbird';
end
end

Analyse et Implications

Pour que ce script s'exécute automatiquement sans avoir à garder un terminal ouvert, j'ai créé un service utilisateur systemd. Le fichier de configuration du service est ~/.config/systemd/user/watch-thunderbird-dir.service et contient les lignes suivantes :
[Unit]
Description=Watch and remove thunderbird directory
After=network.target
[Service]
Type=simple
ExecStart=/home/me/.local/bin/watch-thunderbird-dir.fish
Restart=always
RestartSec=2
[Install]
WantedBy=default.target

Il est important de noter que les chemins absolus sont nécessaires pour les services utilisateur systemd, donc il faut ajuster "me" avec votre nom d'utilisateur. Ensuite, il faut rendre le script exécutable, recharger le démon systemd et activer le service :
$ chmod +x ~/.local/bin/watch-thunderbird-dir.fish
$ systemctl --user daemon-reload
$ systemctl --user enable --now watch-thunderbird-dir.service

Perspective

Cette solution temporaire devrait fonctionner jusqu'à ce que Thunderbird résolve le bug. Il est important de ne pas oublier de supprimer tous ces fichiers et services une fois que le problème sera corrigé pour éviter toute complication inutile.