(gnus-convert-image-to-x-face-command)
authorReiner Steib <Reiner.Steib@gmx.de>
Tue, 25 Oct 2005 18:40:53 +0000 (18:40 +0000)
committerReiner Steib <Reiner.Steib@gmx.de>
Tue, 25 Oct 2005 18:40:53 +0000 (18:40 +0000)
(gnus-convert-image-to-face-command): Use "convert" by default to
allow other input image formats.
(gnus-x-face-from-file, gnus-face-from-file): Adjust doc strings
accordingly.

lisp/ChangeLog
lisp/gnus-fun.el

index fd2b7cc..fc75b6f 100644 (file)
@@ -1,3 +1,11 @@
+2005-10-25  Reiner Steib  <Reiner.Steib@gmx.de>
+
+       * gnus-fun.el (gnus-convert-image-to-x-face-command)
+       (gnus-convert-image-to-face-command): Use "convert" by default to
+       allow other input image formats.
+       (gnus-x-face-from-file, gnus-face-from-file): Adjust doc strings
+       accordingly.
+
 2005-10-23  Simon Josefsson  <jas@extundo.com>
 
        * imap.el (imap-gssapi-program): Align command line parameters
index 6df7dfb..fe39d85 100644 (file)
   :group 'gnus-fun
   :type 'string)
 
-(defcustom gnus-convert-image-to-x-face-command "giftopnm %s | ppmnorm | pnmscale -width 48 -height 48 | ppmtopgm | pgmtopbm | pbmtoxbm | compface"
+(defcustom gnus-convert-image-to-x-face-command
+  "convert -scale 48x48! %s xbm:- | xbm2xface.pl"
   "Command for converting an image to an X-Face.
+The command must take a image filename (use \"%s\") as input.
+The output must be the Face header data on stdout in PNG format.
+
 By default it takes a GIF filename and output the X-Face header data
 on stdout."
   :version "22.1"
   :group 'gnus-fun
-  :type 'string)
-
-(defcustom gnus-convert-image-to-face-command "djpeg %s | ppmnorm | pnmscale -width 48 -height 48 | ppmquant %d | pnmtopng"
+  :type '(choice (const :tag "giftopnm, netpbm (GIF input only)"
+                       "giftopnm %s | ppmnorm | pnmscale -width 48 -height 48 | ppmtopgm | pgmtopbm | pbmtoxbm | compface")
+                (const :tag "convert"
+                       "convert -scale 48x48! %s xbm:- | xbm2xface.pl")
+                (string)))
+
+(defcustom gnus-convert-image-to-face-command
+  "convert -scale 48x48! %s -colors %d png:-"
   "Command for converting an image to a Face.
-By default it takes a JPEG filename and output the Face header data
-on stdout."
+
+The command must take an image filename (first format
+argument\"%s\") and the number of colors (second format argument:
+\"%d\") as input.  The output must be the Face header data on
+stdout in PNG format."
   :version "22.1"
   :group 'gnus-fun
-  :type 'string)
+  :type '(choice (const :tag "djpeg, netpbm (JPG input only)"
+                       "djpeg %s | ppmnorm | pnmscale -width 48 -height 48 | ppmquant %d | pnmtopng")
+                (const :tag "convert"
+                       "convert -scale 48x48! %s -colors %d png:-")
+                (string)))
 
 (defcustom gnus-face-properties-alist (if (featurep 'xemacs)
                                          '((xface . (:face gnus-x-face)))
@@ -125,8 +141,11 @@ Output to the current buffer, replace text, and don't mingle error."
 
 ;;;###autoload
 (defun gnus-x-face-from-file (file)
-  "Insert an X-Face header based on an image file."
-  (interactive "fImage file name (by default GIF): ")
+  "Insert an X-Face header based on an image file.
+
+Depending on `gnus-convert-image-to-x-face-command' it may accept
+different input formats."
+  (interactive "fImage file name: ")
   (when (file-exists-p file)
     (gnus-shell-command-to-string
      (format gnus-convert-image-to-x-face-command
@@ -134,8 +153,11 @@ Output to the current buffer, replace text, and don't mingle error."
 
 ;;;###autoload
 (defun gnus-face-from-file (file)
-  "Return a Face header based on an image file."
-  (interactive "fImage file name (by default JPEG): ")
+  "Return a Face header based on an image file.
+
+Depending on `gnus-convert-image-to-face-command' it may accept
+different input formats."
+  (interactive "fImage file name: ")
   (when (file-exists-p file)
     (let ((done nil)
          (attempt "")