[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 16bd8dc 3/4: image-dired: Don't ding at beginning or end of buffe
From: |
Stefan Kangas |
Subject: |
master 16bd8dc 3/4: image-dired: Don't ding at beginning or end of buffer |
Date: |
Tue, 26 Oct 2021 22:38:58 -0400 (EDT) |
branch: master
commit 16bd8dce28772e8f952620b152bab7b2cbbfcb29
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>
image-dired: Don't ding at beginning or end of buffer
* lisp/image-dired.el
(image-dired--display-thumb-properties-fun): New defun.
(image-dired-forward-image, image-dired-backward-image): Don't ding
when moving past first or last image; instead show a message, wait a
second and then show image properties.
---
lisp/image-dired.el | 35 +++++++++++++++++++++++------------
1 file changed, 23 insertions(+), 12 deletions(-)
diff --git a/lisp/image-dired.el b/lisp/image-dired.el
index cd18ca1..cc8b80d 100644
--- a/lisp/image-dired.el
+++ b/lisp/image-dired.el
@@ -1372,6 +1372,15 @@ With prefix argument, move ARG lines."
(if image-dired-track-movement
(image-dired-track-thumbnail)))
+(defun image-dired--display-thumb-properties-fun ()
+ (let ((old-buf (current-buffer))
+ (old-point (point)))
+ (lambda ()
+ (when (and (equal (current-buffer) old-buf)
+ (= (point) old-point))
+ (ignore-errors
+ (image-dired-display-thumb-properties))))))
+
(defun image-dired-forward-image (&optional arg)
"Move to next image and display properties.
Optional prefix ARG says how many images to move; default is one
@@ -1387,11 +1396,12 @@ image."
(forward-char))
(setq pos (point))
(image-dired-image-at-point-p)))
- (goto-char pos)
- (error "At last image"))))
+ (progn (goto-char pos)
+ (image-dired-display-thumb-properties))
+ (message "At last image")
+ (run-at-time 1 nil (image-dired--display-thumb-properties-fun)))))
(when image-dired-track-movement
- (image-dired-track-original-file))
- (image-dired-display-thumb-properties))
+ (image-dired-track-original-file)))
(defun image-dired-backward-image (&optional arg)
"Move to previous image and display properties.
@@ -1408,11 +1418,12 @@ image."
(backward-char))
(setq pos (point))
(image-dired-image-at-point-p)))
- (goto-char pos)
- (error "At first image"))))
+ (progn (goto-char pos)
+ (image-dired-display-thumb-properties))
+ (message "At first image")
+ (run-at-time 1 nil (image-dired--display-thumb-properties-fun)))))
(when image-dired-track-movement
- (image-dired-track-original-file))
- (image-dired-display-thumb-properties))
+ (image-dired-track-original-file)))
(defun image-dired-next-line ()
"Move to next line and display properties."
@@ -1612,10 +1623,10 @@ You probably want to use this together with
(define-key map "\C-p" 'image-dired-previous-line)
(define-key map "\C-n" 'image-dired-next-line)
- (define-key map "<" 'image-dired-beginning-of-buffer)
- (define-key map ">" 'image-dired-end-of-buffer)
- (define-key map (kbd "M-<") 'image-dired-beginning-of-buffer)
- (define-key map (kbd "M->") 'image-dired-end-of-buffer)
+ (define-key map "<" #'image-dired-beginning-of-buffer)
+ (define-key map ">" #'image-dired-end-of-buffer)
+ (define-key map (kbd "M-<") #'image-dired-beginning-of-buffer)
+ (define-key map (kbd "M->") #'image-dired-end-of-buffer)
(define-key map "d" 'image-dired-flag-thumb-original-file)
(define-key map [delete] 'image-dired-flag-thumb-original-file)