dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: Probable changes coming to the skin engine (skin format)

Re: Probable changes coming to the skin engine (skin format)

From: Jonathan Gordon <>
Date: Tue, 11 May 2010 17:52:33 +1000

Adding rockbox-users who should have been on the origional email.

On 11 May 2010 16:41, Thomas Martitz
<> wrote:
> On 11.05.2010 05:09, Jonathan Gordon wrote:
>> Quick heads up to the changes which are probably coming to the skin
>> format to make everything easier.
>> 1) tags with parameter lists will change to use '(' and ')' to mark
>> the ends of the list. e.g %V(label|x|y|width|height|font|fg|bg)
>> 2) tags will no longer be able to add info to the end (E.g %Xda will
>> be changed to %Xd(a), %D1 to %D(1) )
> Could we also change the | character to , or ;?
For the param delimiter then yeah, I dont tihnk that should happen for
conditional delimiter though.

> Maybe this change could also give us some sort of variadic parameters. For
> instance I would like to see %Xd(a,b) which replaces %Xda%Xdb. Maybe a
> different delimiter for normal and "repeater" params would improve
> readability.
Good idea, no need to do this in the same breaking commit though.

> Albumart display tag (from %C to possibly %Cd). Currently a dirty hack is
> needed to distinguish %?C and %C. Maybe we could also change the load tag to
> be the conditional(i.e. %?Cl) which makes more sense to me.


On 11 May 2010 17:30, Björn Stenberg <> wrote:
> Jonathan Gordon wrote:
>> This will break all existing skins so I'm planning on making a script
>> to convert,
> Would it be a good idea to add some type of versioning token to enable the code to automatically inform the user that the wps he's trying to load is outdated?

We could do this, but I don't really see the point. The parser will
spit out the problem (hopefully much more understandably than now) if
they try loading an old theme and either way they will need to figure
out what has changed. Unless we really want to keep track of every
breaking change?
In reality I don't think we change it enough to bother.


In IRC we talked a bit about going all out and changing the tag
letters so they are more understandable (i.e why does %ia make sense?)
One suggestion I came up with was to go to 3 or 4 character tags:
%abcd = a is the "screen" that tag is usable in (remember we are
themeing the lists, music, radio, rec (soon)), b is a general grouping
(m for metadata? p for playlist), c is a more narrow grouping and d is
the character which is unique for that tag.
The only problem with that is lines might become way too long? (Also
maybe a can be removed and b can handle the screen to make them

If we do that approach then we need to figure out what each of todays
tags should look like in the new form on the wiki... or maybe someone
has a better idea how to do the tags?

Either way, the way forward is commit the fm skin patch, then work on
replacing the |'s with the new way and decide if that is doable before
the next release, if not then get a new branch going so bieber can
work on the theme editors new parser (which will be a shared lib to
replace the existing parser). Ideally the syntax changes should go
into svn quickly so his editor can work on existing themes which are
known to work, the tag renaming can happen later.

Received on 2010-05-11

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy