aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTak Kunihiro2017-09-08 11:52:47 +0300
committerEli Zaretskii2017-09-08 11:52:47 +0300
commit41eb4c518a79050b85add25bf67992e21fa3cd16 (patch)
treec1b10f18f1ab5ea0a6c294e3b5033eb673691a29
parentbe90cd1412c89cae6b2ba41133b888008ee478dc (diff)
downloademacs-41eb4c518a79050b85add25bf67992e21fa3cd16.tar.gz
emacs-41eb4c518a79050b85add25bf67992e21fa3cd16.zip
Make mouse clicks in Dired more customizable
* lisp/dired.el (dired-mouse-find-file): Allow callers to specify functions to visit file/directory. (dired-mouse-find-file-other-window) (dired-mouse-find-file-other-frame): New functions to visit files in another window/frame. (Bug#27435)
-rw-r--r--lisp/dired.el24
1 files changed, 20 insertions, 4 deletions
diff --git a/lisp/dired.el b/lisp/dired.el
index ff62183f091..052f9a52143 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -2233,9 +2233,15 @@ directory in another window."
2233;; Don't override the setting from .emacs. 2233;; Don't override the setting from .emacs.
2234;;;###autoload (put 'dired-find-alternate-file 'disabled t) 2234;;;###autoload (put 'dired-find-alternate-file 'disabled t)
2235 2235
2236(defun dired-mouse-find-file-other-window (event) 2236(defun dired-mouse-find-file (event &optional find-file-func find-dir-func)
2237 "In Dired, visit the file or directory name you click on." 2237 "In Dired, visit the file or directory name you click on.
2238The optional arguments FIND-FILE-FUNC and FIND-DIR-FUNC specify
2239functions to visit the file and directory, respectively. If
2240omitted or nil, these arguments default to `find-file' and `dired',
2241respectively."
2238 (interactive "e") 2242 (interactive "e")
2243 (or find-file-func (setq find-file-func 'find-file))
2244 (or find-dir-func (setq find-dir-func 'dired))
2239 (let (window pos file) 2245 (let (window pos file)
2240 (save-excursion 2246 (save-excursion
2241 (setq window (posn-window (event-end event)) 2247 (setq window (posn-window (event-end event))
@@ -2250,9 +2256,19 @@ directory in another window."
2250 (dired-goto-subdir file)) 2256 (dired-goto-subdir file))
2251 (progn 2257 (progn
2252 (select-window window) 2258 (select-window window)
2253 (dired-other-window file))) 2259 (funcall find-dir-func file)))
2254 (select-window window) 2260 (select-window window)
2255 (find-file-other-window (file-name-sans-versions file t))))) 2261 (funcall find-file-func (file-name-sans-versions file t)))))
2262
2263(defun dired-mouse-find-file-other-window (event)
2264 "In Dired, visit the file or directory name you click on in another window."
2265 (interactive "e")
2266 (dired-mouse-find-file event 'find-file-other-window 'dired-other-window))
2267
2268(defun dired-mouse-find-file-other-frame (event)
2269 "In Dired, visit the file or directory name you click on in another frame."
2270 (interactive "e")
2271 (dired-mouse-find-file event 'find-file-other-frame 'dired-other-frame))
2256 2272
2257(defun dired-view-file () 2273(defun dired-view-file ()
2258 "In Dired, examine a file in view mode, returning to Dired when done. 2274 "In Dired, examine a file in view mode, returning to Dired when done.