[packagekit] PackageKit-gnome: saner icons usage

Richard Hughes hughsient at gmail.com
Fri Feb 1 14:24:51 PST 2008


On Tue, 2008-01-22 at 18:30 +0100, Jakub 'Livio' Rusinek wrote:
> When app is uninstalled - generic icons is used (package-x-generic, I
> guess), but when it's installed, some .desktop files are placed in
> %{_datadir}/applications (where datadir macro is eg /usr/share).
> 
> .desktop file provides name of app, its category, icon, supported mime
> types.
> 
> PackageKit would check for .desktop file existence and use its "Icon=
> "
> definition to display appropriate icon from icon theme (or from
> specified pixmap).

Please see:

http://people.freedesktop.org/~hughsient/temp/pk-application-extra.png

This is with my locale set to "en_GB" and the libpackagekit results
hardcoded to "fr" - the two will match up eventually of course.

Theres a new GObject called PkExtra in libpackagekit that lets you query
(as a user) a small cached sqlite repository containing all the
localisations and icon names. The data from this is populated per system
(as root) from a few information sources:

* All the installed desktop files in /usr/share/applications (this works
now)
* Metadata from the online desktop project (to get things like
popularity, WIP)
* Information about non-installed packages generated from the distro
builder (WIP)

I don't think caching the installed icons and shipping them separately
is a good idea, just from a size point of view.

The sqlite database is currently at 200kb in size with 201 applications
installed (i.e. things that ship desktop files) so I'm guessing it would
be couple of Mb with the entire distro repository of information in and
the online desktop stuff. Of course, being sqlite, it's very quick to
query.

Updating the offline repo would be left to the distro packager, as of
course, this stuff is all per-distribution.

Comments welcome.

Richard.





More information about the PackageKit mailing list