Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions lib/python/skin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
import xml.etree.ElementTree

from enigma import addFont, eLabel, ePixmap, ePoint, eRect, eSize, eWidget, eWindow, eWindowStyleManager, eWindowStyleSkinned, getDesktop, gFont, getFontFaces, gRGB, BT_ALPHATEST, BT_ALPHABLEND, BT_HALIGN_CENTER, BT_HALIGN_LEFT, BT_HALIGN_RIGHT, BT_KEEP_ASPECT_RATIO, BT_SCALE, BT_VALIGN_BOTTOM, BT_VALIGN_CENTER, BT_VALIGN_TOP
from os.path import basename, dirname, isfile
from os.path import basename, dirname, isdir, isfile, join
from os import listdir

from Components.config import ConfigSubsection, ConfigText, config
from Components.RcModel import rc_model
from Components.Sources.Source import ObsoleteSource
from Components.SystemInfo import BoxInfo
from Tools.Directories import SCOPE_CURRENT_LCDSKIN, SCOPE_CURRENT_SKIN, SCOPE_FONTS, SCOPE_SKIN, resolveFilename
from Tools.Directories import SCOPE_CURRENT_LCDSKIN, SCOPE_CONFIG, SCOPE_CURRENT_SKIN, SCOPE_FONTS, SCOPE_SKIN, resolveFilename
from Tools.Import import my_import
from Tools.LoadPixmap import LoadPixmap

Expand Down Expand Up @@ -99,6 +100,14 @@ def InitSkins():
break
print("[Skin] Error: Adding %s GUI skin '%s' has failed!" % (name, config.skin.primary_skin.value))
result.append(skin)
# Check for skin related xml additions provided by third parties, such as plugins.
# Check for these in /etc/enigma2/<SkinName>/*.xml.
# Files should have clear, unique names like plugin_xyz_skin.xml.
if isdir(userFolder := join(resolveFilename(SCOPE_CONFIG), dirname(config.skin.primary_skin.value))):
for file in listdir(userFolder):
if file.lower().endswith(".xml"):
loadSkin(join(dirname(config.skin.primary_skin.value), file), scope=SCOPE_CONFIG, desktop=getDesktop(GUI_SKIN_ID), screenID=GUI_SKIN_ID)

# Add an optional skin related user skin "user_skin_<SkinName>.xml". If there is
# not a skin related user skin then try to add am optional generic user skin.
result = None
Expand Down
Loading