-
-
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 hidden or 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() |
Just lost 30 mins of work due to a fucking crash. There's still this open issue which is literally older than me yet gimp devs refuse to add this? This is straight up fucking weird and makes no sense.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
And also as much as i know only windows detect directories in %temp% way, linux use / as directory finder (~/ for home directory)