xdiskusage - Graphical display of disk usage
Contents
Bugs
Gets confused by "df" output on some platforms, requiring platform-specific code.
Copyright
Copyright (C) 2021 Bill Spitzak
This program is free software; you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along with this library; if not, write
to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Description
xdiskusage displays the output of "du" in an X window, allowing you to compare visually the space
occupied by files and directories.
Disk Browser
By default xdiskusage presents you with a list of all the disks mounted on your system (it found these by
running "df"). Click one of these names and it will scan the entire disk (by running "du") and present a
graphical display of how much space all the files are taking on that disk.
You can click on several disks (or on the same disk multiple times, for instance if you have changed the
files stored on it) and get multiple display windows.
The "rescan" button reruns "df" to get a new list of disks. You need to do this if you mount or unmount
a disk, or to see new usage percentages.
The (C) button shows you the copyright and license.
You can type a filename into the input field on the bottom and type Enter. If the name is a directory,
xdiskusage will attempt to run "du" on it and display the result. If the name is a file it is assumed to
be "du" output and it is parsed and displayed.
The "all files" button sends the -a switch to "du" causing it to list the space for every file on the
disk. This can significantly increase the time it takes to scan.
Display
Each white box represents a folder. It's size is equal to the sum of all it's contents (all sub-folders
and files). To the right of each box are stacked the boxes for the sub-folders (and files if the "all
files" switch was given).
If you selected a disk from the disk browser, some extra boxes are added to show information learned from
df:
"(free)" is the free space reported by df.
"(permission denied)" is space that df said was used but du did not
report. Besides permission errors when running du, this may also be
the result of a file deleted from its containing folder, but still
in use by a program, so its space is not reclaimed yet. Mounted
loopback filesystems (ISO image just checked before burning, then
deleted while still mounted) are common examples.
"(inodes)" is the difference between the total size of the disk and
the used + available space reported by du, this is overhead used by
the file system.
The left-most box is the "current root". One of the boxes is outlined in red, this is the "current node".
Clicking on any box makes it the current node. The arrow keys can also be used to navigate you around.
Hitting return makes the current node be the current root: putting it on the left edge and blowing it up
to the height of the window and scaling all it's contents the same. The left arrow can be used to move
the root and current node back up, or you can type '/' to move just the root, leaving the current node
where it is.
To dismiss any window type Escape.
Name
xdiskusage - Graphical display of disk usage
Synopsis
xdiskusage [-a] [-d[isplay] host:n.n] [-g[eometry] WxH+X+Y] [-t[itle] windowtitle] [-n[ame] classname]
[-i[conic]] [-fg color] [-bg color] [-bg2 color] [directory...] [file...]
Usage
Typing "xdiskusage dir" where "dir" is a folder causes "du" to be run on that folder and the result
displayed. If the named file is a symbolic link it is dereferenced before being sent to du. The "-a"
switch, if given, is passed to "du" to cause all files to be measured.
Typing "xdiskusage file" where "file" is not a folder makes xdiskusage parse that file as though it was
"du" output and display the result.
You can type several file and folder names and get several display windows.
If no files are named, you can pipe the output from another program to xdiskusage. If stdin is not a
terminal xdiskusage will parse it as "du" output and display the result. For instance "du -k . |
xdiskusage".
Typing just "xdiskusage" brings up the disk browser described here:
