From dbcb93894b94f9371cf5b90c2050f0278362da44 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 30 Mar 1994 17:22:59 +0000 Subject: [PATCH] (dired-mouse-find-file-other-window): New command. (dired-mode-map): Bind mouse-2. --- lisp/dired.el | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lisp/dired.el b/lisp/dired.el index be82cb872b7..2559418bcf2 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -641,13 +641,12 @@ If DIRNAME is already in a dired buffer, that buffer is used without refresh." (defvar dired-mode-map nil "Local keymap for dired-mode buffers.") (if dired-mode-map nil - ;; Force `f' rather than `e' in the mode doc: - (defalias 'dired-advertised-find-file 'dired-find-file) ;; This looks ugly when substitute-command-keys uses C-d instead d: ;; (define-key dired-mode-map "\C-d" 'dired-flag-file-deletion) (setq dired-mode-map (make-keymap)) (suppress-keymap dired-mode-map) + (define-key dired-mode-map [mouse-2] 'dired-mouse-find-file-other-window) ;; Commands to mark or flag certain categories of files (define-key dired-mode-map "#" 'dired-flag-auto-save-files) (define-key dired-mode-map "*" 'dired-mark-executables) @@ -1023,11 +1022,25 @@ Creates a buffer if necessary." up) (dired-goto-file dir))))) +;; Force `f' rather than `e' in the mode doc: +(defalias 'dired-advertised-find-file 'dired-find-file) (defun dired-find-file () "In dired, visit the file or directory named on this line." (interactive) (find-file (file-name-sans-versions (dired-get-filename) t))) +(defun dired-mouse-find-file-other-window (event) + "In dired, visit the file or directory name you click on." + (interactive "e") + (let (file) + (save-excursion + (set-buffer (window-buffer (posn-window (event-end event)))) + (save-excursion + (goto-char (posn-point (event-end event))) + (setq file (dired-get-filename)))) + (select-window (posn-window (event-end event))) + (find-file-other-window (file-name-sans-versions file t)))) + (defun dired-view-file () "In dired, examine a file in view mode, returning to dired when done. When file is a directory, show it in this buffer if it is inserted; -- 2.39.5