Mercurial > emacs
changeset 26026:ed3c9dd47f31
(dired-insert-directory): Insert the amount of
free space after the total size.
(dired-free-space-program, dired-free-space-args): New variables.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 14 Oct 1999 21:51:12 +0000 |
parents | 1fc4552789ee |
children | 33465d50a59c |
files | lisp/dired.el |
diffstat | 1 files changed, 34 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/dired.el Thu Oct 14 21:29:47 1999 +0000 +++ b/lisp/dired.el Thu Oct 14 21:51:12 1999 +0000 @@ -152,6 +152,21 @@ :type 'boolean :group 'dired) +(defcustom dired-free-space-program "df" + "*Program to get the amount of free space on a file system. +We assume the output has the format of `df'. +The value of this variable must be just a command name or file name; +if you want to specify options, use `dired-free-space-args'. + +A value of nil disables this feature." + :type '(choice (string :tag "Program") (const :tag "None" nil)) + :group 'dired) + +(defcustom dired-free-space-args "-Pk" + "*Options to use when running `dired-free-space-program'." + :type 'string + :group 'dired) + ;;; Hook variables (defvar dired-load-hook nil @@ -658,7 +673,25 @@ (cdr dir-or-list)) ;; Expand the file name here because it may have been abbreviated ;; in dired-noselect. - (insert-directory (expand-file-name dir-or-list) switches wildcard full-p)) + (insert-directory (expand-file-name dir-or-list) switches wildcard full-p) + (when (and full-p dired-free-space-program) + (save-excursion + (goto-char (point-min)) + (when (re-search-forward "total [0-9]+$" nil t) + (insert " free ") + (let ((beg (point))) + (call-process dired-free-space-program nil t nil + dired-free-space-args + (expand-file-name dir-or-list)) + (goto-char beg) + (forward-line 1) + (skip-chars-forward "^ \t") + (forward-word 2) + (skip-chars-forward " \t") + (delete-region beg (point)) + (forward-word 1) + (delete-region (point) + (progn (forward-line 1) (point)))))))) ;; Quote certain characters, unless ls quoted them for us. (if (not (string-match "b" dired-actual-switches)) (save-excursion