It's been a long time since I wrote about aptitude-gtk. Mostly that's because I haven't been doing any work on it, due to a combination of several holidays, sickness and (last but certainly not least) an unfortunate relapse of WoW-addiction. But we have moved the ball forward since the 0.5.0 release. Some of the changes since then are just polishing, with no major changes in functionality, but there are a few things that are very visible:
Status pipe support
aptitude now supports the dpkg status pipe. This means that it can
display a progress bar showing how far through the install process it
is. In fact, if you are using the Gnome frontend for Debconf, you
don't even need to display the terminal at all, unless a package is so
uncouth as to prompt directly on standard input. I'd like to thank
the Synaptic developers -- although this is all my own code, their
implementation of this functionality was very valuable documentation
of how apt frontends use the status pipe in practice. Incidentally,
the aptitude implementation is modularized and available in
src/generic/apt/parse_dpkg_status.cc and
src/generic/apt/parse_dpkg_status.h. If you
want to parse dpkg messages in your own GPL project, you might want to
take a look at that code. And if I don't forget, I'll ask about
including this in apt once the lenny freeze is lifted. [0]
Here's the dpkg progress bar in action, showing that dpkg is configuring libmad0:
Clicking the "View Details" button on the dpkg progress bar will pop
up a terminal in a new tab; you can close the tab and dpkg will go
back to running in the background. And yes, I know that the progress
bar for the download shouldn't hang around after the download
completes. 
Searching for partial strings
As noted in the release notes for
0.5.0,
incremental searching from the curses frontend was broken by the 0.5.0
release. I've created a new match term named ?term-prefix which
matches against any extension of the term; for instance, searching
form
will find any package that matches
the term ?term-prefix(comp)
, the term compiler
, the term
computer
, or any other extension of compromise
. The
upshot is that incremental searching should work again.comp
Editing the list of visible columns
The current package list doesn't show very much information. That's deliberate: I don't want to clutter the default view with a lot of stuff that's only necessary from time to time. But until now, there was no way to change which columns were visible. Now there is:
This is a very rough proof-of-concept dialog that I've just checked into the source tree. The checkboxes are fully functional (clicking them shows and hides columns), but the buttons to save the current setup or to apply it to all the active tabs are not working. With this in place, we can think about creating columns for most of the interesting information about a package (archive, maintainer, etc).
[0] By which I mean, I'll say does anyone
object if I add this utility code to apt?
, and when no-one says
no
I'll commit it. 

