diff options
| author | Tak Kunihiro | 2017-09-08 11:52:47 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2017-09-08 11:52:47 +0300 |
| commit | 41eb4c518a79050b85add25bf67992e21fa3cd16 (patch) | |
| tree | c1b10f18f1ab5ea0a6c294e3b5033eb673691a29 | |
| parent | be90cd1412c89cae6b2ba41133b888008ee478dc (diff) | |
| download | emacs-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.el | 24 |
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. |
| 2238 | The optional arguments FIND-FILE-FUNC and FIND-DIR-FUNC specify | ||
| 2239 | functions to visit the file and directory, respectively. If | ||
| 2240 | omitted or nil, these arguments default to `find-file' and `dired', | ||
| 2241 | respectively." | ||
| 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. |