/skin-parts

Primary LanguagePerlMIT LicenseMIT

---------------------
Naming rules:
---------------------

SKINPACK-NAME                           name of a "pack" (a collection of skinparts files)

skinparts-MetrixHD-SKINPACK-NAME        skinparts only designed for MetrixHD
skinparts-AtileHD-SKINPACK-NAME         skinparts only designed for other skins (with AtileHD support)
skinparts-universal-SKINPACK-NAME       skinparts designed for MetrixHD and other skins

SKINPACK-NAME                           may only contain letters and numbers, no underliner (_) nor any other special characters.

---------------------
Repository structure:
---------------------

skinparts/skinparts-universal-SKINPACK-NAME1/SKINPARTS_NAME1/SKINPARTS_NAME1.xml       skinparts file for MetrixHD
skinparts/skinparts-universal-SKINPACK-NAME1/SKINPARTS_NAME1/SKINPARTS_NAME1_Atile.xml skinparts file for other skins (with AtileHD support)
skinparts/skinparts-universal-SKINPACK-NAME1/SKINPARTS_NAME1/icons		       all icons used by the skinpart
skinparts/skinparts-universal-SKINPACK-NAME1/SKINPARTS_NAME1/fonts		       all fonts used by the skinpart
skinparts/skinparts-universal-SKINPACK-NAME1/SKINPARTS_NAME1/....		       anything else used by the skinpart

skinparts/skinparts-universal-SKINPACK-NAME1/SKINPARTS_NAME2			       another skinpart file (part of the same "pack")

otherData/SKINPARTS_NAME1/....  		                             anything that is not required for running the skinpart (e.g. pdf documentation)

--------------------
Designing skinparts:
--------------------

each skinparts file may contain several screens - use one file if the screens belong together
  
skinparts for MetrixHD:
    - MetrixHD skinparts cannot define their own colors or fonts

skinparts for other skins (with AtileHD support):
    - skinparts for other skins can define their own colors or fonts
    - please make sure not to re-define colors or fonts used in any skins
    - don't specify the resolution: this would affect screens of the main skin

for the build process:
    - all Makefile.am are auto-generated (just execute makegen.py)
    - configure.ac    is  auto-generated (just execute makegen.py)
    - each skin "pack" requires
        skinparts/SKINPACK-NAME/meta/SKINPACK-NAME.xml
        skinparts/SKINPACK-NAME/CONTROL/control
      which can easily be copied from existing skinpacks and modified

----------------
Using skinparts:
----------------

for MetrixHD:

   * download skinparts from feed
   
   * use the MyMetrixLite plugin for enabling skinparts (skinpart settings)
   * see also https://www.opena.tv/skins/21609-metrixhd-selbsterstellte-skinpart.html#post192960
   
for other skins with AtileHD support (e.g. DMConcinnity-HD):

   * download skinparts from feed
   
   * in the "setup - SKIN_NAME" menu, activate "SKIN_NAME pro" and press yellow for enabling skinparts
   * see also https://www.opena.tv/openatv-6-1-image-rueckmeldungen/35108-skinpartunterstuetzung-im-openatv-image.html


--------------------
The magic behind it:
--------------------

For MetrixHD, MyMetrixLite creates symblic links per file:
    /usr/share/enigma2/MetrixHD/skinparts/SKINPARTS_NAME/(file) -> ../../skinparts/skinpack-name/SKINPARTS_NAME/(file)

For other skins, AtileHD creates symblic links:
    /usr/share/enigma2/SKIN_NAME/skinparts/SKINPARTS_NAME -> ../../skinparts/skinpack-name/SKINPARTS_NAME
    /usr/share/enigma2/SKIN_NAME/allScreens/skin_SKINPARTS_NAME.xml -> ../../skinparts/skinpack-name/SKINPARTS_NAME/SKINPARTS_NAME_Atile.xml