Ive tried the gtk method, but it is very slow and doesn’t work for a ‘large’ image (120 kb)
import pygtk
pygtk.require('2.0')
import gtk
import os
def copy_image(f):
assert os.path.exists(f), "file does not exist"
clipboard = gtk.clipboard_get()
img = gtk.Image()
img.set_from_file(f)
clipboard.set_image(img.get_pixbuf())
clipboard.store()
Ive tried xclip and it only does text, so what other options are there? What does ubuntu use ?
One way of getting text from/to the clipboard is using XSel. It’s not pretty and requires you to communicate with an external program. But it works and is quite fast.
Not sure if it’s the best solution but I know it works 🙂
[edit]You’re right, it seems that
xseldoes not support images.In that case, how about a slightly modified
GTKversion.Do note that you might have to change the owner if your program exits right away because of how X keeps track of the clipboard.