dired-du

Homepage: https://elpa.gnu.org/packages/dired-du.html

Author: Tino Calancha

Updated:

Summary

Dired with recursive directory sizes

Commentary

-- Display the recursive size of directories in Dired --

This file defines a minor mode `dired-du-mode' to show
the recursive size of directories in Dired buffers.
If `du' program is available, then the directory sizes are
obtained with it.  Otherwise, the directory sizes are obtained
with Lisp.  The former is faster and provide a more precise value.
For directories where the user doesn't have read permission,
the recursive size is not obtained.
Once this mode is enabled, every new Dired buffer displays
recursive dir sizes.

To enable the mode at start up:

1) Store the file in a directory within `load-path'.
2) Add the following into .emacs file:

   (add-hook 'dired-mode-hook #'dired-du-mode)

Note that obtaining the recursive size of all the directories
in a Dired buffer might be very slow: it may significantly delay
the time to display a new Dired buffer.
Instead of enabling `dired-du-mode' by default in all Dired buffers
you might prefer to use this mode just as an interfaz to
the `du' program: you can enable it in the current Dired buffer,
and disable it once you have finished checking the used space.

-- Number of marked files and their size --

In addition, this library adds a command, `dired-du-count-sizes',
to count the number of marked files and how much space
they use; the command accepts a particular character mark
i.e., '*' or all kind of marks i.e, any character other than ?\s.

Bugs
====
* Some progress reporter might show percent > 100.

* Order by size only works with directory recursive sizes if you use
  `ls-lisp' with `ls-lisp-use-insert-directory-program' set nil; otherwise,
  the external ls program is responsible to do the sorting ignoring
  the recursive dir sizes.


 Internal variables defined here:

  `dired-du--user-warned', `dired-du-dir-info',
  `dired-du-filesp-subdir-header', `dired-du-find-dired-buffer',
  `dired-du-local-subdir-header', `dired-du-mode',
  `dired-du-remote-subdir-header'.

 Coustom variables defined here:

  `dired-du-bind-count-sizes', `dired-du-bind-human-toggle',
  `dired-du-bind-mode', `dired-du-on-find-dired-ok',
  `dired-du-size-format', `dired-du-update-headers',
  `dired-du-used-space-program'.

 Macros defined here:

  `dired-du-map-over-marks', `dired-du-with-saved-marks'.

 Commands defined here:

  `dired-du--toggle-human-readable', `dired-du-count-sizes',
  `dired-du-drop-all-subdirs', `dired-du-insert-marked-dirs',
  `dired-du-on-find-dired-ok-toggle', `dired-du-recompute-dir-size',
  `dired-du-update-dir-info'.

 Non-interactive functions defined here:

  `dired-du--cache-dir-info', `dired-du--change-human-sizes',
  `dired-du--count-sizes-1', `dired-du--count-sizes-2',
  `dired-du--create-or-check-dir-info', `dired-du--delete-entry',
  `dired-du--drop-unexistent-files', `dired-du--file-in-dir-info-p',
  `dired-du--find-dired-around', `dired-du--fullname-to-glob-pos',
  `dired-du--get-all-files-type',
  `dired-du--get-max-gid-and-size-lengths-for-subdir',
  `dired-du--get-num-extra-blanks', `dired-du--get-position',
  `dired-du--get-position-1', `dired-du--get-recursive-dir-size',
  `dired-du--get-value', `dired-du--global-update-dir-info',
  `dired-du--initialize', `dired-du--insert-subdir',
  `dired-du--local-update-dir-info', `dired-du--number-as-string-p',
  `dired-du--read-size-from-buffer', `dired-du--replace',
  `dired-du--replace-1', `dired-du--reset',
  `dired-du--revert', `dired-du--size-sorter',
  `dired-du--subdir-position', `dired-du--update-subdir-header',
  `dired-du--update-subdir-header-1', `dired-du-alist-get',
  `dired-du-directory-at-current-line-p',
  `dired-du-distinguish-one-marked',
  `dired-du-filename-relative-to-default-dir',
  `dired-du-get-all-directories', `dired-du-get-all-files',
  `dired-du-get-all-marks', `dired-du-get-all-non-directories',
  `dired-du-get-all-subdir-directories',
  `dired-du-get-all-subdir-non-directories', `dired-du-get-file-info',
  `dired-du-get-file-size-local', `dired-du-get-file-size-remote',
  `dired-du-get-marked-files', `dired-du-get-recursive-dir-size',
  `dired-du-get-recursive-dir-size-in-parallel',
  `dired-du-ls-lisp-handle-switches', `dired-du-mark-buffer',
  `dired-du-mark-subdir-files', `dired-du-marker-regexp',
  `dired-du-run-in-parallel', `dired-du-string-to-number',
  `dired-du-unmark-buffer', `dired-du-use-comma-separator'.

 Inline functions defined here:

  `dired-du-assert-dired-mode', `dired-du-link-number',
  `dired-du-modification-time', `dired-du-size'.

Dependencies