XML attribute reference
Search attributes
Abschnitt betitelt „Search attributes“This list contains the 99 current or reserved handlers from the pinned skin.py. The other 26 deprecated or compatibility names have moved to the migration reference. For a name used elsewhere in a skin, start with the skin dictionary: it also indexes XML structure, list templates and Python component attributes.
Each entry gives its purpose, value syntax, supported native classes, an XML example where the handler has an established authoring use, and limitations. Examples are source-checked fragments for an existing screen; named widgets and sources must already exist. Reserved no-op handlers and raw native setters without established XML conversion are explicitly identified instead of supplying a misleading example.
Omission and invalid input are different: a parser fallback is not the default appearance of every widget. The active window style, component and renderer may supply or override a value. The foundation examples have actual receiver captures; the new reference snippets do not claim a receiver rendering test.
Looking for the value column moving inward when a scrollbar appears? See scrollbarMode=“showOnDemandShrink”. For text underlining, see the label and template examples.
99 entries
Source snapshot: skin.py @ f4135659cb. The catalogue lists source capabilities; support also depends on the receiver build and native widget class.
align
Layout
Stack alignment passed to setAlign; this is an engine-facing value, not text alignment.
Syntax and values: The handler forwards the XML string unchanged to a native numeric/Boolean setter. No reliable general XML authoring syntax is established by this handler.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Omit this attribute unless the specific Python component handles it before native dispatch.
- A matching native method declaration alone does not prove that a skin XML string is accepted.
- For native stacks, readSkin derives a numeric alignment from the child position, for example left/right/center in a horizontal stack. Use that structural position syntax instead of supplying align manually.
Native target must provide: setAlign.
alphaBlend
Colour and decoration
Enable native widget background/border alpha blending where supported; useful for overlaying translucent rectangles.
Syntax and values: Boolean: 1 / yes / true / on / enabled enables it; 0 / no / false / off disables it. Case-insensitive. Other unrecognised strings also evaluate false.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" alphaBlend="1" backgroundColor="#80203040" />Native target must provide: setWidgetAlphaBlend.
Value parsers: parseBoolean.
alphaTest
Images, sliders and QR
Pixmap transparency: off, on (alpha test), or blend (smooth alpha blending).
Syntax and values: Case-sensitive options: on, off, blend.
Native targets: eButton, eCanvas, eLabel, ePixmap, eSlider, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" alphaTest="blend" />Native target must provide: setAlphatest.
Value parsers: parseAlphaTest.
animationMode
Layout
Control window show/hide animation; off disables both directions.
Syntax and values: Case-sensitive options: disable, off, offshow, offhide, onshow, onhide, disable_onshow, disable_onhide.
Native targets: eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Screen declaration fragment; add the components required by your screen class.
<screen name="ExampleScreen" position="center,center" size="600,400" animationMode="off" />Native target must provide: setAnimationMode.
Value parsers: parseAnimationMode.
animationPaused
Layout · no action in AttributeParser
Reserved no-op in this revision; it does not pause an animation.
Syntax and values: No supported visible operation in the central AttributeParser handler of this snapshot.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Do not add this attribute to obtain a visual effect.
- The handler is a no-op. Component-specific use, if any, must be documented by that component.
backgroundColor
Colour and decoration
Solid #AARRGGBB/named colour, or gradient specification start[,middle],end,direction[,alphaBlend].
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white. A gradient can also use startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean. Only widgets with the gradient variant listed below accept it.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" foregroundColor="#00FFFFFF" backgroundColor="#00203040" />- transparent="1" can suppress background painting. A background image or content renderer can cover the colour.
Check the per-widget table for solid/gradient and other value-specific support.
Native target must provide: setBackgroundColor, setBackgroundGradient.
Value parsers: parseColor, parseGradient.
backgroundColorEven
Lists and selection
Solid colour for alternating even list rows; gradients are not accepted here.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" backgroundColorEven="#00FFFFFF" />Native target must provide: setBackgroundColorRows.
Value parsers: parseColor.
backgroundColorOdd
Lists and selection
Solid base/odd-row list background; gradients are not accepted here.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" backgroundColorOdd="#00203040" backgroundColorEven="#00304050" />Native target must provide: setBackgroundColor.
Value parsers: parseColor.
backgroundColorSelected
Lists and selection
Selected row background, as solid colour or a gradient specification.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white. A gradient can also use startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean. Only widgets with the gradient variant listed below accept it.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" backgroundColorSelected="#00FFFFFF" />Native target must provide: setBackgroundColorSelected, setBackgroundGradientSelected.
Value parsers: parseColor, parseGradient.
backgroundPixmap
Images, sliders and QR
Background image for a native target implementing setBackgroundPixmap; not universal to all widgets.
Syntax and values: Image filename, resolved in the skin context before loading. Supply an existing PNG/SVG or another supported image; the sample path must be replaced with your asset.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" backgroundPixmap="icons/example.png" />Native target must provide: setBackgroundPixmap.
Value parsers: parsePixmap.
base
Layout · no action in AttributeParser
Reserved no-op in AttributeParser; do not expect a visible effect from this setter.
Syntax and values: No supported visible operation in the central AttributeParser handler of this snapshot.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Do not add this attribute to obtain a visual effect.
- The handler is a no-op. Component-specific use, if any, must be documented by that component.
borderColor
Colour and decoration
Generic border setter. On eLabel this currently changes the text outline; use widgetBorderColor for a rectangle border.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" borderWidth="2" borderColor="#00000000" />- On eLabel and its subclasses this changes the glyph outline. Use widgetBorderWidth/widgetBorderColor for a rectangular frame.
Native target must provide: setBorderColor.
Value parsers: parseColor.
borderWidth
Colour and decoration
Generic border width. On eLabel this currently changes glyph outlines; use widgetBorderWidth for the widget frame.
Syntax and values: Integer design pixels, scaled vertically with the screen. Use a non-negative value.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" borderWidth="2" />- On eLabel and its subclasses this changes the glyph outline. Use widgetBorderWidth/widgetBorderColor for a rectangular frame.
Native target must provide: setBorderWidth.
condition
Layout · no action in AttributeParser
Construction-time condition evaluated by readSkin for supported config/BoxInfo expressions, not a live visibility binding.
Syntax and values: A construction-time expression referring to config. or BoxInfo; optional leading ! negates it.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Expert options" condition="config.usage.setup_level.index == 2" />- Processed during construction. It is not a live native drawing property.
conditional
Layout · no action in AttributeParser
Include an element when at least one named component exists in the screen; processed by readSkin.
Syntax and values: Comma-separated existing screen component names; include if at least one exists. This is not a Boolean value.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Settings" conditional="config" />- Processed during construction. It is not a live native drawing property.
connection
Layout · no action in AttributeParser
Names the component connections for a GUI addon; readSkin consumes this before attribute application.
Syntax and values: Comma-separated screen component names consumed by the selected addon. The addon defines which connections are needed.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<widget addon="ScreenHeader" connection="Title" position="20,20" size="480,60" />- Processed during construction. It is not a live native drawing property.
cornerRadius
Colour and decoration
Corner radius, optionally followed by a semicolon and edge names, e.g. 24;topLeft,topRight.
Syntax and values: Integer radius, optionally ; followed by comma-separated edges: topLeft, topRight, top, bottomLeft, bottomRight, bottom, left, right. Omit edges for all corners.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" backgroundColor="#00203040" cornerRadius="12;topLeft,topRight" />Native target must provide: setCornerRadius.
Value parsers: parseRadius.
enableWrapAround
Lists and selection
Allow list navigation to wrap from the final entry to the first and back.
Syntax and values: Boolean: 1 / yes / true / on / enabled enables it; 0 / no / false / off disables it. Case-insensitive. Other unrecognised strings also evaluate false.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" enableWrapAround="1" />Native target must provide: setWrapAround.
Value parsers: parseBoolean.
entryFont
Lists and selection
Font for configuration entry labels on native targets supporting it.
Syntax and values: Registered font face or alias, optionally followed by ;size. A numeric size is scaled vertically with the screen. Register the face before using it.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on the existing name="config" widget of a Setup/ConfigList screen. The corresponding header, value or separator must exist in its list content.
<widget name="config" position="20,20" size="480,250" entryFont="Regular;28" />Native target must provide: setEntryFont.
Value parsers: parseFont.
errorCorrection
Images, sliders and QR
QR code recovery level: low, medium, quartile or high.
Syntax and values: Case-sensitive options: low, medium, quartile, high.
Native targets: eQRCode
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Requires an existing source qrText supplying the text to encode; the renderer creates eQRCode.
<widget source="qrText" render="QRCode" position="20,20" size="200,200" errorCorrection="medium" />Native target must provide: setErrorCorrection.
Value parsers: parseErrorCorrection.
excludes
Layout · no action in AttributeParser
Skip an element when any listed component exists; processed while building the screen.
Syntax and values: Comma-separated component names; skip if any exists.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<eLabel position="20,20" size="480,60" font="Regular;28" text="No settings" excludes="config" />- Processed during construction. It is not a live native drawing property.
flags
Layout
Comma-separated eWindow flags, for example wfNoBorder; belongs on a screen/window.
Syntax and values: Comma-separated eWindow flag names, such as wfNoBorder. On template text, flags has a different meaning; see the underline recipe.
Native targets: eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Screen declaration fragment; add the components required by your screen class.
<screen name="ExampleScreen" position="center,center" size="600,400" flags="wfNoBorder" />Native target must provide: setFlag.
font
Text
Registered font face or alias and size, for example Regular;28. It is not a font file path.
Syntax and values: Registered font face or alias, optionally followed by ;size. A numeric size is scaled vertically with the screen. Register the face before using it.
Native targets: eButton, eInput, eLabel, eListbox, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" />Native target must provide: setFont.
Value parsers: parseFont.
fontScale
Text
Automatic label font adjustment: size;offset or width;offset (default offset -4).
Syntax and values: size;offset or width;offset. Offset is an integer; omitted offset is -4. An offset of 0 does not call the setter.
Native targets: eButton, eLabel, eListbox, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" fontScale="width;-4" />Native target must provide: setFontScale.
Value parsers: parseFontScale.
foregroundColor
Text
Text/foreground colour. A gradient value is supported only by the slider foreground path.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white. A gradient can also use startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean. Only widgets with the gradient variant listed below accept it.
Native targets: eButton, eLabel, eListbox, ePositionGauge, eQRCode, eSlider, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" foregroundColor="#00FFFFFF" />Check the per-widget table for solid/gradient and other value-specific support.
Native target must provide: setForegroundColor, setForegroundGradient.
Value parsers: parseColor, parseGradient.
foregroundColorSelected
Lists and selection
Foreground/text colour for selected list entries.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" foregroundColorSelected="#00FFFFFF" />Native target must provide: setForegroundColorSelected.
Value parsers: parseColor.
gradientMode
Images, sliders and QR
Slider gradient behaviour: legacy or explicit. Check the receiver version before using this newer option.
Syntax and values: legacy or explicit. Controls how a slider interprets its gradient; use only with a slider implementing setGradientMode.
Native targets: eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Requires an existing source named progress that supplies the value/range contract expected by Progress.
<widget source="progress" render="Progress" position="20,20" size="480,30" foregroundColor="#00203040,#006080A0,horizontal" gradientMode="explicit" />Native target must provide: setGradientMode.
Value parsers: parseOptions.
headerFont
Lists and selection
Font for configuration/list headers on supporting targets.
Syntax and values: Registered font face or alias, optionally followed by ;size. A numeric size is scaled vertically with the screen. Register the face before using it.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on the existing name="config" widget of a Setup/ConfigList screen. The corresponding header, value or separator must exist in its list content.
<widget name="config" position="20,20" size="480,250" headerFont="Regular;28" />Native target must provide: setHeaderFont.
Value parsers: parseFont.
headerForegroundColor
Lists and selection
Foreground colour of configuration/list headers.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on the existing name="config" widget of a Setup/ConfigList screen. The corresponding header, value or separator must exist in its list content.
<widget name="config" position="20,20" size="480,250" headerForegroundColor="#00FFFFFF" />Native target must provide: setHeaderColor.
Value parsers: parseColor.
horizontalAlignment
Text
Text alignment inside its rectangle: left, center, right or block.
Syntax and values: Case-sensitive options: left, center, right, block.
Native targets: eButton, eLabel, eListbox, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" horizontalAlignment="right" />Native target must provide: setHAlign.
Value parsers: parseHorizontalAlignment.
ignoreWidgets
Layout · no action in AttributeParser
Screen metadata for optional widgets; the AttributeParser handler itself is a no-op.
Syntax and values: Comma-separated optional widget names on a screen; controls the missing-widget check, not drawing.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<screen name="ExampleScreen" position="center,center" size="600,400" ignoreWidgets="optionalLabel" />- Processed during construction. It is not a live native drawing property.
includes
Layout · no action in AttributeParser
Include an element when any listed component exists; the counterpart of excludes.
Syntax and values: Comma-separated component names; include if at least one exists.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Settings" includes="config" />- Processed during construction. It is not a live native drawing property.
itemAlignment
Lists and selection
Align list items within the available list rectangle; distinct from text alignment.
Syntax and values: Case-sensitive options: default, center, justify, leftTop, leftMiddle, leftBottom, rightTop, rightMiddle, rightBottom, centerTop, centerMiddle, centerBottom, justifyTop, justifyMiddle, justifyBottom, justifyLeft, justifyRight.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemAlignment="leftTop" />Native target must provide: setItemAlignment.
Value parsers: parseItemAlignment.
itemCornerRadius
Lists and selection
Rounded item background in its normal state.
Syntax and values: Integer radius, optionally ; followed by comma-separated edges: topLeft, topRight, top, bottomLeft, bottomRight, bottom, left, right. Omit edges for all corners.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemCornerRadius="12;topLeft,topRight" />Native target must provide: setItemCornerRadius.
Value parsers: parseRadius.
itemCornerRadiusMarked
Lists and selection
Rounded background for a marked item.
Syntax and values: Integer radius, optionally ; followed by comma-separated edges: topLeft, topRight, top, bottomLeft, bottomRight, bottom, left, right. Omit edges for all corners.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemCornerRadiusMarked="12;topLeft,topRight" />Native target must provide: setItemCornerRadiusMarked.
Value parsers: parseRadius.
itemCornerRadiusMarkedAndSelected
Lists and selection
Rounded background when the item is both marked and selected.
Syntax and values: Integer radius, optionally ; followed by comma-separated edges: topLeft, topRight, top, bottomLeft, bottomRight, bottom, left, right. Omit edges for all corners.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
The Python handler is present, but its native target name does not match the declaration in this snapshot. No working XML example is claimed.
- The handler calls setItemCornerRadiusMarkedAndSelected, while eListbox declares a name with lower-case "and" (MarkedandSelected). This is a source mismatch, not evidence that changing the XML Boolean or colour will make it work.
Native target must provide: setItemCornerRadiusMarkedAndSelected.
Value parsers: parseRadius.
itemCornerRadiusSelected
Lists and selection
Rounded background of the selected item.
Syntax and values: Integer radius, optionally ; followed by comma-separated edges: topLeft, topRight, top, bottomLeft, bottomRight, bottom, left, right. Omit edges for all corners.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemCornerRadiusSelected="12;topLeft,topRight" />Native target must provide: setItemCornerRadiusSelected.
Value parsers: parseRadius.
itemGradient
Lists and selection
Background gradient for a normal list item.
Syntax and values: startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemGradient="#00203040,#006080A0,vertical" />Native target must provide: setItemGradient.
Value parsers: parseGradient.
itemGradientMarked
Lists and selection
Background gradient for a marked item.
Syntax and values: startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemGradientMarked="#00203040,#006080A0,vertical" />Native target must provide: setItemGradientMarked.
Value parsers: parseGradient.
itemGradientMarkedAndSelected
Lists and selection
Background gradient for an item that is both marked and selected.
Syntax and values: startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
The Python handler is present, but its native target name does not match the declaration in this snapshot. No working XML example is claimed.
- The handler calls setItemGradientMarkedAndSelected, while eListbox declares a name with lower-case "and" (MarkedandSelected). This is a source mismatch, not evidence that changing the XML Boolean or colour will make it work.
Native target must provide: setItemGradientMarkedAndSelected.
Value parsers: parseGradient.
itemGradientSelected
Lists and selection
Background gradient for the selected list item.
Syntax and values: startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemGradientSelected="#00203040,#006080A0,vertical" />Native target must provide: setItemGradientSelected.
Value parsers: parseGradient.
itemHeight
Lists and selection
Height of one list entry, scaled vertically.
Syntax and values: Integer design pixels, scaled vertically with the screen. Use a non-negative value.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemHeight="50" />Native target must provide: setItemHeight.
itemSpacing
Lists and selection
Horizontal and vertical gap between list items; one value applies to both axes.
Syntax and values: One integer for both directions, or horizontal,vertical gap in design pixels. Both axes scale with the screen.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemSpacing="8,4" />Native target must provide: setItemSpacing.
Value parsers: parsePosition.
itemWidth
Lists and selection
Width of one list item, scaled horizontally.
Syntax and values: Integer design pixels, scaled horizontally with the screen. Use a non-negative value.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" itemWidth="480" />Native target must provide: setItemWidth.
label
Layout · no action in AttributeParser
Reserved metadata/no-op in AttributeParser; no label is created by this attribute alone.
Syntax and values: No supported visible operation in the central AttributeParser handler of this snapshot.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Do not add this attribute to obtain a visual effect.
- The handler is a no-op. Component-specific use, if any, must be documented by that component.
layout
Layout · no action in AttributeParser
Select panel/stack layout in the structure parser; this setter itself is a no-op.
Syntax and values: On a panel: stack, vertical or horizontal. On eStack: horizontal or vertical.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<panel position="20,20" size="480,100" layout="horizontal" spacing="8" />- Processed during construction. It is not a live native drawing property.
listOrientation
Lists and selection
List layout: vertical, horizontal or grid; not a slider direction.
Syntax and values: Case-sensitive options: vertical, horizontal, grid.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" listOrientation="vertical" />Native target must provide: setOrientation.
Value parsers: parseListOrientation.
objectTypes
Layout · no action in AttributeParser
Construction-time component type check: componentName,ClassName[,ClassName].
Syntax and values: componentName,ClassName[,ClassName]. Keep the element only when the named component matches one of these class names.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<widget name="config" objectTypes="config,ConfigList" position="20,20" size="480,250" />- Processed during construction. It is not a live native drawing property.
orientation
Images, sliders and QR
Slider direction: orHorizontal/orLeftToRight, orRightToLeft, orVertical/orTopToBottom, orBottomToTop.
Syntax and values: Case-sensitive options: orHorizontal, orLeftToRight, orRightToLeft, orVertical, orTopToBottom, orBottomToTop.
Native targets: eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Requires an existing source named progress that supplies the value/range contract expected by Progress.
<widget source="progress" render="Progress" position="20,20" size="480,30" orientation="orLeftToRight" />Native target must provide: setOrientation.
Value parsers: parseOrientation.
overScan
Images, sliders and QR
Pass the overscan value to a native target implementing setOverscan; this is not global TV calibration.
Syntax and values: The handler forwards the XML string unchanged to a native numeric/Boolean setter. No reliable general XML authoring syntax is established by this handler.
Native targets: eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Omit this attribute unless the specific Python component handles it before native dispatch.
- A matching native method declaration alone does not prove that a skin XML string is accepted.
Native target must provide: setOverscan.
padding
Text
One, two or four comma-separated inset values: left,top,right,bottom. Two values repeat as x,y,x,y.
Syntax and values: One integer for all sides; x,y repeats x,y,x,y; four integers are left,top,right,bottom. These values are passed through without screen scaling.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" padding="12,6,12,6" />- Two values repeat on opposite sides. This is not CSS top/right/bottom/left order.
Native target must provide: setPadding.
Value parsers: parsePadding.
pixmap
Images, sliders and QR
Resolved image path passed to LoadPixmap; PNG transparency is commonly used.
Syntax and values: Image filename, resolved in the skin context before loading. Supply an existing PNG/SVG or another supported image; the sample path must be replaced with your asset.
Native targets: eCanvas, ePixmap, eSlider, eSubtitleWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place inside a screen and replace icons/example.png with an existing skin asset.
<ePixmap position="20,20" size="120,120" pixmap="icons/example.png" />Native target must provide: setPixmap.
Value parsers: parsePixmap.
pointer
Images, sliders and QR
Pointer image and anchor offset for supporting widgets; see the source setter for the colon-separated path/coordinate syntax.
Syntax and values: imageFilename:x,y. x,y is the pointer anchor offset; the target must support pointer index 0.
Native targets: ePositionGauge
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Requires an existing source position with the PositionGauge contract. Replace the image path with an existing skin asset.
<widget source="position" render="PositionGauge" position="20,20" size="480,30" pointer="icons/pointer.png:8,8" />Native target must provide: setPointer.
Value parsers: parsePixmap, parsePosition.
position
Layout
x,y relative to the current layout context; centre and arithmetic coordinates are supported.
Syntax and values: x,y coordinates in the design coordinate system. Literal numbers are scaled; parent-relative expressions such as center and percentages are context dependent.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" />Native target must provide: csize, move.
Value parsers: parsePosition.
quietZone
Images, sliders and QR
QR code quiet-zone size; does not add general-purpose label padding.
Syntax and values: Integer quiet-zone module count around a QR code. The parser uses 4 for an invalid integer; this is not ordinary pixel padding.
Native targets: eQRCode
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Requires an existing source qrText supplying the text to encode; the renderer creates eQRCode.
<widget source="qrText" render="QRCode" position="20,20" size="200,200" quietZone="4" />Native target must provide: setQuietZone.
Value parsers: parseInteger.
resolution
Layout · no action in AttributeParser
The design coordinate system width,height; readSkin derives scaling from the desktop.
Syntax and values: width,height of the screen design coordinate system, used to derive scaling.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Structural XML fragment. Use it in the stated context and supply any named components in the screen class.
<screen name="ExampleScreen" position="center,center" size="600,400" resolution="1920,1080" />- Processed during construction. It is not a live native drawing property.
scale
Images, sliders and QR
Pixmap scaling flags, for example none, scale, keepAspect or centerScaled. Not screen resolution scaling.
Syntax and values: Case-sensitive options: none, 0, scale, 1, keepAspect, leftTop, leftCenter, leftMiddle, leftBottom, centerTop, middleTop, centerScaled, middleScaled, centerBottom, middleBottom, rightTop, rightCenter, rightMiddle, rightBottom, moveLeftTop, moveLeftCenter, moveLeftMiddle, moveLeftBottom, moveCenterTop, moveMiddleTop, moveCenter, moveMiddle, moveCenterBottom, moveMiddleBottom, moveRightTop, moveRightCenter, moveRightMiddle, moveRightBottom, off, on, aspect, center, width, height, stretch, fill.
Native targets: eCanvas, ePixmap, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place inside a screen and replace icons/example.png with an existing skin asset.
<ePixmap position="20,20" size="120,120" pixmap="icons/example.png" scale="centerScaled" />- Deprecated scale-prefixed option values are documented in the migration section. Scaling changes the pixmap inside its widget; it does not change screen resolution.
Native target must provide: setPixmapScale.
Value parsers: parseScale.
scrollbarBackgroundColor
Lists and selection
Solid colour behind the scrollbar handle.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarBackgroundColor="#00FFFFFF" />Native target must provide: setScrollbarBackgroundColor.
Value parsers: parseColor.
scrollbarBackgroundGradient
Lists and selection
Gradient behind the scrollbar handle on supporting targets.
Syntax and values: startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarBackgroundGradient="#00203040,#006080A0,vertical" />Native target must provide: setScrollbarBackgroundGradient.
Value parsers: parseGradient.
scrollbarBackgroundPixmap
Lists and selection
Image behind the scrollbar handle.
Syntax and values: Image filename, resolved in the skin context before loading. Supply an existing PNG/SVG or another supported image; the sample path must be replaced with your asset.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarBackgroundPixmap="icons/example.png" />Native target must provide: setScrollbarBackgroundPixmap.
Value parsers: parsePixmap.
scrollbarBorderColor
Lists and selection
Scrollbar border colour.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarBorderColor="#00FFFFFF" />Native target must provide: setScrollbarBorderColor.
Value parsers: parseColor.
scrollbarBorderWidth
Lists and selection
Scrollbar border thickness, scaled horizontally.
Syntax and values: Integer design pixels, scaled horizontally with the screen. Use a non-negative value.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarBorderWidth="1" />Native target must provide: setScrollbarBorderWidth.
scrollbarForegroundColor
Lists and selection
Scrollbar handle colour.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarForegroundColor="#00FFFFFF" />Native target must provide: setScrollbarForegroundColor.
Value parsers: parseColor.
scrollbarForegroundGradient
Lists and selection
Scrollbar handle gradient.
Syntax and values: startColour[,middleColour],endColour,horizontal|vertical[,alphaBlend]. Use named colours or #AARRGGBB; the optional alphaBlend is Boolean.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarForegroundGradient="#00203040,#006080A0,vertical" />Native target must provide: setScrollbarForegroundGradient.
Value parsers: parseGradient.
scrollbarForegroundPixmap
Lists and selection
Scrollbar handle image.
Syntax and values: Image filename, resolved in the skin context before loading. Supply an existing PNG/SVG or another supported image; the sample path must be replaced with your asset.
Native targets: eListbox, eSlider
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarForegroundPixmap="icons/example.png" />Native target must provide: setScrollbarForegroundPixmap.
Value parsers: parsePixmap.
scrollbarLength
Lists and selection
Scrollbar length: numeric value, full or auto; interpretation is the target widget's.
Syntax and values: Non-negative integer length, full (0) or auto (-1). On eListbox this sizes the scrollbar track along the list: full uses the widget extent; auto follows the laid-out item extent and offsets. It does not directly set the handle length.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarLength="auto" />Native target must provide: setScrollbarLength.
Value parsers: parseScrollbarLength.
scrollbarMode
Lists and selection
Visibility and side of the scrollbar; showOnDemand, showAlways, showNever and side-specific modes.
Syntax and values: Case-sensitive options: showOnDemand, showAlways, showNever, showLeftOnDemand, showLeftAlways, showTopOnDemand, showTopAlways, showOnDemandShrink.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarMode="showOnDemandShrink" />- showOnDemandShrink enables on-demand scrolling plus content-width adjustment. It is not a separate Boolean attribute.
- For MultiContent, the affected draw rectangle must extend past the reduced item width; the engine subtracts scrollbar width + offset. It does not select the last tuple by its index. Right-aligned text then shifts inward.
- A renderer/converter or screen can override scrollbarMode after skin application. ScrollLabel has its own mode parser; not every eListbox mode applies to that composite component.
- Use the worked example when the last column or last item overlaps the scrollbar and needs automatic width adjustment; it explains which value-column drawing rectangles actually shrink.
Worked example, visual explanation and troubleshooting →
Native target must provide: setScrollbarMode.
Value parsers: parseScrollbarMode.
scrollbarOffset
Lists and selection
Integer distance/offset passed to the native scrollbar; this handler does not apply screen scaling.
Syntax and values: Integer gap between the list content and scrollbar in native pixels. This setter does not apply screen scaling.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarOffset="4" />Native target must provide: setScrollbarOffset.
Value parsers: parseInteger.
scrollbarRadius
Lists and selection
Rounded scrollbar corners, optionally restricted to named edges.
Syntax and values: Integer radius, optionally ; followed by comma-separated edges: topLeft, topRight, top, bottomLeft, bottomRight, bottom, left, right. Omit edges for all corners.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarRadius="12;topLeft,topRight" />Native target must provide: setScrollbarRadius.
Value parsers: parseRadius.
scrollbarScroll
Lists and selection
Scrollbar movement granularity: byPage or byLine.
Syntax and values: Case-sensitive options: byPage, byLine.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarScroll="byPage" />Native target must provide: setScrollbarScroll.
Value parsers: parseScrollbarScroll.
scrollbarWidth
Lists and selection
Scrollbar thickness, scaled horizontally.
Syntax and values: Integer design pixels, scaled horizontally with the screen. Use a non-negative value.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" scrollbarWidth="12" />Native target must provide: setScrollbarWidth.
scrollText
Text
Scrolling text configuration as comma-separated key=value pairs; direction, delays, repeat, stepSize and mode.
Syntax and values: Comma-separated key=value pairs. direction: left/right/top/bottom; stepDelay, startDelay, endDelay: milliseconds; stepSize: pixels; repeat: integer; mode: cached/bounce/bounceCached/roll. Omitted sub-options start at stepDelay=100, startDelay=0, endDelay=0, repeat=0, stepSize=2; omit mode for normal scrolling.
Native targets: eButton, eLabel, eListbox, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" scrollText="direction=left,startDelay=1500,stepDelay=40,stepSize=2" />Native target must provide: setScrollText.
Value parsers: parseScrollText.
seekPointer
Images, sliders and QR
Secondary seek pointer image and anchor offset, for widgets that support it.
Syntax and values: imageFilename:x,y. x,y is the pointer anchor offset; the target must support pointer index 1.
Native targets: ePositionGauge
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Requires an existing source position with the PositionGauge contract. Replace the image path with an existing skin asset.
<widget source="position" render="PositionGauge" position="20,20" size="480,30" seekPointer="icons/seek.png:8,8" />Native target must provide: setPointer.
Value parsers: parsePixmap, parsePosition.
selection
Lists and selection
Enable or disable drawing the list selection highlight.
Syntax and values: Boolean: 1 / yes / true / on / enabled enables it; 0 / no / false / off disables it. Case-insensitive. Other unrecognised strings also evaluate false.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" selection="1" />Native target must provide: setSelectionEnable.
Value parsers: parseBoolean.
selectionPixmap
Lists and selection
Image used for the list selection background.
Syntax and values: Image filename, resolved in the skin context before loading. Supply an existing PNG/SVG or another supported image; the sample path must be replaced with your asset.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" selectionPixmap="icons/example.png" />Native target must provide: setSelectionPixmap.
Value parsers: parsePixmap.
selectionZoom
Lists and selection
Selection enlargement as an integer percentage increment[,mode]: 25 means 1.25 times the normal size. The increment is capped at 500; see parseZoom for the mode.
Syntax and values: Non-negative integer percentage increment[,mode]. 25 means 125% of normal size; capped at 500. Modes: zoomContent, moveContent, ignoreContent.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" selectionZoom="25,zoomContent" />Native target must provide: setSelectionZoom.
Value parsers: parseInteger, parseZoom.
selectionZoomSize
Lists and selection
Explicit enlarged selection width,height[,mode].
Syntax and values: width,height[,mode]. Modes: zoomContent, moveContent, ignoreContent. Literal dimensions scale with the screen.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
This example requires an existing Python list component named list. For a Setup/ConfigList screen use its existing name="config" instead; XML does not create the component.
<widget name="list" position="20,20" size="480,250" selectionZoomSize="520,70,zoomContent" />Native target must provide: setSelectionZoomSize.
Value parsers: parseValuePair, parseZoom.
separatorLineColor
Lists and selection
Colour of entry separators in supporting lists.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on the existing name="config" widget of a Setup/ConfigList screen. The corresponding header, value or separator must exist in its list content.
<widget name="config" position="20,20" size="480,250" separatorLineColor="#00FFFFFF" />Native target must provide: setSeparatorColor.
Value parsers: parseColor.
separatorLineSize
Lists and selection
Separator geometry: height, top,height or left,top,width,height; -1 has automatic/full-width meaning.
Syntax and values: height, top,height, or left,top,width,height. top=-1 centres the line; width=-1 uses the available width minus margins.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on the existing name="config" widget of a Setup/ConfigList screen. The corresponding header, value or separator must exist in its list content.
<widget name="config" position="20,20" size="480,250" separatorLineSize="1" />Native target must provide: setSeparatorSize.
Value parsers: parseSeparator.
shadowColor
Text
Colour of the label text shadow.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eButton, eLabel, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" foregroundColor="#00FFFFFF" shadowColor="#00000000" shadowOffset="2,2" />Native target must provide: setShadowColor.
Value parsers: parseColor.
shadowOffset
Text
x,y offset of the text shadow; scaled with the screen.
Syntax and values: x,y coordinates in the design coordinate system. Literal numbers are scaled; parent-relative expressions such as center and percentages are context dependent.
Native targets: eButton, eLabel, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" foregroundColor="#00FFFFFF" shadowColor="#00000000" shadowOffset="2,2" />Native target must provide: setShadowOffset.
Value parsers: parsePosition.
size
Layout
width,height of the widget; does not set its text alignment or font size.
Syntax and values: width,height in the design coordinate system. Literal values are scaled with the screen.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" />Native target must provide: resize.
Value parsers: parseSize.
spacing
Layout
Spacing setter for supporting native widgets; a panel also consumes spacing for its layout context.
Syntax and values: Integer spacing used by the native stack/layout; panel spacing is handled by the structural parser.
Native targets: eStack
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on a native stack containing child widgets, or as structural panel spacing. For spacing between list items use itemSpacing.
<eStack position="20,20" size="480,100" layout="horizontal" spacing="8">
<eLabel position="left" size="200,60" font="Regular;28" text="Item" />
</eStack>Native target must provide: setSpacing.
Value parsers: parseInteger.
spacingColor
Layout
Colour of spacing in a native widget that supports setSpacingColor.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on a native stack containing child widgets. It is not list row spacing; use itemSpacing on a listbox. In the pinned readSkin path, processStack only forwards selected structural fields, so spacingColor is not applied from this XML element.
- eStack exposes the native setter, but processStack does not forward spacingColor in this snapshot. No working direct eStack XML example is claimed.
Native target must provide: setSpacingColor.
Value parsers: parseColor.
stack
Layout · no action in AttributeParser
Reserved structural metadata; the AttributeParser handler itself performs no action.
Syntax and values: No supported visible operation in the central AttributeParser handler of this snapshot.
Native targets: No matching native dispatch in this inventory. See the structural context or limitation below.
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Do not add this attribute to obtain a visual effect.
- The handler is a no-op. Component-specific use, if any, must be documented by that component.
tabWidth
Text
Tab-stop width for supporting text widgets; auto uses the automatic width.
Syntax and values: Non-negative integer tab-stop width, or auto for automatic sizing.
Native targets: eButton, eLabel, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" tabWidth="auto" />Native target must provide: setTabWidth.
Value parsers: parseTabWidth.
tag
Layout
Integer widget identifier used by native stack/layout machinery.
Syntax and values: Integer native widget tag. This does not bind a Python component; use name for that.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" tag="1" />Native target must provide: setTag.
Value parsers: parseInteger.
text
Text
Static text, translated before setText. Python or a renderer may replace it later.
Syntax and values: XML text string; escape & as & and < as <. Translated and set initially; renderer/Python updates can replace it.
Native targets: eButton, eLabel, eQRCode, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" />Native target must provide: setText.
textBorderColor
Text
Explicit colour of the outline around glyphs; different from a rectangle border.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eButton, eLabel, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" textBorderWidth="2" textBorderColor="#00000000" />Native target must provide: setTextBorderColor.
Value parsers: parseColor.
textBorderWidth
Text
Explicit glyph-outline thickness, scaled vertically.
Syntax and values: Integer design pixels, scaled vertically with the screen. Use a non-negative value.
Native targets: eButton, eLabel, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" textBorderWidth="2" />Native target must provide: setTextBorderWidth.
title
Layout
Window title; translated with the current interface locale before being applied.
Syntax and values: XML text string used as the screen title; translated before application.
Native targets: eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Screen declaration fragment; add the components required by your screen class.
<screen name="ExampleScreen" position="center,center" size="600,400" title="Example screen" />Native target must provide: setTitle.
transparent
Colour and decoration
Boolean: suppress the widget background. This is distinct from the transparency byte in a painted colour.
Syntax and values: Boolean: 1 / yes / true / on / enabled enables it; 0 / no / false / off disables it. Case-insensitive. Other unrecognised strings also evaluate false.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" transparent="1" />Native target must provide: setTransparent.
Value parsers: parseBoolean.
underline
Text
Enable or disable underlined label text.
Syntax and values: Boolean: 1 / yes / true / on / enabled enables it; 0 / no / false / off disables it. Case-insensitive. Other unrecognised strings also evaluate false.
Native targets: eButton, eLabel, eVideoWidget
If omitted: Off for a newly constructed eLabel (m_underline=false). A component can change it later.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" underline="1" />- For ordinary eLabel/eButton text or a Label renderer. It does not underline every list row when placed on a listbox.
- For text inside an XML list template use flags="underline" on the text element. A template font is a numeric index, not Regular;28.
- Test a single line with enough height for the font line height. The painter draws a one-pixel line using the foreground colour; clipping and text-marking paths can affect visibility.
Worked example, visual explanation and troubleshooting →
Native target must provide: setUnderline.
Value parsers: parseBoolean.
valueFont
Lists and selection
Font for configuration values on supporting targets.
Syntax and values: Registered font face or alias, optionally followed by ;size. A numeric size is scaled vertically with the screen. Register the face before using it.
Native targets: eListbox
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Use on the existing name="config" widget of a Setup/ConfigList screen. The corresponding header, value or separator must exist in its list content.
<widget name="config" position="20,20" size="480,250" valueFont="Regular;28" />Native target must provide: setValueFont.
Value parsers: parseFont.
verticalAlignment
Text
Text alignment inside the widget: top, center/middle or bottom.
Syntax and values: Case-sensitive options: top, center, middle, bottom.
Native targets: eButton, eLabel, eListbox, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" verticalAlignment="center" />Native target must provide: setVAlign.
Value parsers: parseVerticalAlignment.
widgetBorderColor
Colour and decoration
Explicit rectangular widget-frame colour, including on eLabel.
Syntax and values: A registered colour name or #AARRGGBB. AA is transparency: 00 opaque, FF transparent. Example: #00FFFFFF is opaque white.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" widgetBorderColor="#00FFFFFF" />Native target must provide: setWidgetBorderColor.
Value parsers: parseColor.
widgetBorderWidth
Colour and decoration
Explicit rectangular widget-frame thickness, scaled vertically.
Syntax and values: Integer design pixels, scaled vertically with the screen. Use a non-negative value.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" widgetBorderWidth="2" />Native target must provide: setWidgetBorderWidth.
wrap
Text
Text overflow mode: wrap, noWrap or ellipsis; current parser also accepts numeric strings.
Syntax and values: Case-sensitive options: ellipsis, noWrap, wrap.
Native targets: eButton, eLabel, eListbox, eVideoWidget
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" wrap="ellipsis" />- Use the named modes in new skins. The central parser also accepts numeric 0, 1, 2; template text has its own accepted tokens.
Native target must provide: setWrap.
Value parsers: parseWrap.
zPosition
Layout
Integer painting layer among overlapping widgets; larger values are in front.
Syntax and values: Integer stacking order; higher values paint in front of lower values in the same parent.
Native targets: eButton, eCanvas, eGauge, eInput, eLabel, eListbox, ePixmap, ePositionGauge, eQRCode, eRectangle, eSlider, eStack, eSubtitleWidget, eVideoWidget, eWidget, eWindow
If omitted: When omitted, the component, window style and native widget determine the result. There is no universal skin-wide default for this attribute.
Place this element inside an existing screen; adapt its position and size to that screen.
<eLabel position="20,20" size="480,60" font="Regular;28" text="Example text" zPosition="2" />Native target must provide: setZPosition.
Value parsers: parseInteger.
No matching entry. Clear the filter or search the whole handbook above.
Old bookmarks: deprecated attributes and compatibility names
These entries have moved to the migration reference.
alphatest→ alphaTestbackgroundColorRows→ backgroundColorEvenbackgroundGradient→ backgroundColorbackgroundGradientSelected→ backgroundColorSelectedforegroundGradient→ foregroundColorhAlign→ horizontalAlignmenthalign→ horizontalAlignmentnoWrap→ wrapOverScan→ overScanscaleFlags→ scalescrollbarBackgroundPicture→ scrollbarBackgroundPixmapscrollbarbackgroundPixmap→ scrollbarBackgroundPixmapscrollbarSliderBorderColor→ scrollbarBorderColorscrollbarSliderBorderWidth→ scrollbarBorderWidthscrollbarSliderForegroundColor→ scrollbarForegroundColorscrollbarSliderPicture→ scrollbarForegroundPixmapscrollbarSliderPixmap→ scrollbarForegroundPixmapsecondFont→ valueFontsecondfont→ valueFontseek_pointer→ seekPointerselectionDisabled→ selectionsliderPixmap→ scrollbarForegroundPixmaptextOffset→ paddingtextPadding→ paddingvAlign→ verticalAlignmentvalign→ verticalAlignment
