make xdg-autostart check for PyXDG and print a better error than a backtrace. and make the executing actually work
Dana Jansens danakj@orodu.net
1 files changed,
11 insertions(+),
5 deletions(-)
M
tools/xdg-autostart/xdg-autostart
→
tools/xdg-autostart/xdg-autostart
@@ -22,10 +22,16 @@
ME="xdg-autostart" VERSION="1.0" -from xdg import BaseDirectory -from xdg.DesktopEntry import DesktopEntry -from xdg.Exceptions import ParsingError import os, glob, sys +try: + from xdg import BaseDirectory + from xdg.DesktopEntry import DesktopEntry + from xdg.Exceptions import ParsingError +except ImportError: + print + print "ERROR:", ME, "requires PyXDG to be installed" + print + sys.exit(1) def main(argv=sys.argv): if "--help" in argv[1:]:@@ -154,8 +160,8 @@ here = os.getcwd()
if self.de.getPath(): os.chdir(self.de.getPath()) if self.shouldRun(envs): - print "Running autostart file: " + self.path - os.system(self.de.getExec()); + args = ["/bin/sh", "-c", "exec " + self.de.getExec()] + os.spawnv(os.P_NOWAIT, args[0], args); os.chdir(here) def show_help():