Skin settings provide skins with user-definable (by the skin designer ) property with the ability to define settings that can be leveraged used for many purposes within the skin, including making logical decisions about when or how controls are displayed, and what the information those controls display. Skin settings add the capability to have significant design control over the design of the MediaPortal GUI customization.
Skin settings may can be defined and used in conjunction with skin defines and skin expressions. Common usage patterns for skin settings include:
- Customization of the MediaPortal GUI - End-user (GUI) manipluation of the value of a skin setting (e.g. on MediaPortal settings windows) followed by consuming the value of the skin setting as a skin define in GUI controls in another window
The skin designer can provide MediaPortal windows that allow the end user to alter skin settings, and control how the skin appears or behaves. Other windows in the skin use those values to decide how to display the windows, or what action to take.
- Selection of MediaPortal Themes
- The skin designer can supply themes that provide predefined combinations of properties that the end user can choose (such as colors or font sizes), whilst still maintaining a consistent overall design for the skin.
Skin settings must have names that begin with the hash (#) character. Examples:
An attempt to use a skin setting without a leading hash character will result results in intepretation of the skin setting as a string literal.
When MediaPortal loads a skin, all of the skin settings for the skin are read from skin/the file "...\MediaPortal\skin\<skin-name>/\SkinSettings.xml" and each is immediatley immediately promoted to become a MediaPortal property of the same name. Only skin settings used in skin-setting functions are made peristent; see the description of the skin-setting functions below.
The remainder of this document introduces skin settings as follows:
- SkinSettings.xml - storing Storing your skin settings
- Skin Conditionals - using Using skin settings to decide what to render
- Skin Actions - using Using skin settings in GUI control actions (changing skin setting values):
- Generic - generic Generic skin setting actions
- MediaPortal Themes - actions Actions related to managing MediaPortal themes
All skin settings are saved to in a file named SkinSetting"SkinSettings.xml". The SkinSettings.xml This file is saved to stored in the same directory folder as the associated skin xml files; e.g., skin/DefaultWide/, for example: "...\skin\DefaultWideHD\SkinSettings.xml". Each skin will have has only one SkinSettings.xml settings file. Skin themes do not have their own "SkinSettings.xml; one settings file is shared among all themes" file; all of the themes use the same settings file. The presense presence of a "SkinSettings.xml" file is optional, and is needed only needed if the skin is designed using to use skin settings.
The format of "SkinSettings.xml" is exactly the same as "MediaPortal.xml". An This is an example of the files content followsa skin settings file:
<?xml version="1.0" encoding="utf-8"?> <profile> <section name="booleansettings"> <entry name="#skin.tvguide.rows.is_short">True</entry> </section> <section name="stringsettings"> <entry name="#skin.mystring">This is a string</entry> </section> <section name="theme"> <entry name="name">Skin default</entry> </section> </profile>
Boolean and string settings are separated into two distict distinct sections; : "booleansettings" and "stringsettings". Entries in In these sections have , the name of the setting is defined using the name attribute, and its the value of the setting is defined as the xml inner text.
The selected theme has its own section. The value of the theme name is either the reserved name "Skin default" (indicating no theme is applied), or the name of the selected theme. For more information about themes see skin themes.
The content skin designer should ensure that the copy of this file should be specified by supplied with the skin designer to setup defines initial values for all settings.