X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=xsetbg.py;h=930a65fbf4719130c1bc2de59c1b4b5fb4ef44b1;hb=52529b9239d2bad82b9b65ac3e77e2d327136aed;hp=c57e56af2447a554a9936e6d5fd119f2d1eb3da4;hpb=c60f3eedbf9451dea7e6f505d8795d6da25164f7;p=xsetbg.git diff --git a/xsetbg.py b/xsetbg.py index c57e56a..930a65f 100755 --- a/xsetbg.py +++ b/xsetbg.py @@ -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()