;;; thumbs.el --- Thumbnails previewer for images files
-;; Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+;; Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: Jean-Philippe Theberge <jphiltheberge@videotron.ca>
;; Maintainer: FSF
(defvar thumbs-marked-list nil
"List of marked files.")
+(make-variable-buffer-local 'thumbs-marked-list)
+(put 'thumbs-marked-list 'permanent-local t)
(defalias 'thumbs-gensym
(if (fboundp 'gensym)
filein
(or output-format "jpeg")
fileout)))
- (call-process shell-file-name nil nil nil "-c" command)))
+ (call-process shell-file-name nil nil nil shell-command-switch command)))
(defun thumbs-new-image-size (s increment)
"New image (a cons of width x height)."
((string-match ".*\\.tiff?\\'" img) 'tiff)))
(defun thumbs-file-size (img)
- (let ((i (image-size (find-image `((:type ,(thumbs-image-type img) :file ,img))) t)))
- (concat (number-to-string (round (car i)))
- "x"
+ (let ((i (image-size
+ (find-image `((:type ,(thumbs-image-type img) :file ,img))) t)))
+ (concat (number-to-string (round (car i))) "x"
(number-to-string (round (cdr i))))))
;;;###autoload
(thumbs-make-thumb img) 'jpeg thumbs-relief marked)
(add-text-properties (1- (point)) (point)
`(thumb-image-file ,img
- help-echo ,(file-name-nondirectory img))))
+ help-echo ,(file-name-nondirectory img)
+ rear-nonsticky help-echo)))
(defun thumbs-do-thumbs-insertion (list)
"Insert all thumbnails into thumbs buffer."
(when (= 0 (mod (setq i (1+ i)) thumbs-per-line))
(newline)))
(unless (bobp) (newline))
- (if diff (message "Type + to display more images."))))
+ (if (> diff 0) (message "Type + to display more images."))))
(defun thumbs-show-thumbs-list (list &optional dir same-window)
(unless (and (display-images-p)
(let (list)
(goto-char (point-min))
(while (not (eobp))
- (unless (= 0 (mod (point) (1+ thumbs-per-line)))
+ (unless (eolp)
(if (thumbs-current-image)
(push (cons (point-marker)
(thumbs-current-image))
(push elt thumbs-marked-list)
(let ((inhibit-read-only t))
(delete-char 1)
- (save-excursion
- (thumbs-insert-thumb elt t))))
+ (thumbs-insert-thumb elt t)))
(when (eolp) (forward-char)))
(defun thumbs-unmark ()
(setq thumbs-marked-list (delete elt thumbs-marked-list))
(let ((inhibit-read-only t))
(delete-char 1)
- (save-excursion
- (thumbs-insert-thumb elt nil))))
+ (thumbs-insert-thumb elt nil)))
(when (eolp) (forward-char)))
-
;; cleaning of old temp files
(mapc 'delete-file
(directory-files (thumbs-temp-dir) t thumbs-temp-prefix))
(define-derived-mode thumbs-mode
fundamental-mode "thumbs"
"Preview images in a thumbnails buffer"
- (setq buffer-read-only t)
- (set (make-local-variable 'thumbs-marked-list) nil))
+ (setq buffer-read-only t))
(defvar thumbs-view-image-mode-map
(let ((map (make-sparse-keymap)))