branch: externals/dired-preview
commit 86e11c105b5b2bdd481f73aff5678d55411984df
Author: Protesilaos Stavrou <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>
Make dired-preview-display-file delete windows eagerly
The previous behaviour would produce more than one preview windows in
the case where (i) the Emacs frame displayed a preview per the
function 'dired-preview-display-action-alist-dwim', (ii) the frame was
resized, and (iii) a new preview was requested.
Thanks to Bruno Boal for bringing this matter to my attention and for
checking the workaround with me: <https://git.sr.ht/~bboal>. This was
done in a private channel and the information is shared with
permission.
---
dired-preview.el | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dired-preview.el b/dired-preview.el
index 11040ab4c3..6c56d69144 100644
--- a/dired-preview.el
+++ b/dired-preview.el
@@ -261,12 +261,12 @@ Only do it with the current major mode is Dired."
(defun dired-preview-display-file (file)
"Display preview of FILE if appropriate."
+ (dired-preview--delete-windows)
(when-let ((buffer (dired-preview--return-preview-buffer file)))
(dired-preview--display-buffer buffer)
- (if-let ((window (get-buffer-window buffer)))
- (with-selected-window window
- (set-window-parameter window 'dired-preview-window :preview))
- (dired-preview--close-previews))))
+ (when-let ((window (get-buffer-window buffer)))
+ (with-selected-window window
+ (set-window-parameter window 'dired-preview-window :preview)))))
(defun dired-preview--preview-p (file)
"Return non-nil if FILE can be previewed."