Chapter 13. Advanced Topics
201
13.2.2. Themes – Create Your Own
The theme files are simple text files, and can be created (or edited) in your favourite
text editor. To make sure non-English characters display correctly in your theme you
must save the theme files with UTF-8 character encoding. This can be done in most
editors, for example Notepad in Windows 2000 or XP (but not in 9x/ME) can do this.
Files Locations:
Each different “themeable” aspect requires its own file – WPS files
have the extension
.wps
, FM screen files have the extension
.fms
, and SBS files
have the extension
.sbs
. The main theme file has the extension
.cfg
. All files
should have the same name.
The theme
.cfg
file should be placed in the
/.rockbox/themes
directory, while the
.wps
,
.fms
and
.sbs
files should be placed in the
/.rockbox/wps
directory. Any
images used by the theme should be placed in a subdirectory of
/.rockbox/wps
with the same name as the theme, e.g. if the theme files are named
mytheme.wps,
mytheme.sbs
etc., then the images should be placed in
/.rockbox/wps/mytheme
.
All full list of the available tags are given in appendix section
(page
); some of
the more powerful concepts in theme design are discussed below.
•
All characters not preceded by % are displayed as typed.
•
Lines beginning with # are comments and will be ignored.
Note:
Keep in mind that your player’s resolution is 240
×
320
×
16 (with the last number
b
giving the colour depth in bits) when designing your own WPS, or if you use a WPS
designed for another target.
Viewports
By default, a viewport filling the whole screen contains all the elements defined in each
theme file. The elements in this viewport are displayed with the same background/
foreground colours and the text is rendered in the same font as in the main menu. To
change this behaviour a custom viewport can be defined. A viewport is a rectangular
window on the screen with its own foreground/background colours. This window also
has variable dimensions. To define a viewport a line starting
%V(...
has to be present
in the theme file. The full syntax will be explained later in this section. All elements
placed before the line defining a viewport are displayed in the default viewport. Elements
defined after a viewport declaration are drawn within that viewport. Loading images
(see Appendix section
(page
)) should be done within the default viewport.
A viewport ends either with the end of the file, or with the next viewport declaration
line. Viewports sharing the same coordinates and dimensions cannot be displayed at the
same time. Viewports cannot be layered
transparently
over one another. Subsequent
viewports will be drawn over any other viewports already drawn onto that area of the
screen.
The Rockbox manual
(version 3.14)
Sansa Fuze+