[mythtv] Re: On Themes & Theming
Robert S. Kerr
rskerr at dsbox.com
Wed Feb 2 22:30:43 UTC 2005
> Some parts of the themes already do this. I would like to see it
> stabilize more, so there were less-frequent updates to the themes. Maybe
> sometime after libmythui comes out that will happen. But yes, it is a
> pain to merge changes to your own theme.
I'm not sure to what you are referring when you say that some parts of
the themes already do defaulting.
From what I can tell, the theme.xml, ui.xml, and all the
<module>-ui.xml files are taken as a whole or not at all. If defauting
is happening, I haven't been able to find it anywhere but at the file
level. The 'base' attibute for the <font> tag is a step in the right
direction, but I still can't inherit fonts from the default directory.
There are default <module>-ui.xml files for the modules in the
mythtv/themes/default directory, but they ONLY get looked at if your
theme doesn't supply a <module>-ui.xml. Not only is that at too high a
level, there isn't a default ui.xml or theme.xml at all. These are two
of the largest theme files that are required and we require every theme
to copy them wholesale.
My point is that if I want to change a font or a color, I should be able
to do that by creating a file that just includes my desired changes.
That way my 'theme' is more likely to stay current because the bulk of
it remains defined in the default theme set. If someone adds a new
window type to the UI.XML, my theme would then just 'pick it up'.
For this to work though, we need the model to be one of reading the
default xml, then applying overrides to it as opposed to the current
model of choosing either one file or the other. A good defaulting
approach encourages a kind of exploratory theming that would foster
contributions.
If you want to minimize the pain of merging changes back into existing
themes, it seems to me like the best answer is to minimize the amount of
content in those themes to only the things required to make the theme
different. I would bet that for the majority of the themes that have
been developed for MythTv, at least 80% of the xml content is duplicated
from the default files.
> Use the wiki. The documentation is hard to update and no one ever feels
> like writing stuff for it. That's why the wiki was created.
I'm there with you on the Wiki and that is probably a good place for the
docs to evolve. However, Isaac has on numerous occasions expressed a
rather strong dislike for Wiki's which means that any docs in there will
probably never make it into the main myth distribution and therefore are
likely always going to be out of date and probably not kept current by
those working with Isaac on the main distro.
I don't make the rules, but I still have to play by 'em.
My suggestion to get a theme section in the main mythtv-HOWTO files is
to get that currency. Right now the doc has about 2 paragraphs in
section 11.2 that speak to how to install new themes, but not how to
create them.
> The wiki also contains a list of themes. Add yours.
>
<http://www.mythtv.info/moin.cgi/MythTvThemes>http://www.mythtv.info/moin.cgi/MythTvThemes
<http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev>Better than
nothing, but I don't think that gets us where we need to be. To link a
theme to the Wiki, one must have to have a place to host it. Plus, if I
host the theme myself, then any maintenance of the themes can't be
community based. If I create a theme and somebody else wants to update
it for mythtv 0.17, I'd like that to happen without requiring my
involvement as my muse may have moved on. Requiring individual effort
on an open source project like MythTv creates bottlenecks to the
process. And again, as I mentioned in my original e-mail, last time I
checked, the artist types of the world aren't usually the kind to host
their own web server (yes there are exceptions) and as such we don't get
many contributed themes.
I suppose we could attach the theme files to the Wiki Pages, but the
Wiki doesn't allow overwriting so you'd have to duplicate the entire
theme file for a simple change. Seems like a CVS would be a better
approach.
My points are proven by the fact that on that page of the Wiki right now
there are two dead links and two of the themes that are there are dated
to the point that they don't provide the full functionality of the
tool. In an environment that encouraged communal ownership and updates,
these themes would get current and stay there.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rskerr.vcf
Type: text/x-vcard
Size: 335 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20050202/19535870/rskerr.vcf
More information about the mythtv-dev
mailing list