diff --git a/bin/clip2img b/bin/clip2img new file mode 120000 index 0000000..baa5a14 --- /dev/null +++ b/bin/clip2img @@ -0,0 +1 @@ +../files/clip2img \ No newline at end of file diff --git a/files/clip2img b/files/clip2img new file mode 100755 index 0000000..28f910d --- /dev/null +++ b/files/clip2img @@ -0,0 +1,33 @@ +#!/usr/bin/env python +import pygtk,gtk,os,sys +pygtk.require('2.0') +from argparse import ArgumentParser + + +def write_image(f): + + clipboard = gtk.clipboard_get() + image = clipboard.wait_for_image() + if image==None: + sys.stderr.write("No image in clipboard!\n") + sys.exit(1) + image.save(f, type_str(f)) + +def type_str(f): + filename, file_extension = os.path.splitext(f.lower()) + file_extension=file_extension[1:] + if file_extension=="jpg": + return 'jpeg' + if file_extension=="tif": + return 'tiff' + + return file_extension + +parser=ArgumentParser(description="Write image from clipboard to image file. Extension jpg/png/tif/ico/bmp.") +parser.add_argument('image', action="store") +opts=parser.parse_args() + +if (os.path.exists(opts.image)): + sys.stderr.write("Image already exists!\n") + sys.exit(1) +write_image(opts.image);