From 3a09bafd13b71116522513e54a46d07c3d8ae050 Mon Sep 17 00:00:00 2001 From: RAED Date: Mon, 4 May 2026 13:14:08 +0300 Subject: [PATCH 1/4] Add files via upload --- .../python/Plugins/Extensions/ArabicSavior/keymap.xml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/keymap.xml diff --git a/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/keymap.xml b/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/keymap.xml new file mode 100644 index 0000000..1f88dd0 --- /dev/null +++ b/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/keymap.xml @@ -0,0 +1,5 @@ + + + + + From 3616c179f8091bdcb845a0302121b08daa6dc8bf Mon Sep 17 00:00:00 2001 From: RAED Date: Mon, 4 May 2026 13:14:26 +0300 Subject: [PATCH 2/4] Update version --- usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/version b/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/version index 0cd524f..c7a20a0 100644 --- a/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/version +++ b/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/version @@ -1,3 +1,3 @@ # هذا بلجن المنقذ العربي من عمل المرحوم الدكتور محمود فرج (mfaraj57) ومن تحديثات رائد (fairbird) # لمزيد من الدعم زوروا (www.tunisia-sat.com) -version=2.3 +version=2.4 From 1449f670755601ce136adf8eac56e6d32f78ffc4 Mon Sep 17 00:00:00 2001 From: RAED Date: Mon, 4 May 2026 13:15:06 +0300 Subject: [PATCH 3/4] Update plugin.py --- .../Plugins/Extensions/ArabicSavior/plugin.py | 64 ++++++++++++++++--- 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/plugin.py b/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/plugin.py index dea796c..19520fd 100644 --- a/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/plugin.py +++ b/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/plugin.py @@ -12,12 +12,18 @@ from enigma import getDesktop, addFont from Components.Sources.StaticText import StaticText from Components.ActionMap import ActionMap +from GlobalActions import globalActionMap from Tools.Directories import resolveFilename, SCOPE_PLUGINS from os import path as os_path, remove as os_remove, listdir as os_listdir from twisted.web.client import getPage, error from .compat import PY3 from .Console import Console +try: + from keymapparser import readKeymap +except: + from Components.ActionMap import loadKeymap as readKeymap + PLUGINPATH = resolveFilename(SCOPE_PLUGINS, "Extensions/ArabicSavior") def trace_error(): @@ -92,6 +98,27 @@ def getversioninfo(): config.ArabicSavior.active = ConfigEnableDisable(default=True) config.ArabicSavior.updateonline = ConfigYesNo(default=True) config.ArabicSavior.fonts = ConfigSelection(default=DEFAULTFont, choices=fonts) +config.ArabicSavior.keyname_enable = ConfigYesNo(default=False) +config.ArabicSavior.keyname = ConfigSelection(default = "KEY_TEXT", choices = [ + ("KEY_TEXT", _("TEXT")), + ("KEY_TV", _("TV")), + ("KEY_RADIO", _("RADIO")), + ("KEY_OK", _("OK")), + ("KEY_HELP", _("HELP")), + ("KEY_INFO", _("INFO")), + ("KEY_RED", _("RED")), + ("KEY_GREEN", _("GREEN")), + ("KEY_BLUE", _("BLUE")), + ("KEY_VIDEO", _("PVR")), + ("KEY_HOMEPAGE", _("HOMEPAGE")), + ("KEY_0", _("0")), + ("KEY_1", _("1")), + ("KEY_2", _("2")), + ("KEY_3", _("3")), + ("KEY_F1", _("f1")), + ("KEY_F2", _("f2")), + ("KEY_F3", _("f3")) + ]) FONTSTYPE = config.ArabicSavior.fonts.value @@ -117,7 +144,7 @@ class ArabicSaviorSetup(ConfigListScreen, Screen): skin=""" - + @@ -130,7 +157,7 @@ class ArabicSaviorSetup(ConfigListScreen, Screen): skin=""" - + @@ -160,6 +187,7 @@ def __init__(self, session): }, -1) self.set_active_value = config.ArabicSavior.active.value + self.set_keyname_value = config.ArabicSavior.keyname.value self.set_fonts_value = config.ArabicSavior.fonts.value self.new_version = VER @@ -178,11 +206,16 @@ def createConfigList(self): self.configChanged = True self.set_active = getConfigListEntry(_(":تفعيل وتعطيل المنقذ العربي"), config.ArabicSavior.active) self.set_updateonline = getConfigListEntry(_(":تفعيل وتعطيل خاصية التحديث المباشر"), config.ArabicSavior.updateonline) + self.set_keyname_enable = getConfigListEntry(_(":تفعيل وتعطيل خاصية الزر السريع"), config.ArabicSavior.keyname_enable) + self.set_keyname = getConfigListEntry(_(":إختيار الزر السريع لتفعيل المنقذ العربي"), config.ArabicSavior.keyname) self.set_fonts = getConfigListEntry(_(":اختيار نوع الخط"), config.ArabicSavior.fonts) list = [] list.append(self.set_active) list.append(self.set_updateonline) + list.append(self.set_keyname_enable) + if config.ArabicSavior.keyname_enable.value: + list.append(self.set_keyname) list.append(self.set_fonts) self["config"].list = list @@ -234,7 +267,19 @@ def keySave(self): logdata("activate: arabic font added successfully") except Exception as error: logdata("activate:", error) - if self.set_active_value != config.ArabicSavior.active.value or self.set_fonts_value != config.ArabicSavior.fonts.value: + try: + if os_path.exists("/usr/lib64/enigma2/python/Plugins/Extensions/ArabicSavior/keymap.xml"): + keymap_path = "/usr/lib64/enigma2/python/Plugins/Extensions/ArabicSavior/keymap.xml" + else: + keymap_path = "/usr/lib/enigma2/python/Plugins/Extensions/ArabicSavior/keymap.xml" + keyfile = open(keymap_path, "w") + keyfile.write('\n\t\n\t\t\n\t\n' % config.ArabicSavior.keyname.value) + keyfile.close() + except Exception as error: + logdata("keySave keymap error:", error) + if self.set_active_value != config.ArabicSavior.active.value or \ + self.set_fonts_value != config.ArabicSavior.fonts.value or \ + self.set_keyname_value != config.ArabicSavior.keyname.value: self.session.openWithCallback(self.restart, MessageBox, _("تم تغيير الإعدادات ، هل تريد إعادة تشغيل الانجيما الآن؟")) else: self.close(True) @@ -288,7 +333,7 @@ def install(self, answer = False): except: trace_error() - def myCallback(self, result = None): + def myCallback(self,result): return def main(session, **kwargs): @@ -312,11 +357,14 @@ def panic(session, **kwargs): logdata("panic:", error) session.open(MessageBox, _("حدث خطأ أثناء التفعيل السريع"), MessageBox.TYPE_ERROR, timeout=4) -def sessionstart(reason, **kwargs): +def sessionstart(reason, session=None, **kwargs): if reason == 0: - if config.ArabicSavior.active.value == False: - pass - else: + if session is not None: + if config.ArabicSavior.keyname_enable.value: + keymap = resolveFilename(SCOPE_PLUGINS, "Extensions/ArabicSavior/keymap.xml") + readKeymap(keymap) + globalActionMap.actions['ArabicSavior'] = lambda: panic(session) + if config.ArabicSavior.active.value: try: addFont(FONTSTYPE, "ArabicFont", 100, 1) logdata("activate: arabic font added successfully") From 5b85edcbf60440b6a068ce1f306c543a8d50d32d Mon Sep 17 00:00:00 2001 From: RAED Date: Mon, 4 May 2026 13:15:26 +0300 Subject: [PATCH 4/4] Update version number to 2.4 in installer.sh --- installer.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.sh b/installer.sh index f33e30c..3694263 100644 --- a/installer.sh +++ b/installer.sh @@ -1,7 +1,7 @@ #!/bin/bash ######### Only These two lines to edit with new version ##### -version=2.3 +version=2.4 ############################################################# # remove old version