Browse Source

use realpath on CmdPath of EXE Icons

cuu 5 years ago
parent
commit
1109d67c16
2 changed files with 7 additions and 5 deletions
  1. 3 3
      sys.py/UI/main_screen.py
  2. 4 2
      sys.py/run.py

+ 3 - 3
sys.py/UI/main_screen.py

@@ -472,7 +472,7 @@ class MainScreen(object):
 
                     elif self.IsExecPackage(_dir+"/"+i):
                         iconitem._MyType  = ICON_TYPES["EXE"]                        
-                        iconitem._CmdPath = _dir+"/"+i+"/"+i2+".sh"
+                        iconitem._CmdPath = os.path.realpath(_dir+"/"+i+"/"+i2+".sh")
                         MakeExecutable(iconitem._CmdPath)
                         cur_page._Icons.append(iconitem)
                     else:                            
@@ -488,7 +488,7 @@ class MainScreen(object):
                     
                     #cmd      =  ReadTheFileContent(_dir+"/"+i)
                     iconitem = IconItem()
-                    iconitem._CmdPath = _dir+"/"+i
+                    iconitem._CmdPath = os.path.realpath(_dir+"/"+i)
                     MakeExecutable(iconitem._CmdPath)
                     iconitem._MyType  = ICON_TYPES["EXE"]
                     if FileExists( SkinMap( _dir+"/"+ReplaceSuffix(i2,"png"))):
@@ -517,7 +517,7 @@ class MainScreen(object):
         pygame.time.delay(1000)
         cmdpath = cmdpath.strip()
         cmdpath = CmdClean(cmdpath)
-
+                
         pygame.event.post( pygame.event.Event(RUNEVT, message=cmdpath))
 
     def OnExitCb(self,event):

+ 4 - 2
sys.py/run.py

@@ -284,7 +284,8 @@ def event_process(event,main_screen):
                 pygame.quit()
                 gobject_main_loop.quit()
                 os.chdir( GetExePath())
-                exec_app_cmd = event.message
+                exec_app_cmd = "cd "+os.path.dirname(event.message)+";"
+                exec_app_cmd += event.message
                 exec_app_cmd += "; sync & cd "+GetExePath()+"; exec python "+myscriptname
                 print(exec_app_cmd)
                 os.execlp("/bin/sh","/bin/sh","-c", exec_app_cmd)
@@ -301,7 +302,8 @@ def event_process(event,main_screen):
                 pygame.quit()
                 gobject_main_loop.quit()
                 os.chdir( GetExePath())
-                exec_app_cmd = event.message
+                exec_app_cmd = "cd "+os.path.dirname(event.message)+";" 
+                exec_app_cmd += event.message
                 exec_app_cmd += "; sync & cd "+GetExePath()+"; exec python "+myscriptname
                 print(exec_app_cmd)
                 os.execlp("/bin/sh","/bin/sh","-c", exec_app_cmd)