Dwm, icedove, nombre de mails non lus dans xsetroot

Bonjour,

Le titre dit à peut près tout :
J’ai une debian sid avec dwm comme gestionnaire de fenêtres,
j’utilise icedove comme client de messagerie
et je cherche un moyen de récupérer en cli le nombre de mails non lus pour l’afficher dans la barre dwm

Je ne trouve rien d’intéressant dans le manuel de icedove,
J’ai essayé un script qui fait un wc -l directement sur les dossiers “new” du serveur mail mais ça ne marche pas parce que dès que icedove les récupère ils les déplace du dossier “new”.
J’ai fouillé un peu dans mon ~/.icedove mais à part des fichiers contenant les mails (pas de maildirs ni de dossier new) rien de probant.

Je me dit que ça doit être possible puisqu’on peut avoir ce fameux nombre sur l’icone lorsqu’on utilise un system tray ou directement dans la barre des menus comme sous ubuntu par exemple.

Une idée ?

Merci à vous :smiley:

Bonjour,

marche

=>où est le problème ? si tu consultes les nouveaux mails, c’est bien normal de les virer du dossier new .

Oui mon script ressemble au tient (sauf que je fais ça au travers d’ssh) et le script en lui-même fonctionne, c’est le résultat qui n’est pas là :
dès que je reçois un mail, icedove le déplace de “new” vers “cur” que je l’ai lu ou non dans icedove, donc ça me renvoit 0 alors que j’ai des mails non lus…
Du coup je suis à la recherche d’une autre solution :smiley:

D’après la doc de maildir : qmail.org/man/man5/maildir.html

=> effectivement, lorsque tu ouvre icedove, que tu n’ai pas lu les nouveau mails, les nouveaux mails vont dans cur.
Par contre, je crois que une fois que tu as lu le mail, le mail est virer du cur (à vérifier).

Donc cur fait partie aussi des mails non lus, par conséquent, faut faire la somme des mails de new et de cur.

Pourtant sur mon serveur dans chaque dossier “racine” on va dire, j’ai “cur”, “tmp”, et “new”.
Du temps où j’utilisais mutt, les nouveaux mails étant dans new, puis déplacés dans “cur” une fois lus.
Maintenant que j’ai icedove sur mes postes ils vont tous dans “cur” lus ou non, dès l’instant où icedove les a récupérés, et les mails lus restent par contre bien dans “cur”.

À mon avis compter les mails sur le serveur, bien que facile à faire pour moi ne semble pas être la bonne solution.
J’imagine qu’il faut chercher en local dans icedove pour récupérer ce nombre, puisqu’il gère ça avec une base de donnée sqlite et pas avec les dossiers new, cur et tmp…

Et en utilisant les flags, ça ne fonctionnerait pas?

Tu peux aussi regarger du côté de notmuch. Une fois configuré, tu n’auras qu’à lancer

notmuch search tag:unread |wc -l Pour voir le nombre de non lus :slightly_smiling:

(Et pour que notmuch vérifie régulièrement, tu peux ajouter une tache cron :

#mise à jour notmuch 5 5 * * * * notmuch new >/dev/null 2>&1 )