Taille de la liste des dossier récents

Mon précédent billet abordait la taille de la liste des « dossiers récents » utilisés avec Thunderbird. Un autre paramètre vient semer un léger trouble sur cette liste et sa composition : la durée de vie d'un dossier dans cette liste.

Si la liste est pleine et que vous faites un « copier vers » ou « déplacer vers » en désignant un dossier absent de la liste, celui-ci y sera ajouté après suppression du dossier le plus anciennement utilisé[1]. Cette liste est aussi nettoyée automatiquement afin d'en éliminer les dossiers qui n'ont pas été utilisés depuis « longtemps ».

Par défaut, ce « longtemps » vaut 31 jours. Si vous voulez modifier cette durée maximale, il faut... s'armer d'un peu de courage.

En effet, en tout cas dans l'environnement Linux où j'ai fait mes tests, il s'agit de modifier un fichier global de Thunderbird, ce qui signifie que tous les utilisateurs seront concernés. Si vous faites une erreur, tous les utilisateurs en subiront les conséquences.

Le fichier qui nous intéresse est l'archive omni.ja qui, sur mon Gentoo, se trouve dans le répertoire /usr/lib64/thunderbird. Il s'agit d'un fichier compressé par ZIP. Le composant qui nous intéresse est modules/folderUtils.jsm. Ce fichier contient, entre autres, la fonction getMostRecentFolders dont le début est (j'ai modifié la mise en page) :

function getMostRecentFolders(aFolderList, 
                              aMaxHits, aTimeProperty) {
  let recentFolders = [];
  const monthOld = Math.floor((Date.now() - 31 * 24 * 60 * 60 * 1000) / 1000);

Vous voyez probablement où apporter vos modifications. Rien ne vous oblige à utiliser un nombre entier de jours, vous pouvez parfaitement définir l'âge maximal à 12345 secondes. Il suffit ensuite d'injecter le fichier modifié dans l'archive, et le tour est joué.

Note

[1] Je ne suis pas certain que ce soit bien clair.