Mercurial > emacs
changeset 44475:9cab12e7e72a
(dired-view-command-alist): New variable.
(dired-view-file): Use external viewers for some files names.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 10 Apr 2002 15:15:23 +0000 |
parents | c3654e3e894b |
children | 142c588ec4ec |
files | lisp/dired.el |
diffstat | 1 files changed, 26 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/dired.el Wed Apr 10 15:04:19 2002 +0000 +++ b/lisp/dired.el Wed Apr 10 15:15:23 2002 +0000 @@ -1373,17 +1373,38 @@ (select-window (posn-window (event-end event))) (find-file-other-window (file-name-sans-versions file t)))) +(defcustom dired-view-command-alist + '(("[.]ps\\'" . "gv -spartan -color -watch") + ("[.]pdf\\'" . "xpdf") + ("[.]dvi\\'" . "xdvi -sidemargin 0.5 -topmargin 1")) + "Alist specifying how to view special types of files. +Each element has the form (REGEXP . SHELL-COMMAND). +When the file name matches REGEXP, `dired-view-file' +invokes SHELL-COMMAND to view the file, putting the file name +at the end of the command." + :group 'dired + :type '(alist :key-type regexp :value-type string) + :version 21.4) + (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; -otherwise, display it in another buffer." +When file is a directory, show it in this buffer if it is inserted. +Some kinds of files are displayed using external viewer programs; +see `dired-view-command-alist'. Otherwise, display it in another buffer." (interactive) (let ((file (dired-get-file-for-visit))) (if (file-directory-p file) (or (and (cdr dired-subdir-alist) (dired-goto-subdir file)) (dired file)) - (view-file file)))) + (let (cmd) + ;; Look for some other way to view a certain file. + (dolist (elt dired-view-command-alist) + (if (string-match (car elt) file) + (setq cmd (cdr elt)))) + (if cmd + (dired-run-shell-command (concat cmd " " file)) + (view-file file)))))) (defun dired-find-file-other-window () "In Dired, visit this file or directory in another window." @@ -2983,6 +3004,8 @@ If FILE is a symbolic link and the optional argument DEREF-SYMLINKS is true then the type of the file linked to by FILE is printed instead." t) + +(autoload 'dired-run-shell-command "dired-aux") (if (eq system-type 'vax-vms) (load "dired-vms"))