Icedove : voir facilement si nouveaux emails il y a

Bonjour,

Voila une petite astuce que j’ai fini par trouver après avoir farfouillé quelques temps.

Avant, sous icedove, les noms des comptes apparaissaient en police normale, et lorsqu’un nouvel email arrivait, il apparaissait en gras. Ainsi, pas besoin de développer ses dix comptes emails à chaque fois que l’on veut vérifier ses emails.

Problème, depuis quelques temps (chez moi sur icedove 3.1.9), les comptes emails apparaissent toujours en gras, donc il faut soit développer chaque compte un par un, soit les laisser développés. Quand on en a 10, c’est pas pratique.

Mais il y a une solution ! Elle se situe dans le fichier userChrome.css.
Le fichier se trouve dans ~/.icedove/num_de_profil.default/chrome/ (si le dossier chrome n’existe pas, créez-le aussi).

Vous pouvez utiliser ledit fichier pour configurer pas mal de trucs (mais je ne sais pas quoi ni comment au dela de ce qui suit), ce qui nous intéresse, c’est d’y mettre ça :

[code]/* when subfolder has unread messages */
treechildren::-moz-tree-cell-text(subfoldersHaveUnreadMessages-true) {color: #33aaff !important;}

/* when folder has unread messages */
treechildren::-moz-tree-cell-text(hasUnreadMessages-true) {color: #3366FF !important;}[/code]

Concrètement, la première ligne vérifie si un des sous-dossier a des messages non-lus, et si oui applique la couleur mentionnée, et cela s’applique bien sur les noms des comptes emails.
La seconde modifie la couleur du dossier contenant directement des messages non lus (pas forcément utile mais j’aime bien).

Mais, la première ligne risque de ne pas fonctionner pas alors que c’est celle que l’on veut. Mais il est possible de la faire fonctionner en modifiant le fichier /usr/lib/icedove/modules/folderUtils.jsm (en root) :

116 // We only set this if we're not a server 117 if (!aFolder.isServer) { 118 let shallowUnread = aFolder.getNumUnread(false); 119 // Make sure that shallowUnread isn't negative 120 if (shallowUnread < 0) 121 shallowUnread = 0; 122 let deepUnread = aFolder.getNumUnread(true); 123 if (deepUnread - shallowUnread > 0) 124 addAtom("subfoldersHaveUnreadMessages-true"); 125 }

Il faut commenter les lignes 117 et 125 (adaptez chez vous si ce ne sont pas les mêmes), et cela fonctionnera ensuite. Je ne sais pas si c’est un bug ou quoi, mais bon, ça fait marcher le bazar.

EDIT : J’ai retrouvé d’où vient l’astuce : forums.mozillazine.org/viewtopic … &t=2072507
Merci à im_salty.

Merci, c’est sympa.
Je n’ai même pas eu besoin de modifier le fichier /usr/lib/icedove/modules/folderUtils.jsm :smiley:

Icedove 3.1.9-2

Pourtant j’ai la même version et j’ai eu besoin de la modif, il faudrait savoir de quoi dépend ce aFolder.isServer. Mais bon, ça marche.