Release Announcement
The QDirStat project proudly presents its latest release: QDirStat 1.1-Pumpkin.
This is mostly a bug fix release with some small features thrown in.
It was about time for another official release to get the accumulated fixes and
small changes out into the world. Since the release day was Halloween, this release is named Pumpkin .
The last stable release, V1.0, was in mid-May (2016-05-16). Since then, there
were 5 bug fixes and one small feature (the config file split up into
independent parts so admins can provide presets to their users without
overwriting the complete configuration), all described in greater detail
below.
Changes
-
Fixed GitHub issue #32:
%p does not escape single quotes properlyIf you have a file name like
Don't do this.txt
(with a quote character in
the name), the shell used when executing a cleanup action with this would
complain about unmatched single quotes.QDirStat had always escaped such single quotes, but not the way common
shells (Bash, Zsh) expect it: They don't want a backslash in front of that
embedded single quote. Rather, you need to terminate the string with a
single quote, escape the embedded quote with a backslash (or put it into
double quotes), and then re-open the old string with another single quote.Thus,
'Don't do this'
becomes'Don'\''t do this'
.This is certainly not what most people expect. I just wonder how much other
software is out there that does it the intuitive (yet wrong) way: Just
escape the single quote with a backslash ('Don\'t do this'
).Of course, such file names should be avoided entirely, but you can't help
some slightly broken MP3 ripper program doing it, so it needs to be handled
correctly. -
Fixed GitHub issue #31:
Segfault with cleanup action while reading directoriesNow disabling cleanups that have a refresh policy other than "No Refresh"
while directory reading is in progress; otherwise the re-read when the
cleanup action has finished clashes with the directory read already in
progress.This is not an optimal solution, but a very pragmatic one; the optimal
solution might queue updates and execute them after the main read is done. -
Fixed GitHub issue #33:
Added command line option--slow-update
(or-s
) for slow remote X connections. -
Fixed GitHub issue #23:
The internal cache writer would sometimes generate incorrect cache files
because of buggy URL escaping resulting in an empty file name and thus
invalid cache file syntax. This affected file names with colons (which is
weird, but legal).One of these days I'm going to throw out all that QUrl stuff and replace the
few things that I need with something that actually works consistently and
not just under optimum conditions. -
Fixed GitHub issue #22:
Cache files containing the root file system would not display correctly or
segfault under certain conditions. This is now fixed. -
Added "Refresh All" action to the main window tool bar. I had consciously
avoided that because it's just too tempting to re-read the complete
directory tree rather than think about what actually might have changed and
then refresh just that, but it has become so common to use that action in
web browsers that I found myself missing that more and more. And re-reading
is not that expensive on today's mainstream PCs. -
Fixed GitHub issue #21:
When started from a desktop menu, i.e. without any command line parameters,
QDirStat would not prompt for a directory to read, but read the current
directory (typically the user's home directory) right away. -
More graceful handling for nonexisting paths specified on the commmand
line: It now no longer just throws an exception right after starting the
program (which looks like a crash to the unwary user), but posts an error
popup instead and then asks for a directory to read. -
Split up config file into four separate ones below ~/.config/QDirStat:
- QDirStat.conf
- QDirStat-cleanup.conf
- QDirStat-exclude.conf
- QDirStat-mime.conf
This should make it much easier for site administrators to provide their
own site-wide cleanup actions, exclude rules, or MIME categories. I did
this with this in mind:http://moo.nac.uci.edu/~hjm/kdirstat/kdirstat-for-clusters.html
Here, they describe how users should overwrite their KDirStat config file
with one provided by the site admin so all users have those carefully
crafted cleanup actions. But that also means that all other settings get
lost each time there is a change in any of those commands, and users have
to update that config file again.With the latest change, it is now possible to only replace the cleanup
action config (QDirStat-cleanup.conf) and leave everything else untouched.Notice that this is far from a perfect solution; all cleanup actions the
user added himself still get lost. But doing this perfectly might pretty
quickly become an overengineered solution that would be hard to understand
for everybody.As for migration from previous single-file configurations, QDirStat does
that automatically: It reads the single file and moves the respective parts
where they belong. No need to bother with any migration scrips or anything
like that.