GNOME Bugzilla – Bug 511065
Use packagekit to detect missing/installed gtk+ theme engines
Last modified: 2008-05-07 20:24:45 UTC
It is currently possible to install gtk+ themes without having the required theme engine installed. For example, on my Ubuntu box I use my custom made Murrrine engine theme - however if I do not have the murrine theme engine installed the theme does not render properly. A novice user would know what has happed - there is no warning to the user that the theme is not displaying correctly due to a missing theme engine dependancy What would be really great is that, using packagekit, the user is prompted with a list of dependancies to install if they try to install a theme for an engine that is not currently installed. From what I understand the requried theme engine names can be parsed out of the gtkrc file - packagekit could then search for matching themes. I am not sure what the use case would be if the theme engine cannot be found - for example in Ubuntu extra repositories have to be enabled for the user to install the Murrine - perhaps the theme wont install at all - or some kinda of warning to the user that it wont display correctly.
*** Bug 515377 has been marked as a duplicate of this bug. ***
PackageKit has not even made a stable release yet, so I can't see any integration work being done in the near future. Marking as low priority as a result.
gnome-theme-manager has been superseded by gnome-appearance-properties.
It would be interesting for you guys to get involved in the libpackagekit-gnome library, as this is exactly the sort of thing this is designed for. At the moment libpackagekit-gnome is a simple gobject - is that a problem for you guys? I guess you also need gpk_install_resource ("/usr/lib/exec/random.so") functionality too. Richard.
No, why would a gobject be a problem?
Excellent. Do you use Fedora? If so, I can send you rpms of the latest stuff with the libpackagekit-gnome library - then it's a trivial case of making PackageKit support optional, and then adding a few lines of code to do the install.
No, I don't run any system that pk is targetted at. ;-) I hope it's also possible to do that with the dummy backend. In any case, I'll try to get the bug that's blocking this one fixed some time soon.
Yes, we can use the dummy backend for testing, it's super trivial to use. If you download git, give me a shout if you need any help getting it running.
Ok, with current trunk, if libpackagekit-gnome is really that easy, it should be pretty trivial to add this now. I for my part haven't managed to build gnome-packagekit due to the PolicyKit dependency, yet.
Even easier now: http://www.packagekit.org/pk-faq.html#session-methods
Created attachment 110479 [details] [review] add pk support Hm, that was too easy. Where's the catch? Well, I guess the most likely catch is that since I can't test it it probably doesn't work... So, testers most welcome. The patch is against g-c-c trunk as of today. Currently, the "install" button is shown unconditionally. I'd like to hide it when packagekit is not running/available, but I don't know what to check for to determine that. Any suggestions?
Yes, the PK bits look correct. For the hiding of the install button, you can either detect if gpk is on the bus, or using a configure switch. The former is obviously better. Yell if you want a pointer.
I've just committed an evolved version of the patch. Testers still very welcome.