GNOME Bugzilla – Bug 315286
Warn if there are engines missing
Last modified: 2011-10-22 02:44:39 UTC
Please describe the problem: If one installs a theme that requires an engine that's not installed, the theme looks ugly. Steps to reproduce: easily, install and select a theme with a missing engine Actual results: the selected theme looks crappy Expected results: i would expect to check whether the referenced engines are installed, if not, open up a warning "you need to install the gtkfoobar-engine for this theme" Does this happen every time? only when engines are missing Other information:
The theme manager would have to parse the gtkrc that it has just installed and check any engines referenced actually exist.
I would prefer to see something about (STOP) This theme requires engine '...' that is not installed yet in theme list rather than popup.
I'm going to work on this bug.
Probably the theme should not be shown at all if the engine is not installed.
Should the warning appear when you install the theme, or every time you selected it?
If the theme is installed system-wide and two users select it, none of them has instaled the theme, but both of them should receive the warning.
Indeed, as Nickolay already suggested, it would be better to have the theme disabled in the list, maybe with an emblem over the thumbnail and an explaining message with the missing engine name.
As Luca said: we should have an emblem (somthing like GTK_STOCK_WARNING or GTK_STOCK_ERROR) in front of the theme name and print that warning everytime the user selects that theme (we could popup a dialog from within the _iter_selectable() callback of the selection and return true if the user said "yes, i want an ugly desktop"). But on the other hand, an additional warning on theme installation would be useful too (maybe using the same check mechanism after installing the theme and then asking the user whether he want's to undelete that theme again). It's both not useful to select a partial theme or to install one.
gnome-theme-manager has been superseded by gnome-appearance-properties.
Maybe this is implemented already? I have a warning above the buttons that tells my that is missing and engine. But it doesn't tell me which one. Seems the gtk_theme_info_missing_engine() function doesn't return the correct results. Attaching my gtkrc, if it helps.
Created attachment 123662 [details] gtkrc that seems to have a missing engine
Yes, parts of this are implemented. The error message should give the engine name, though. What's the message you get? The gtkrc you attached makes my gtk crash, so, erm, there seems to be something else wrong with it.
Created attachment 123688 [details] Message without any engine, just the quotes
Maybe it crashes because it misses the images? I'm attaching the whole theme.
Created attachment 123690 [details] My whole gtk theme
btw ... there's any way to debug a gtkrc?
Hm, ok, this part from the gtkrc causes that to happen: # This prevents Sodipodi from crashing while opening the # Object-Style dialog. style "unstyle" { engine "" { } } I'll add a workaround.
Oh, great. It doesn't display any error know :)