[xsetbg]
min_pause = 60 ; minimum time in seconds between background image changes
+min_delay = 86400 ; minimum time in seconds between occurences of the same image
borders = darkcyan, steelblue, midnightblue
Copyright (C) 2000-2006 PhiloSoft Design
"""
-__version__ = "2.17.0"
+__version__ = "3.0.0"
__author__ = "Oleg BroytMann <phd@phd.pp.ru>"
__copyright__ = "Copyright (C) 2000-2006 PhiloSoft Design"
__revision__ = "$Id$"[5:-2]
else:
borders = ["darkcyan", "steelblue", "midnightblue"]
+# minimum time in seconds between occurences of the same image
+if config.has_option("xsetbg", "min_delay"):
+ min_delay = config.getint("xsetbg", "min_delay")
+else:
+ min_delay = 3600*24 # 24 hours
+
del config
# Save current time
global_db[timestamp_key] = current_time
+ # Select a random image and check if we've seen it recently;
+ # loop until we can find a new image (never seen before) or old enough.
+ for i in xrange(len(images)): # ensure the loop is not infinite
+ image_name = random.choice(images)
+ if global_db.has_key(image_name):
+ image_time = global_db[image_name]
+ if current_time - image_time > min_delay:
+ break
+ else:
+ break
+ global_db[image_name] = current_time
+
border = random.choice(borders)
- image_name = random.choice(images)
root, ext = os.path.splitext(image_name)
# Save filename