I am a regular and long time user of GNU Emacs. Packages/Extensions I use most are
- wanderlust [git] which might someday be replaced by notmuch
- and many modes included in the emacs distribution...
Wanderlust is quite configurable, one thing is really missing in the default config: sorting mails using an arbitraty score and multiple sorting criteria. Here is an example that can be used for sorting mails:
(defun wl-message-score (msg) "Compute a score for a message." (let ((score 0) (folder wl-summary-buffer-elmo-folder) (number (elmo-message-entity-number msg))) (dolist (flag (elmo-message-flags folder number) score) (if (eq flag 'new) (setq score (+ 40 score))) (if (eq flag 'unread) (setq score (+ 35 score))) (if (eq flag 'important) (setq score (+ 30 score))) ;; add personnal flags here (if (eq flag 'answered) (setq score (+ 0 score))))))
(defun wl-summary-overview-entity-compare-by-score (x y) "Compare entity X and Y by mail score." (let ((sx (wl-message-score x)) (sy (wl-message-score y))) (if (= sx sy) (wl-summary-overview-entity-compare-by-date x y) (< sx sy))))
(setq wl-summary-sort-specs '(number date subject from list-info size score)) (setq wl-summary-default-sort-spec 'score) (wl-summary-define-sort-command)