Merge branch 'cwd-fix' of https://github.com/xwizard/mintmenu into xwizard-cwd-fix
Conflicts: usr/lib/linuxmint/mintMenu/plugins/execute.py
This commit is contained in:
commit
0211675202
@ -299,6 +299,7 @@ class ApplicationLauncher( easyButton ):
|
||||
self.appCategories = desktopItem.getCategories()
|
||||
self.appGnomeDocPath = desktopItem.get( "X-MATE-DocPath" ) or ""
|
||||
self.useTerminal = desktopItem.getTerminal()
|
||||
self.appPath = desktopItem.getPath()
|
||||
|
||||
if not self.appGnomeDocPath:
|
||||
self.appKdeDocPath = desktopItem.getDocPath() or ""
|
||||
@ -384,9 +385,9 @@ class ApplicationLauncher( easyButton ):
|
||||
if self.appExec:
|
||||
if self.useTerminal:
|
||||
cmd = "x-terminal-emulator -e \"" + self.appExec + "\""
|
||||
Execute(cmd)
|
||||
Execute(cmd, self.appPath)
|
||||
else:
|
||||
Execute(self.appExec)
|
||||
Execute(self.appExec, self.appPath)
|
||||
|
||||
def uninstall (self, *args ):
|
||||
Execute("gksu /usr/lib/linuxmint/mintMenu/mintRemove.py " + self.desktopFile)
|
||||
|
@ -13,16 +13,25 @@ def RemoveArgs(Execline):
|
||||
return NewExecline
|
||||
|
||||
# Actually execute the command
|
||||
def Execute( cmd ):
|
||||
def Execute( cmd , commandCwd=None):
|
||||
if not commandCwd:
|
||||
cwd = os.path.expanduser( "~" );
|
||||
else:
|
||||
tmpCwd = os.path.expanduser( commandCwd );
|
||||
if (os.path.exists(tmpCwd)):
|
||||
cwd = tmpCwd
|
||||
|
||||
if isinstance( cmd, str ) or isinstance( cmd, unicode):
|
||||
if (cmd.find("/home/") >= 0) or (cmd.find("su-to-root") >= 0) or (cmd.find("\"") >= 0):
|
||||
print "running manually..."
|
||||
os.chdir(cwd)
|
||||
os.system(cmd + " &")
|
||||
return True
|
||||
cmd = cmd.split()
|
||||
cmd = RemoveArgs(cmd)
|
||||
|
||||
try:
|
||||
os.chdir( os.path.expanduser( "~" ) )
|
||||
os.chdir( cwd )
|
||||
subprocess.Popen( cmd )
|
||||
return True
|
||||
except Exception, detail:
|
||||
|
Loading…
Reference in New Issue
Block a user