properties crashes with invalid theme
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
DockbarX |
Fix Released
|
Medium
|
Unassigned |
Bug Description
DockbarX should to handle invalid themes better. Most importantly, the Properties dialogue should still open.
Currently, if an invalid theme exists inside ~/.dockbar/themes (and, I suppose, /usr/share/
This makes pushing the limits of DockbarX's theme engine tricky.
Unfortunately (and I'm working on this), I'm not a programmer. However, I think part of the problem is the way Dockbar checks the themes when you open Properties.
I think it is good that the theme engine is fairly strict. That's good. However, it would be much better if Dockbar could
+ Pop up an error message?
+ Maybe give an option to revert the theme to it's last valid state (if possible)?
+ Automatically switch to a valid theme?
+ Gray out the invalid theme in the dropdown?
Also, having typed this all out, it sounds like a lot of work, but the main thing is how the Properties dialogue crashes when an invalid theme is present.
description: | updated |
Changed in dockbar: | |
status: | Confirmed → Fix Committed |
Changed in dockbar: | |
status: | Fix Committed → Fix Released |
The reason why I haven't done anything about this is that the error messages that dockbarx currently gives helps me quite a bit when I'm editing themes. That might be because I've programmed the thing though. But at least when you make xml violations the error message is good, telling you on what line the error is (and only xml violations makes the Properties dialog crash).
E.g. "xml.sax. _exceptions. SAXParseExcepti on: config:6:3: mismatched tag" tells me that tells me that the element is on the 6th line and starts att the 3rd sign in config file is "mismatched". In this case that's a </if> element. That tells me there are probably a command within the <if></if> that lacks the ending slash. I can quickly find that the problem in this case was <transp_sat opacity="90" saturation="28" > on line five and it was indeed the ending slash (/) that was missing. (I used Minimalistic theme in this example.)
When you make your theme, you run dockbarx in such a way that you get error messages, right? IOn way to do this is to run it in terminal (dockbarx run-in-terminal). If you need to see how your theme looks on the panel you can do that to while still getting error messages by:
1. Kill dockbarx with "killall dockbarx.py"
2. A dialog for restarting the applet turns up, ignore it and leave it open for the moment.
3. In terminal write: dockbarx.py
4. Now choose to restart dockbarx from the dialog.
5. See all error messages in the terminal.
There could be a lot of error warnings that isn't related to theming. Watch out specifically for words like xml and name of theming elements like composite and button_pixmap.
I realize I should put parts of this in the theming howto...
And the bug is still valid as error messages is useless if a enduser gets an invalid theme.