2004-02-12 Katsumi Yamaoka <yamaoka@jpl.org>
+ * gnus-fun.el (gnus-face-properties-alist): New user option.
+ (gnus-display-x-face-in-from): Use it.
+
+ * gnus-art.el (article-display-face): Ditto.
+
* compface.el (uncompface-use-external): Default to nil.
2004-02-12 Jesper Harder <harder@ifa.au.dk>
(forward-line 1)
(point))))))
+(eval-when-compile
+ (defvar gnus-face-properties-alist))
+
(defun article-display-face ()
"Display any Face headers in the header."
(interactive)
(let ((png (gnus-convert-face-to-png face))
image)
(when png
- (setq image (gnus-create-image png 'png t))
+ (setq image
+ (apply 'gnus-create-image png 'png t
+ (cdr (assq 'png gnus-face-properties-alist))))
(gnus-article-goto-header "from")
(when (bobp)
(insert "From: [no `from' set]\n")
:group 'gnus-fun
:type 'string)
+(defcustom gnus-face-properties-alist (if (featurep 'xemacs)
+ '((xface . (:face gnus-x-face)))
+ '((pbm . (:face gnus-x-face))
+ (png . nil)))
+ "Alist of image types and properties applied to Face and X-Face images.
+Here are examples:
+
+;; Specify the altitude of Face images in the From header.
+\(setq gnus-face-properties-alist
+ '((pbm . (:face gnus-x-face :ascent 80))
+ (png . (:ascent 80))))
+
+;; Show Face images as pressed buttons.
+\(setq gnus-face-properties-alist
+ '((pbm . (:face gnus-x-face :relief -2))
+ (png . (:relief -2))))
+
+See the manual for the valid properties for various image types.
+Currently, `pbm' is used for X-Face images and `png' is used for Face
+images in Emacs. Only the `:face' property is effective on the `xface'
+image type in XEmacs if it is built with the libcompface library."
+ :group 'gnus-fun
+ :type '(repeat (cons :format "%v" (symbol :tag "Image type") plist)))
+
(defun gnus-shell-command-to-string (command)
"Like `shell-command-to-string' except not mingling ERROR."
(with-output-to-string
'xface
(gnus-put-image
(if (gnus-image-type-available-p 'xface)
- (gnus-create-image
- (concat "X-Face: " data)
- 'xface t :face 'gnus-x-face)
- (gnus-create-image
- pbm 'pbm t :face 'gnus-x-face)) nil 'xface))
+ (apply 'gnus-create-image (concat "X-Face: " data) 'xface t
+ (cdr (assq 'xface gnus-face-properties-alist)))
+ (apply 'gnus-create-image pbm 'pbm t
+ (cdr (assq 'pbm gnus-face-properties-alist))))
+ nil 'xface))
(gnus-add-wash-type 'xface))))))
(defun gnus-grab-cam-x-face ()