Conditions are a new way of creating your theme. If you're a developer, you should already be familiar with them.
Conditions can be used with the if=“condition”
attribute in :
<include>
tags<include if=“crt”>
...
</include>
<view>
tags<view name=“system” if=“arcade”>
...
</view>
<image name=“deco” extra=“true” if=“favorite”>
...
</image>
<image name=“deco” extra=“true” if=“favorite” />
<image name=“deco” extra=“true”>
...
<path>default/image/path.png</path>
<path if=“crt”>image/path/for/crt/only.png</path>
...
</image>
<image name=“deco” extra=“true” path=“default/image/path.png”>
<path if=“crt”>image/path/for/crt/only.png</path>
</image>
Conditions can be unique or complex. Each pseudo-identifier is evaluated to true
/ false
at theme changes and updates. They can be combined or inverted with simple Boolean logic operations: and
, or
and not
.
Example 1:
if="qvga and not crt”
if="qvga & !crt”
Example 2:
if="hd or fhd”
if="hd | fhd”
if="qvga or vga and not crt”
if="qvga | vga & !crt”
Evaluation is from right to left, always between the last result on the left and the new identifier on the right.
The following entry:
if="qvga or vga and not crt”
which is equivalent to (qvga or vga) and not crt
is not equivalent to the following:
if="not crt and qvga or vga”
Which is equivalent to (not crt and qvga) or vga
!
To facilitate human writing, &
is equivalent to and
, |
is equivalent to or
and !
is equivalent to not
. The characters &|!
can be pasted (e.g. qvga&!crt
) but not other uses where a space is required (qvga and not crt
).
crt
:True if a CRT adapter is connected and active.
jamma
:True if a Jamma RGB adapter is plugged in and active.
overscan
:Corresponds to crt and !jamma
.
tate
:True if in tate mode.
qvga
:True if maximum height is 288 pixels.
vga
:True if at 576 pixels maximum height and not in qvga.
hd
:True if maximum height is 920 pixels and not in qvga or vga.
fhd
:True if more than 920 pixels high.
virtual
:True if on a virtual system.
arcade
:True if on an arcade system.
port
:True if you are on the ports system.
console
:True if on a home console system.
handheld
:True if on a handheld console system.
computer
:True if on a computer system.
fantasy
:True if on a fantasy system.
engine
:True if on a game engine.
favorite
:True if on the favorites system.
lastplayed
:True if you're on the last played system.
You can easily identify groups of systems using the following conditions:
if="arcade & virtual”
if="console | handheld | fantasy”
if="fantasy | engine”