Overview
The QDirStat project proudly presents its latest release: QDirStat 1.5.
This is a stable release following the recent 1.4.97-Beta release.
It brings a number of new features as well as some bug fixes:
-
(Optional) breadcrumbs navigation
-
(Optional) a new "details" panel for the currently selected item
-
(Optional) new tree columns:
owner, group, permissions both in "rwxrwxrwx" and in octal format -
Package manager support for the major Linux package managers (dpkg / rpm / pacman) to see what package a system file belongs to.
-
Quick-switchable different layouts for the main window
-
A new "General" page in the configuration dialog
-
Show in the window title if the program runs with root permissions (
sudo
etc.) -
(Optional) show the URL in the window title
-
Some bug fixes (see below)
There were very few changes compared to the 1.4.97-Beta release. No bugs were reported against that Beta.
Details
Breadcrumbs Navigation (Optional)
Above the directory tree there is now a breadcrumbs navigation widget.
This shows the current path with each component a clickable link so you can easily go up the tree - up to the top of the tree that you started QDirStat with.
You can switch this on and off with View -> Show Current Path.
The New "Details" Panel (Optional)
On the right side of the tree there is now a "Details" panel showing information about the currently selected item, or, if multiple items are selected, about the sum of them all.
You can switch this on and off with View -> Show Details Panel.
What information is dispayed depends on the type of the selected item:
-
- File name (without path)
- Type (file / symlink / block device / character device / FIFO)
- MIME Category (Documents / Images / Videos / ...) as defined for the treemap colors (see MIME Categories in the configuration dialog).
- Size
- A notification if this is very likely a system file, i.e. a file owned by a user ID < 500 and in a known system directory like /bin, /dev, /etc, /lib, /opt; /usr, but not /usr/local; etc.
- For system files: The software package that it belongs to, if known (see below)
- User (file owner)
- Group
- Permissions in both "rwxrwxrwx" and octal ("0777") format
- Date and time of last modification (mtime)
-
- Subtree information:
Total size, items, files, subdirectories; date and time of the last modification anywhere in that subtree - Information about the directory itself:
Size of the directory itself without the subtree, user, group, permissions; date and time of the last modification of the directory (which might be less recent than the last modification of any file anywhere in the subtree).
- Subtree information:
-
Similar to directory, but only the subtree information since there is no counterpart to this object on disk; it just serves to collect the direct file children of the directory.
-
- Total size of all selected items including any subtrees
- Number of directly selected files (without subtrees)
- Number of directly selected directories (without subtrees)
- Total number of files in all selected subtrees
Package Manager Support
If a file is identified as a system file and a supported package manager is detected on the system, QDirStat now queries the package manager what software package the file belongs to and displays that information in the new "Details" panel.
This gives a surprising amount of insight where all the disk space on the system directories goes to, most importantly some of the big blobs in the tremap.
Currently, QDirStat supports the most common Linux package managers: dpkg, rpm, pacman.
Please notice that higher-level package managers such as apt, zypper, yum or front-ends like synaptic, PackageKit all use one of those lower-level package managers internally, so even if you normally only use one of those higher-level package managers, it still works without any restriction.
That means that QDirStat currently supports this feature for:
- Debian
- Ubuntu / Kubuntu / Xubuntu / Lubuntu
- SUSE (openSUSE Tumbleweed or Leap, SLES)
- Red Hat (Fedora, RHEL)
- Arch Linux
- Manjaro
... and dozens more; basically all that are based on any of the above.
This feature works by running dpkg -S
, rpm -qf
or pacman -Qo
as external commands, so this is a somewhat expensive operation. To keep the user interface responsive, QDirStat now has an "adaptive timer" for updating that information: Normally, the result is shown instantly, but if you click around wildly, there is a timer that is increased or decreased (thus "adaptive") for a delayed update after that timeout (0 / 333 / 1000 / 2500 millisec right now).
It can even handle rpm installed as a foreign package manager on a dpkg based system (and the other way round); it tries the primary package manager first, then any others that are also installed.
Support for BSD systems (FreeBSD, OpenBSD) was also planned, but it turned out that currently the package managers of those systems only know what package owns files of ports / 3rd party, not for the base system, so this feature might not be very useful on those systems.
Unified Size Columns
In the tree there used to be separate colums for total size and own size; this is now unified to only one size column. Own size was really mostly useful for directories where the directory itself has a size, and then there are all its children in the subtree. But that information (which is only rarely useful anyway) is available in the "Details" panel, so it no longer makes much sense to consume so much screen space with that separate column.
New Tree Columns (Optional)
This was the result of GitHub issue #80: Show owner and group in the tree.
The directory tree view can now display those additional columns:
- User (file owner)
- Group
- Permissions in "rwxrwxrwx" format
- Permissions in octal ("0777") as used for the
chmod
command.
Remember that you can hide or show tree columns in the tree by using the context menu in the tree header: Right-click on any header in the tree. You can also rearrange columns by dragging them where you want them - with the exception of the Name column which always remains at the left edge.
Switching Layouts
Since the new columns consume so much screen space and they are only useful in certain situations, but in others the details panel is so much more useful, it is now possible to quickly switch between three different layouts for the upper half of the main window.
-
Layout 1 (short): Display only a bare minimum of columns in the tree view, but show the new details panel on the right side. This is to minimize clutter in the tree view, yet keep all the information available.
-
Layout 2 (classic): Display the same columns as always in the tree view and additionally the new details panel on the right side.
-
Layout 3 (full): Display all available columns in the tree view, including the new file owner, group, permissions in both "rwxrwxrwx" and octal. But don't display the new display side panel so there is enough screen space to show all those columns.
Switching between the layouts is as easy as pressing one of the three new buttons in the tool bar: L1, L2, L3. Or use the corresponding entries in the "View" menu. Or use the Alt-1, Alt-2, Alt-3 key combinations.
For each view, you can individually configure what columns to display and whether or not to display the new details side panel and / or the new breadcrumbs navigator.
The column widths are still configured globally (and this will remain like that); after some experiments, it turned out that it is very awkward to have to set all of them individually for each layout.
New "General" Configuration Dialog Page
This is a bit unorganized (as might be expected for misc settings), but those misc settings had accumulated over time, so it was about time to finally add such a page.
The settings were always accessible, but only by editing the config file (~/.config/QDirStat/QDirStat.conf
) manually. For some settings you might still have to do that: Some are too exotic for general use, some others would confuse the average user much more than they would help.
Information in the Window Title
-
QDirStat now shows
[root]
in the window title if it is running with root privileges. -
If enabled in the new General configuration page, QDirStat can now show the URL in the window title, i.e. the path of the toplevel directory that it was started with. (GitHub issue #77).
New Application Icon
Noah Davis (noahdvs) contributed a new application icon for QDirStat:
The old icon goes back to early 2000 for the first KDirStat 0.86 release. It was never a masterpiece, but the new application just needed an icon. Finally somebody with more artistic talent than myself made one that looks a lot more professional. Thank you, Noah!
Bug Fixes
-
Fixed GitHub issue #84: Crash if picking up a cache file in the starting directory (subtree root)
-
Fixed GitHub issue #74: Crash deleting folder while scan is in progress
-
Fixed GitHub issue #72: Allow to specify install prefix (e.g. /usr/local instead of /usr)
-
Fixed duplicate keyboard shortcut for actions "Stop Reading" (now: Ctrl-S) and "Copy URL to Clipboard" (still Ctrl-C).
-
Fixed exclude rules not matching correctly against direct root directory children: A rule that should match "/var" now works correctly. You'd need to specify "//var" in the rule which of course was wrong.
-
Now only adding the default exclude rule ".snapshot" once. If you remove that one, it should no longer keep reappearing if there are no other exclude rules.
-
Fixed some minor issues in the exclude rule configuration dialog with some widgets not being correctly disabled if they made no sense to use.
-
Now restoring the file owner of the QDirStat configuration files (
~/.config/QDirStat/*.conf
) after running withsudo
on systems where thesudo
command still uses the user's home directory (all Ubuntu versions): They used to be owned by root aftersudo qdirstat
, so the user could not write to them anymore, so all configuration changes (including window size and positions) were silently discarded.
Donations
QDirStat is Free Open Source Software. You are not required to pay anything.
Donations are most welcome, of course.
If you like, you can donate via PayPal (freely select the amount to donate):