]> git.phdru.name Git - xsetbg.git/blobdiff - xsetbg.py
Removed last traces of ReadyExec.
[xsetbg.git] / xsetbg.py
index 86462dda4da085b847d3210a4a2793037e1ab892..930a65fbf4719130c1bc2de59c1b4b5fb4ef44b1 100755 (executable)
--- a/xsetbg.py
+++ b/xsetbg.py
@@ -27,7 +27,7 @@ def error(error_str, error_code=1):
 
 from ConfigParser import SafeConfigParser
 
-xsetbg_dir = os.path.join(os.environ["HOME"], "lib", "xsetbg")
+xsetbg_dir = os.path.dirname(os.path.abspath(__file__))
 os.chdir(xsetbg_dir)
 
 config = SafeConfigParser()
@@ -107,9 +107,7 @@ import anydbm, shelve
 from time import time
 from fcntl import flock, LOCK_EX, LOCK_UN, LOCK_NB
 
-# Import pickle and all anydbm/shelve internal machinery, so that
-# when ReadyExec forks they will be ready.
-# Also create the database if it is not exists yet.
+# Create the database if it is not exists yet.
 
 try:
    global_db = shelve.open(global_db_name, flag='c')
@@ -194,6 +192,14 @@ def ping(force=False):
          global_db[old_filename_key] = global_db[filename_key]
       global_db[filename_key] = image_name
 
+      program_options = ["xli", "-onroot", "-quiet"] + \
+         ["-center", "-border", random.choice(borders), "-zoom", "auto",
+            image_name]
+
+      rc = subprocess.call(program_options)
+      if rc:
+         error("cannot execute xli!")
+
    finally:
       # Unlock and close the lock file
       flock(lock_file, LOCK_UN)
@@ -201,14 +207,6 @@ def ping(force=False):
       # Flush and close the global persistent dictionary
       if global_db: global_db.close()
 
-   program_options = ["xli", "-onroot", "-quiet"] + \
-      ["-center", "-border", random.choice(borders), "-zoom", "auto",
-         image_name]
-
-   rc = subprocess.call(program_options)
-   if rc:
-      error("cannot execute xli!")
-
 @published
 def force():
     ping(force=True)
@@ -256,5 +254,6 @@ def app(env, start_response):
     start_response(status, response_headers)
     return ['Ok\n']
 
+force()
 httpd = make_server(host, port, app, server_class=QuitWSGIServer)
 httpd.serve_forever()