branch: externals/dired-preview
commit 85cbe8296587a48cd1389b031a9a4e8bc74e72ef
Author: Protesilaos Stavrou <i...@protesilaos.com>
Commit: Protesilaos Stavrou <i...@protesilaos.com>

    Add user option dired-preview-trigger-on-start
    
    This is in response to issue 31 by dasoju:
    <https://github.com/protesilaos/dired-preview/issues/31>.
---
 README.org       |  7 ++++++-
 dired-preview.el | 19 ++++++++++++++++---
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index c85f6996ba..f0efcb70fe 100644
--- a/README.org
+++ b/README.org
@@ -89,6 +89,11 @@ Previews are shown subject to a small delay, per ther user 
option
 ~dired-preview-delay~: if the value of the delay is 0, then it is
 internally understood as 0.1 as no delay can affect performance.
 
+#+vindex: dired-preview-trigger-on-start
+When entering a directory, a preview is triggered outright if the user
+option ~dired-preview-trigger-on-start~ is set to a non-nil value (the
+default). [ Part of {{{development-version}}}. ]
+
 #+vindex: dired-preview-ignored-extensions-regexp
 #+vindex: dired-preview-ignored-show-ignored-placeholders
 Files matching the ~dired-preview-ignored-extensions-regexp~ are not
@@ -367,7 +372,7 @@ matters.
 
 + Ideas and/or user feedback :: Alex Popescu, Bruno Boal, Ed Hamilton,
   Karthik Chikmagalur, Peter Prevos, Ramon Diaz-Uriarte, Yiyu Zhou,
-  artelse, fab6, Inkbottle00.
+  artelse, dasoju, fab6, Inkbottle00.
 
 * GNU Free Documentation License
 :PROPERTIES:
diff --git a/dired-preview.el b/dired-preview.el
index 118eb24785..eff7b64635 100644
--- a/dired-preview.el
+++ b/dired-preview.el
@@ -191,6 +191,18 @@ can affect performance."
   :package-version '(dired-preview . "0.4.0")
   :group 'dired-preview)
 
+(defcustom dired-preview-trigger-on-start t
+  "When non-nil try to trigger a preview when enabling `dired-preview-mode'.
+This also means that the preview will be displayed as soon as the Dired
+buffer is visited, if `dired-preview-mode' is added to the
+`dired-mode-hook' or `dired-preview-global-mode' is enabled.
+
+If nil, then the preview happens only after one of the commands in
+`dired-preview-trigger-commands' is invoked and the mode is enabled."
+  :type 'boolean
+  :package-version '(dired-preview . "0.6.0")
+  :group 'dired-preview)
+
 (defvar dired-preview--buffers nil
   "List with buffers of previewed files.")
 
@@ -737,9 +749,10 @@ More specifically, test if FILE has an extension among the
 
 (defun dired-preview-start (file)
   "Preview FILE instantly when invoking Dired."
-  (unless (get 'dired-preview-start 'function-executed)
-    (put 'dired-preview-start 'function-executed t)
-    (dired-preview-display-file file)))
+  (when dired-preview-trigger-on-start
+    (unless (get 'dired-preview-start 'function-executed)
+      (put 'dired-preview-start 'function-executed t)
+      (dired-preview-display-file file))))
 
 (defun dired-preview--start-idle-timer (file)
   "Start the idle timer to preview FILE."

Reply via email to