Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 78 lines (65 sloc) 2.47 KB
#!/usr/bin/env python
# Save or export the current image -- do the right thing whether it's
# XCF (save) or any other format (export). This will mark the image clean,
# so GIMP won't warn you when you exit.
# Warning: this does not show a lot of extra dialogs, etc. or warn you
# if you're about to overwrite something! Use with caution.
# Copyright 2012 by Akkana Peck, http://www.shallowsky.com/software/
# You may use and distribute this plug-in under the terms of the GPL v2
# or, at your option, any later GPL version.
from gimpfu import *
import gtk
import os
import collections
def python_export_clean(img, drawable) :
filename = img.filename
if not filename :
chooser = gtk.FileChooserDialog(title=None,
action=gtk.FILE_CHOOSER_ACTION_SAVE,
buttons=(gtk.STOCK_CANCEL,
gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN,
gtk.RESPONSE_OK))
# Might want to set a current folder:
save_dir = choose_likely_save_dir()
if save_dir :
chooser.set_current_folder(save_dir)
# Oh, cool, we could have shortcuts to image folders,
# and maybe remove the stupid fstab shortcuts GTK adds for us.
#chooser.add_shortcut_folder(folder)
#chooser.remove_shortcut_folder(folder)
response = chooser.run()
if response != gtk.RESPONSE_OK:
return
filename = chooser.get_filename()
img.filename = filename
chooser.destroy()
pdb.gimp_file_save(img, drawable, filename, filename)
pdb.gimp_image_clean_all(img)
def choose_likely_save_dir() :
counts = collections.Counter()
for img in gimp.image_list() :
if img.filename :
counts[os.path.dirname(img.filename)] += 1
try :
return counts.most_common(1)[0][0]
except :
return None
register(
"python_fu_export_clean",
"Save or export the current image, then mark it clean.",
"Save or export the current image, then mark it clean.",
"Akkana Peck",
"Akkana Peck",
"2012",
"Save/Export clean",
"*",
[
(PF_IMAGE, "image", "Input image", None),
(PF_DRAWABLE, "drawable", "Input drawable", None),
],
[],
python_export_clean,
menu = "<Image>/File/Save/"
)
main()