Salut à tous,
*** Ce mail n'intéresse que les utilisateurs du client mail VM
fonctionnant sous (X)Emacs.
Contexte
--------
VM est affligé par défaut d'une fonction d'impréssion des mails qq peu
faiblarde (dump direct du texte). Le paquetage ps-print.el (maintenu
par Jacques DUTHEN) delivré avec GNU Emacs & XEmacs fourni des
exemples de 'hooks' permettant de réaliser une impréssion plus propre.
MAIS,
les fonctions de ps-print.el 'ré-inventent la roue' car elles
analysent elles-même le contenu du mail pour en extraire les champs
"From: ", "Subject: ", ... etc. VM le fait déja (très bien,
d'ailleurs).
Fonctionnalités
---------------
J'ai réccupéré une fonction 'vm-print-message-with-faces' d'auteur
inconnu (probablement anglo-saxon) et y ai incorporé:
- Les fonctions de décodage MIME de VM, pour avoir une impréssion
PostScript utilisant les accents.
- L'appel à BBDB pour résoudre le nom de l'utilisateur sur la base de
son adresse Email.
Code
----
Les commentaires/améliorations sont les bienvenus.
== à incorporer dans ~/.vm
(require 'nnmail)
(require 'ps-print)
;;; New print function
;;;
(defvar vm-print-from-function nil)
(defun vm-print-message-with-faces (&optional filename)
"Print the current message to a PostScript printer (or file) with font
information"
(interactive)
(vm-select-folder-buffer)
(let* ((msg (vm-real-message-of (car vm-message-pointer)))
(buffer (set-buffer (if (vm-mime-plain-message-p msg)
(vm-buffer-of msg)
vm-presentation-buffer)))
(subject-line (or (vm-decode-mime-encoded-words-in-string
(vm-get-header-contents msg "Subject:"))
"<No Subject>">))
(from-line (concat "From: "
(or (if (fboundp vm-print-from-function)
(funcall vm-print-from-function msg))
(vm-decode-mime-encoded-words-in-string
(vm-get-header-contents msg "From:"))
"<No Sender>")))
(date-line (vm-get-header-contents msg "Date:"))
(time (if date-line (nnmail-date-to-time date-line) (current-time)))
(dd-mon-yyyy (format-time-string "%d %b %Y" time))
(hh:mm:ss (format-time-string "%T" time))
(ps-left-header (list 'subject-line 'from-line))
(ps-right-header (list "/pagenumberstring load"
'dd-mon-yyyy 'hh:mm:ss))
(ps-header-lines 2)
(ps-print-header-frame t))
(ps-print-buffer-with-faces)))
;;;
(setq vm-print-from-function 'vm-summary-function-B) ;Hooks BBDB
(fset 'vm-toolbar-print-command 'vm-print-message-with-faces)
==
--
Fix & Cathy KOWALSKI mailto:ayoul@club-internet.fr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Too many people are thinking of security instead of opportunity. They
seem more afraid of life than death. -- James F. Byrnes