-
-
Save rbrito/e57c87d5376fd56113df058abf71bdf3 to your computer and use it in GitHub Desktop.
Auto save plug-in for GIMP [2.8, 2.9]
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# Original (by yahvuu): http://www.gimpusers.com/forums/gimp-developer/11718-autosave-plugin | |
import tempfile, os | |
from time import * | |
from gimpfu import * | |
def autosave(image, layer): | |
backupInterval = 10 * 60 | |
backupFiles = {} | |
print "Autosave activated" | |
while 1: | |
sleep(backupInterval) | |
print ctime(time()) | |
curImages = {} | |
for k in gimp.image_list(): | |
curImages[k.ID] = k | |
curIDs = curImages.keys() | |
oldIDs = backupFiles.keys() | |
newIDs = [x for x in curIDs if x not in oldIDs]; delIDs = [x for x in oldIDs if x not in curIDs]; | |
# create (empty) backup files for new images | |
for id in newIDs: | |
prefix = 'gimpbackup-ID' + str(id) + '-' | |
fn = tempfile.mkstemp(prefix = prefix, suffix = '.xcf') | |
os.close(fn[0]) | |
backupFiles[id] = fn[1] | |
# remove closed images' backups | |
for id in delIDs: | |
filename = backupFiles[id] | |
del(backupFiles[id]) | |
try: | |
os.remove(filename) | |
except: | |
print "ERROR: ", sys.exc_info()[0] | |
# backup images | |
for id, filename in backupFiles.iteritems(): | |
img = curImages[id] | |
try: | |
print "saving " + img.name + '-' + str(id) + ' to ' + filename | |
pdb.gimp_xcf_save(1, img, img.active_drawable, filename, filename) | |
except: | |
print "ERROR: ", sys.exc_info()[0] | |
register( | |
"autosave", | |
"Autosave dirty hack", | |
"Periodically saves all opened images to a %temp% directory", | |
"public domain", | |
"public domain", | |
"2016", | |
"<Image>/File/Activate Autosave", | |
"*", | |
[], | |
[], | |
autosave) | |
main() |
plugin not working on linux, i mean activate auto save option not showing even after installed in system as well as in home path.
And also as much as i know only windows detect directories in %temp% way, linux use / as directory finder (~/ for home directory)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
plugin not working on linux, i mean activate auto save option not showing even after installed in system as well as in home path.