Skin extension to allow for a control block

Issue #205 open
IanSav created an issue

I have a wish and proposal for a change to the Enigma2 skinning system.

I would like to see the addition of a new XML block to be added to the skin XML. The proposed block will be called "controls". This block can initially contain three new tags called "menu", "keymap" and "spinner".

# The "menu" tag is to be used to provide links to the set up and menu structures to be used for this skin. The path to the menu file can be absolute (/usr/...), Enigma2 relative (directory/menu.xml) or skin relative (~/menu.xml). The type of menu can be specified by an attribute element "name" with values of "Setup" and "MainMenu". If other menu structures are required then more similar tags with appropriate "name" attributes can be created. # The "keymap" tag is to be used to provide the link to the keymap structure to be used for this skin. The path to the keymap file can be absolute (/usr/...), Enigma2 relative (directory/keymap.xml) or skin relative (~/keymap.xml). *# The "spinner" tag is to be used to provide the link to the directory containing the spinner images to be used for this skin. The path to the spinner directory can be absolute (/usr/...), Enigma2 relative (directory/menu.xml) or skin relative (~/menu.xml). To allow for more than one spinner in the directory I propose that the first spinner image file in the series should be specifically named. This spinner definition is a skinnable extension to the default spinners built into Enigma2. It is expected that while the T3 boots the factory default spinner would be used but once the skin.xml file is loaded and processed then the user defined spinner would become active. If, in the future Enigma2 grows to include more features then the initialisation for these features can be facilitated with the addition of more appropriate tags to this block.

Thus, if all these items suggested above are accommodated we should have the following structure added to the beginning of the skin.xml file (I suggest the beginning for clarity purposes only.) <skin> <controls> <menu name="Setup" file="~/menu.xml" /> <menu name="MainMenu" file="~/setup.xml" /> <keymap file="~/keymap.xml"> <spinner file="~/spinners/wait1.png"> </controls> ... </skin> This example shows that all these elements are now relative to the current skin but could, just as easily, be the default items in the Enigma2 directory or any other location the skin writer prefers.

I should note that this proposal is suggested for feeding into all upstream versions of Enigma2 not just the Australian effort. If the additional XML block or tags are not defined / used then there should be NO change to the operation of any other build.

Obviously I can imagine that others may well use the new facilities if they become available.

Comments (3)

  1. IanSav reporter
    • removed issue_update

    The issue was updated with the following change(s):

    • This issue's description has been changed
  2. Ian Brabham
    • removed issue_status

    The issue was updated with the following change(s):

    • The status has been updated, from New to Confirmed.
  3. Peter Urbanec
    • removed issue_category

    The issue was updated with the following change(s):

    • The category has been updated, from Not determined to Application / User Interface.
  4. Log in to comment