;;; thumbs.el --- Thumbnails previewer for images files
-;; Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2004-2013 Free Software Foundation, Inc.
;; Author: Jean-Philippe Theberge <jphiltheberge@videotron.ca>
;; Maintainer: FSF
;; This package create two new modes: thumbs-mode and thumbs-view-image-mode.
;; It is used for basic browsing and viewing of images from within Emacs.
;; Minimal image manipulation functions are also available via external
-;; programs. If you want to do more complex tasks like categorise and tag
+;; programs. If you want to do more complex tasks like categorize and tag
;; your images, use image-dired.el
;;
;; The 'convert' program from 'ImageMagick'
:version "22.1"
:group 'multimedia)
-(defcustom thumbs-thumbsdir (concat user-emacs-directory "thumbs")
- "*Directory to store thumbnails."
+(defcustom thumbs-thumbsdir (locate-user-emacs-file "thumbs")
+ "Directory to store thumbnails."
:type 'directory
:group 'thumbs)
(defcustom thumbs-geometry "100x100"
- "*Size of thumbnails."
+ "Size of thumbnails."
:type 'string
:group 'thumbs)
:group 'thumbs)
;; Unfortunately Windows XP has a program called CONVERT.EXE in
-;; C:/WINDOWS/SYSTEM32/ for partioning NTFS system. So Emacs
+;; C:/WINDOWS/SYSTEM32/ for partitioning NTFS systems. So Emacs
;; can find the one in your ImageMagick directory, you need to
;; customize this value to the absolute filename.
(defcustom thumbs-conversion-program
"convert.exe"
(or (executable-find "convert")
"/usr/X11R6/bin/convert"))
- "*Name of conversion program for thumbnails generation.
+ "Name of conversion program for thumbnails generation.
It must be 'convert'."
:type 'string
:group 'thumbs)
:group 'thumbs)
(defcustom thumbs-relief 5
- "*Size of button-like border around thumbnails."
+ "Size of button-like border around thumbnails."
:type 'integer
:group 'thumbs)
(defcustom thumbs-margin 2
- "*Size of the margin around thumbnails.
+ "Size of the margin around thumbnails.
This is where you see the cursor."
:type 'integer
:group 'thumbs)
(let ((fattribs-list (file-attributes f)))
`(,(nth 4 fattribs-list) ,(nth 7 fattribs-list) ,f)))
(directory-files (thumbs-thumbsdir) t (image-file-name-regexp)))
- '(lambda (l1 l2) (time-less-p (car l1) (car l2)))))
+ (lambda (l1 l2) (time-less-p (car l1) (car l2)))))
(dirsize (apply '+ (mapcar (lambda (x) (cadr x)) files-list))))
(while (> dirsize thumbs-thumbsdir-max-size)
(progn
(setq dirsize (- dirsize (car (cdar files-list))))
(setq files-list (cdr files-list)))))
-;; Check the thumbsnail directory size and clean it if necessary.
+;; Check the thumbnail directory size and clean it if necessary.
(when thumbs-thumbsdir-auto-clean
(thumbs-cleanup-thumbsdir))
((string-match ".*\\.png\\'" img) 'png)
((string-match ".*\\.tiff?\\'" img) 'tiff)))
+(declare-function image-size "image.c" (spec &optional pixels frame))
+
(defun thumbs-file-size (img)
(let ((i (image-size
(find-image `((:type ,(thumbs-image-type img) :file ,img))) t)))
(provide 'thumbs)
-;; arch-tag: f9ac1ef8-83fc-42c0-8069-1fae43fd2e5c
;;; thumbs.el ends here