]> git.phdru.name Git - xsetbg.git/blobdiff - xsetbg.py
Display an image at the start.
[xsetbg.git] / xsetbg.py
index 717d50773255824df51b06c844e99ab948e4cc28..d3336ade1a3631a0ac630f6d16de26100209b6c8 100755 (executable)
--- a/xsetbg.py
+++ b/xsetbg.py
@@ -12,7 +12,7 @@ __revision__ = "$Id$"[5:-2]
 __date__ = "$Date$"[7:-2]
 
 __author__ = "Oleg Broytman <phd@phd.pp.ru>"
-__copyright__ = "Copyright (C) 2000-2009 PhiloSoft Design"
+__copyright__ = "Copyright (C) 2000-2010 PhiloSoft Design"
 __license__ = "GNU GPL"
 
 
@@ -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()
@@ -194,6 +194,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 +209,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 +256,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()