Plugins im Hauptmenü und Systemmenü anzeigen

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Plugins im Hauptmenü und Systemmenü anzeigen

      Hi zusammen,

      ich habe mal ein bissl was probiert.
      Und zwar kann man ein Plugin auch an diversen anderen Stellen anzeigen lassen.
      Standardmäßig findet man es ja nach der Installation in "Spiele/Erweiterungen"

      Hier mal ein paar Beispiele, wie die verschiedenen Möglichkeiten aussehen könnten. Wir nehmen als Beispiel mal ein Menü-Plugin:

      Plugin im Hauptmenü:

      PHP Source Code

      1. ## Begin Plugindescription
      2. def startmain(session, **kwargs):
      3. session.open(menu)
      4. def main(menuid):
      5. if menuid == "mainmenu":
      6. return [("Extra Menu", startmain)]
      7. else:
      8. return []
      9. def Plugins(path, **kwargs):
      10. global plugin_path
      11. plugin_path = path
      12. return PluginDescriptor(
      13. name="Extensionsmenu",
      14. where = PluginDescriptor.WHERE_SETUP,
      15. description=_(""),
      16. icon="",
      17. fnc = main
      18. )
      Display All


      Plugin im Systemmenü:

      PHP Source Code

      1. ## Begin Plugindescription
      2. def startmain(session, **kwargs):
      3. session.open(menu)
      4. def main(menuid):
      5. if menuid == "system":
      6. return [("Extra Menu", startmain)]
      7. else:
      8. return []
      9. def Plugins(path, **kwargs):
      10. global plugin_path
      11. plugin_path = path
      12. return PluginDescriptor(
      13. name="Extensionsmenu",
      14. where = PluginDescriptor.WHERE_SETUP,
      15. description=_(""),
      16. icon="",
      17. fnc = main
      18. )
      Display All


      Plugin unter der blauen Taste:

      PHP Source Code

      1. ## Begin Plugindescription
      2. def main(session, **kwargs):
      3. session.open(menu)
      4. def Plugins(path, **kwargs):
      5. global plugin_path
      6. plugin_path = path
      7. return PluginDescriptor(
      8. name="Extensionsmenu",
      9. where = PluginDescriptor.WHERE_EXTENSIONSMENU,
      10. description=_(""),
      11. icon="",
      12. fnc = main
      13. )
      Display All


      Plugin unter "Spiele/Erweiterungen":

      PHP Source Code

      1. ## Begin Plugindescription
      2. def main(session, **kwargs):
      3. session.open(menu)
      4. def Plugins(path, **kwargs):
      5. global plugin_path
      6. plugin_path = path
      7. return PluginDescriptor(
      8. name="Extensionsmenu",
      9. where = PluginDescriptor.WHERE_PLUGINMENU,
      10. description=_(""),
      11. icon="",
      12. fnc = main
      13. )
      Display All

      The post was edited 2 times, last by simatec ().

    • Iche mochte in Systemmenu der Tuxcommander Plugin....

      Source Code

      1. def startmain(session, **kwargs):
      2. session.open(TuxComStarter)
      3. def main(menuid):
      4. if menuid == "system":
      5. return [("Extra Menu", startmain)]
      6. else:
      7. return []
      8. def Plugins(**kwargs):
      9. return PluginDescriptor(name="TuxCom", description="TuxBox Commander", where = PluginDescriptor.WHERE_SETUP, fnc=main)
      Display All




      Ich habe error mit WHERE_SETUP (leide auch mit WHERE_MENU)

      danke
      gibran

      The post was edited 1 time, last by gibran ().

    • Alles OK

      Plugin im Hauptmenü:

      Source Code

      1. def main(session, **kwargs):
      2. session.open(TuxComStarter)
      3. def menu(menuid, **kwargs):
      4. if menuid == "mainmenu":
      5. return [(_("TuxCom"), main, "TuxCom", 45)]
      6. return []
      7. def Plugins(**kwargs):
      8. return PluginDescriptor(name="TuxCom", description="TuxBox Commander", where = PluginDescriptor.WHERE_MENU, fnc = menu)


      Plugin im Systemmenü:

      Source Code

      1. def main(session, **kwargs):
      2. session.open(TuxComStarter)
      3. def menu(menuid, **kwargs):
      4. if menuid == "system":
      5. return [(_("TuxCom"), main, "TuxCom", None)]
      6. return []
      7. def Plugins(**kwargs):
      8. return PluginDescriptor(name="TuxCom", description="TuxBox Commander", where = PluginDescriptor.WHERE_MENU, fnc = menu)


      gibran
    • wie kann ich ein Script damit starten?

      Würde gerne ein Eintrag im Menü haben und wenn ich dort drauf klicke soll ein script starten.

      Source Code

      1. from Plugins.Plugin import PluginDescriptor
      2. from Screens.Console import Console
      3. cmd = "/usr/sbin/test.sh"
      4. def main(session, **kwargs):
      5. session.open(Console,_("test.sh"),[cmd])
      6. def Plugins(**kwargs):
      7. return [PluginDescriptor(name="Script-Updating", description=_("execute /usr/sbin/test.sh"), where = PluginDescriptor.WHERE_MENU, fnc=menu)]
    • mit dem Script Executer kann das mühsam werden, bis man sich bis zum entsprechende Script "durchgegklickt" hat, einfacher ist es, das Plugin im Erweiterungs Menu auftauchen zu lassen und dann per Quickbutten auf eine Farbtaste LANG zu legen, dann kann man es per "one click" ausführen ..

      Für den Menü Eintrag kann man das DVDPlayer Plugin, den Mediaplayer oder den Webbrowser als Vorlage nehmen, da wird der Menüeintrag in der plugin.py definiert. Ich hatte ich da auch mal damit rumgespielt. Im Beispiel auch der Eintrag unter System, einmal mit und einmal ohne Leerzeichen im Namen des Menu Eintrages sowie Beispiel Einsortierung "alphabetisch" oder "immer oben"

      könnte dann etwa so aussehen (nicht benötigtes rauslöschen):

      Source Code

      1. from Plugins.Plugin import PluginDescriptor
      2. from Screens.Console import Console
      3. cmd = "/usr/sbin/test.sh"
      4. def main(session, **kwargs):
      5. session.open(Console,_("test.sh"),[cmd])
      6. ## Eintrag im Hauptmenue
      7. def addtomenu(menuid, **kwargs):
      8. if menuid == "mainmenu":
      9. return [(_("Script Updating"), main,"script_updating", 45)] ## 45 = 2. Eintrag im Menue (default: Webbrowser und Mediaplayer), 46 = 3. Eintrag (default: DVD Player), wenn Mediaplay und Browser installiert
      10. else: ## wenn es ein Plugin mit "45" gibt (Webbrowser, Mediaplayer), alphabetische Einsortierung der plugins mit menuid "45"
      11. return [] ## 47 = 4 Eintrag, wenn Mediaplayer, Webbrowser und DVD Player installiert sind, wenn nicht rutscht der Eintrag entsprechend hoeher ..
      12. ## Eintrag im Systemmenue
      13. def addtosystem(menuid, **kwargs):
      14. if menuid == "system":
      15. return [(_("Script-Updating"), main,"script-updating", None)] ## None = Menueeintrag in alphabetischer Reihenfolge einsortiert
      16. else: ## Script Updating waere dann womoeglich auf der 2. Seite bzw. als letzer Eintrag
      17. return [] ## im System Menu kann auch mit id 45, 46 etc der Eintrag priorisiert werden
      18. def Plugins(**kwargs):
      19. return [
      20. ## Eintrag unter MENU
      21. PluginDescriptor(name="Script Updating", where = PluginDescriptor.WHERE_MENU, fnc=addtomenu),
      22. ## Eintrag unter SYSTEM
      23. PluginDescriptor(name="Script-Updating", where=PluginDescriptor.WHERE_MENU, fnc=addtosystem),
      24. ## Eintrag unter Erweiterungen
      25. PluginDescriptor(name=_("Script-Updating"), description=_("execute /usr/sbin/test.sh"), where=PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
      26. ## Eintrag im Userpanel (blaue Taste)
      27. PluginDescriptor(name=_("Script-Updating"), description=_("execute /usr/sbin/test.sh"), where=PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)
      28. ]
      Display All


      die plugin.py für einen Eintrag nur im Hauptmenü an 1.Stelle (id = 44) - also soweit wie möglich oben einsortiert

      Source Code

      1. from Plugins.Plugin import PluginDescriptor
      2. from Screens.Console import Console
      3. cmd = "/usr/sbin/test.sh"
      4. def main(session, **kwargs):
      5. session.open(Console,_("test.sh"),[cmd])
      6. def addtomenu(menuid, **kwargs):
      7. if menuid == "mainmenu":
      8. return [(_("Script Updating"), main,"script_updating", 44)]
      9. else:
      10. return []
      11. def Plugins(**kwargs):
      12. return [PluginDescriptor(name="Script Updating", where = PluginDescriptor.WHERE_MENU, fnc=addtomenu)]
      Display All
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      The post was edited 4 times, last by Fred Bogus Trumper ().

    • Habe es seit längerem schon im Einsatz um ein Script zu starten.
      Versuche eine Abfrage einzubauen bin mit python nicht vertraut und komme nicht klar.
      Kann mir jemand eine Abfrage ja/nein einbauen. Nein automatisch gesetzt und bei ja soll das Script gestartet werden?
    • man muss eine Klasse mit einem Screen einbauen

      Ich habe so etwas für OE2.5 für mich gefrickelt und ich vermute, dass das nicht ohne Anpasssung im OE2.0 funktioniert wird. ich müsste meine alte dm800se ausgraben, wenn du das für die dm500hd lt. deinem Profil benötigst. Ich weiß aber nicht ob ich Lust dazu habe zudem ich alles andere als ein Pythonprogrammierer bin

      sieh dir mal @gutemines Benutzerscript an, damit kann man soweit ich weiß das Script mit einer Abfrage starten
      allerdings musst die wie beim Script Executer Plugin durchklicken

      aber zur Zeit ist das OoZooN Board offline von dem man das akutelle plugin downloaden kann
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox