I'm a huge fan of mutt mail reader and Maildir.
My mutt spawn vim in console, and I can chat with anyone as fast, as in any faddish messenger.
Maildir is cool.
The following bash script I use to print info about new emails in Maildir (From and Subject):
#!/bin/bash if [ ! -z "$(ls -A ~/Maildir/new/)" ]; then cat ~/Maildir/new/* | grep "^\(From\|Subject\):" fi
(Adjust it to your folders.)
This script prints new email counts in each Maildir folder:
#!/bin/bash cd ~/Maildir find . -name new | sort | while read LINE; do files=$(find "$LINE" -type f -name '*' -print | wc -l) if [ "$files" != "0" ]; then echo $LINE - $files | sed 's/\/new//g' fi done
Sample result:
./.Archives - 4 ./.mail-lists - 2 ./notifications - 1 ./.SPAM - 8 ./.Trash - 105
Now about mailing lists I'm subscribed to. Can I see a statistics, what today's trends are?
% cd ~/Maildir/.mail-lists/cur % cat * | grep "^Subj" | sort | uniq -c | sort -n 10 Subject: Re: [Tinycc-devel] Unable to find include directories by tcc on 12 Subject: Re: Any missed features? 12 Subject: Re: [Tinycc-devel] manually inlining functions 12 Subject: Re: [Tinycc-devel] [PATCH 3/3] stdatomic: stdatomic.h header 12 Subject: Re: [Tinycc-devel] -Werror=X (but ugly) 12 Subject: Re: [Tinycc-devel] x86_64 tcc doesn't set sign bit on NaNs 13 Subject: Re: [Tinycc-devel] Outdated .def files 14 Subject: Re: Check witness validity with benchexec? 14 Subject: Re: Help testing release candidate / mc-4.8.27-rc1 17 Subject: Re: [Tinycc-devel] [PATCH] stdatomic: ld/st/xchg/cmpxchg on simple 21 Subject: Re: [Tinycc-devel] issues/questions with stddef.h which comes with 24 Subject: Re: [Tinycc-devel] enforced immutability - proposed research project 29 Subject: Re: [Tinycc-devel] Linking system dylibs on macOS 11+ 32 Subject: Re: [Tinycc-devel] Segfault on arm64 when making a function call 53 Subject: [cwn] Attn: Development Editor, Latest OCaml Weekly News
What activity on github's projects I'm subscribed to?
% cd ~/Maildir/.mail-lists/cur % cat * | grep "^To.*github" | sort | uniq -c | sort -n 229 To: sosy-lab/sv-benchmarks238 To: 9fans/plan9port 328 To: MiniZinc/libminizinc 438 To: stp/stp 684 To: vprover/vampire 714 To: klee/klee 1301 To: tlaplus/tlaplus 2732 To: angr/angr 4455 To: Z3Prover/z3 5358 To: CVC4/CVC4 9311 To: diffblue/cbmc 9331 To: cvc5/cvc5 % cat * | grep "^Subj" | sort | uniq -c | sort -n 63 Subject: Re: [Z3Prover/z3] [Consolidated] soundness issues, invalid models, 66 Subject: Re: [diffblue/cbmc] Adds documentation about function contracts 67 Subject: Re: [vprover/vampire] Induction with recursive functions (#259) 71 Subject: Re: [CVC4/CVC4] Optimizer for BitVectors (#6213) 72 Subject: Re: [diffblue/cbmc] Allow checks to be performed inside quantifier 78 Subject: Re: [diffblue/cbmc] Cache dereferences during symex to avoid 86 Subject: Re: [Z3Prover/z3] [Consolidated] issues affecting 97 Subject: Re: [Z3Prover/z3] [Consolidated] issues with 104 Subject: Re: [CVC4/CVC4] Replace old sygus term reconstruction algorithm with 109 Subject: Re: [diffblue/cbmc] Add support for assigns clauses on loops (#6249) 119 Subject: Re: [CVC4/CVC4] Add Solver.java to the Java API (#6196) 134 Subject: Re: [CVC4/CVC4] Refactor / reimplement statistics (#6162) 137 Subject: Re: [Z3Prover/z3] Add move semantics to c++ api (#5156) 141 Subject: [Z3Prover/z3] Pre-release Nightly - Nightly 144 Subject: [aimacode/aima-exercises] Request to get Community solution for 233 Subject: Re: [tlaplus/tlaplus] Trace explorer fixes and enhancements (#588)
Can you do this in your favorite email client? Or maybe google mail, god forbid me?
I also use mairix as a search engine for my Maildir emails. (The only issue with it is that it can't handle utf-8.)
I probably should upgrade to mu
Anyway, call this Python script from mutt ('|' (Pipe to command), then type ./search.py). The 'From' field of the email message you're currently at will be passed to the script:
#!/usr/bin/env python3 import fileinput, os for line in fileinput.input(): if line.startswith ("From:"): line=line.split() s=line[-1] if s[0]=='<' and s[-1]=='>': s=s[1:] s=s[:-1] print (s) os.system ("mairix -f ~/mail/.mairixrc tf:" + s) exit(0) print ("Error, can't parse this: ",line)
Depending on mairix's config file, all your correspondence with that email will be gathered in 'Search' folder, which can be browsed in mutt.
List of my other blog posts. My company.
Yes, I know about these lousy Disqus ads. Please use adblocker. I would consider to subscribe to 'pro' version of Disqus if the signal/noise ratio in comments would be good enough.