some modifications to xdg-autostart based on suggestions from the PyXDG maintainer
authorDana Jansens <danakj@orodu.net>
Sun, 2 Mar 2008 15:45:28 +0000 (10:45 -0500)
committerDana Jansens <danakj@orodu.net>
Sun, 2 Mar 2008 16:08:57 +0000 (11:08 -0500)
tools/xdg-autostart/Makefile [new file with mode: 0644]
tools/xdg-autostart/xdg-autostart

diff --git a/tools/xdg-autostart/Makefile b/tools/xdg-autostart/Makefile
new file mode 100644 (file)
index 0000000..cfc4653
--- /dev/null
@@ -0,0 +1,4 @@
+all clean install:
+       $(MAKE) -C ../.. -$(MAKEFLAGS) $@
+
+.PHONY: all clean install
index 95ee5f5..7648d8c 100755 (executable)
@@ -64,7 +64,7 @@ def main(argv=sys.argv):
     # run them !
     environments = argv[1:]
     for autofile in files:
-        if list: autofile.list(environments)
+        if list: autofile.display(environments)
         else: autofile.run(environments)
 
 class AutostartFile:
@@ -80,10 +80,10 @@ class AutostartFile:
     def __str__(self):
         return self.path + " : " + self.de.getName()
 
-    def isexecfile(path):
+    def _isexecfile(path):
         return os.access(path, os.X_OK)
 
-    def findFile(self, path, search, match_func):
+    def _findFile(self, path, search, match_func):
         # check empty path
         if not path: return None
         # check absolute path
@@ -96,13 +96,13 @@ class AutostartFile:
                     candidate = os.path.join(dirname, path)
                     if (match_func(candidate)): return candidate
 
-    def alert(self, str, info=False):
+    def _alert(self, str, info=False):
         if info:
             print "\t ", str
         else:
             print "\t*", str
 
-    def showInEnvironment(self, envs, verbose=False):
+    def _showInEnvironment(self, envs, verbose=False):
         default = not self.de.getOnlyShowIn()
         noshow = False
         force = False
@@ -117,49 +117,48 @@ class AutostartFile:
                 for i in self.de.getOnlyShowIn():
                     if s: s += ", "
                     s += i
-                self.alert("Excluded by: OnlyShowIn (" + s + ")")
+                self._alert("Excluded by: OnlyShowIn (" + s + ")")
             if default and noshow and not force:
                 s = ""
                 for i in self.de.getOnlyShowIn():
                     if s: s += ", "
                     s += i
-                self.alert("Excluded by: NotShowIn (" + s + ")")
+                self._alert("Excluded by: NotShowIn (" + s + ")")
         return (default and not noshow) or force
 
-    def shouldRun(self, envs, verbose=False):
+    def _shouldRun(self, envs, verbose=False):
         if not self.de.getExec():
-            if verbose: self.alert("Excluded by: Missing Exec field")
+            if verbose: self._alert("Excluded by: Missing Exec field")
             return False
         if self.de.getHidden():
-            if verbose: self.alert("Excluded by: Hidden")
+            if verbose: self._alert("Excluded by: Hidden")
             return False
         if self.de.getTryExec():
-            if not self.findFile(self.de.getTryExec(), os.getenv("PATH"),
-                                 self.isexecfile):
-                if verbose: self.alert("Excluded by: TryExec (" +
-                                          self.de.getTryExec() + ")")
+            if not self._findFile(self.de.getTryExec(), os.getenv("PATH"),
+                                  self._isexecfile):
+                if verbose: self._alert("Excluded by: TryExec (" +
+                                        self.de.getTryExec() + ")")
                 return False
-        if not self.showInEnvironment(envs, verbose):
+        if not self._showInEnvironment(envs, verbose):
             return False
         return True
 
-    def list(self, envs):
-        running = False
-        if self.shouldRun(envs):
+    def display(self, envs):
+        if self._shouldRun(envs):
             print "[*] " + self.de.getName()
         else:
             print "[ ] " + self.de.getName()
-        self.alert("File: " + self.path, info=True)
+        self._alert("File: " + self.path, info=True)
         if self.de.getExec():
-            self.alert("Executes: " + self.de.getExec(), info=True)
-        self.shouldRun(envs, True)
+            self._alert("Executes: " + self.de.getExec(), info=True)
+        self._shouldRun(envs, True)
         print
 
     def run(self, envs):
         here = os.getcwd()
         if self.de.getPath():
             os.chdir(self.de.getPath())
-        if self.shouldRun(envs):
+        if self._shouldRun(envs):
             args = ["/bin/sh", "-c", "exec " + self.de.getExec()]
             os.spawnv(os.P_NOWAIT, args[0], args);
         os.chdir(here)