diff --git a/Menu/GameShell/10_Settings/Update/__init__.py b/Menu/GameShell/10_Settings/Update/__init__.py index 3e3ed8b..4ab12fe 100644 --- a/Menu/GameShell/10_Settings/Update/__init__.py +++ b/Menu/GameShell/10_Settings/Update/__init__.py @@ -9,7 +9,7 @@ import gobject ## local UI import from UI.page import Page -from UI.constants import ICON_TYPES,Width,Height,RUNEVT +from UI.constants import ICON_TYPES,Width,Height,RUNEVT,RUNSH from UI.icon_item import IconItem from UI.icon_pool import MyIconPool from UI.label import Label @@ -118,8 +118,8 @@ class UpdateConfirmPage(ConfirmPage): if event.key == CurKeys["B"]: if self._GIT == True: - cmdpath = "feh --bg-center %s/sys.py/gameshell/wallpaper/updating.png; cd %s ;git pull; git reset --hard %s ; feh --bg-center %s/sys.py/gameshell/wallpaper/loading.png " % (LauncherLoc,LauncherLoc,self._Version,LauncherLoc) - pygame.event.post( pygame.event.Event(RUNEVT, message=cmdpath)) + cmdpath = "%s/update.sh %s" % (LauncherLoc,self._Version) + pygame.event.post( pygame.event.Event(RUNSH, message=cmdpath)) self._GIT = False return diff --git a/sys.py/UI/constants.py b/sys.py/UI/constants.py index 6aab244..a9b1c1e 100644 --- a/sys.py/UI/constants.py +++ b/sys.py/UI/constants.py @@ -37,10 +37,10 @@ DT = pygame.time.Clock().tick(30) # fps in ms,eg:50 GMEVT = pygame.USEREVENT+1 update_titlebar_event = pygame.event.Event(GMEVT, message="titlebar") -RUNEVT = pygame.USEREVENT+2 -RUNSYS = pygame.USEREVENT+3 -LOWLIGHT = pygame.USEREVENT+4 ## when dim screen backlight -FOOTMSG = pygame.USEREVENT+5 ## -POWEROPT = pygame.USEREVENT+6 -RESTARTUI = pygame.USEREVENT+7 ##restart launcher - +RUNEVT = pygame.USEREVENT+2 +RUNSYS = pygame.USEREVENT+3 +LOWLIGHT = pygame.USEREVENT+4 ## when dim screen backlight +FOOTMSG = pygame.USEREVENT+5 ## +POWEROPT = pygame.USEREVENT+6 +RESTARTUI = pygame.USEREVENT+7 ##restart launcher +RUNSH = pygame.USEREVENT+8 diff --git a/sys.py/run.py b/sys.py/run.py index 33c6c98..e57cec8 100644 --- a/sys.py/run.py +++ b/sys.py/run.py @@ -31,7 +31,7 @@ else: #local UI import -from UI.constants import Width,Height,bg_color,icon_width,icon_height,DT,GMEVT,RUNEVT,RUNSYS,ICON_TYPES,POWEROPT,RESTARTUI +from UI.constants import Width,Height,bg_color,icon_width,icon_height,DT,GMEVT,RUNEVT,RUNSYS,ICON_TYPES,POWEROPT,RESTARTUI,RUNSH from UI.util_funcs import ReplaceSuffix,FileExists, ReadTheFileContent,midRect,color_surface,SwapAndShow,GetExePath,X_center_mouse from UI.page import PageStack,PageSelector,Page from UI.label import Label @@ -353,6 +353,13 @@ def event_process(event,main_screen): os.chdir( GetExePath()) os.exelp("python","python"," "+myscriptname) return + if event.type == RUNSH: + pygame.quit() + gobject_main_loop.quit() + exec_app_cmd = event.message +";" + os.execlp("/bin/sh","/bin/sh","-c", exec_app_cmd) + sys.exit(-1) + return if event.type == POWEROPT: everytime_keydown = time.time() diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..43a3a6e --- /dev/null +++ b/update.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +cd /home/cpi/launcher +feh --bg-center /home/cpi/launcher/sys.py/gameshell/wallpaper/updating.png +git pull +git reset --hard $1 +feh --bg-center /home/cpi/launcher/sys.py/gameshell/wallpaper/loading.png +./load.sh +