On Wed, 27 Oct 2004 18:47:31 +0200, Sundance wrote
> I heard Stephen Boulet said:
> 
> > I'd like to get and set the X-window clipboard for some short
> > scripts, but I'm not doing it quite right. Can someone help me along?
> 
> Okay, it seems to work here (I just did the imports outside the 
> function calls, since doing it inside functions is -bad- practice). 
> What is your problem exactly?

I just want to have a module to use under linux that would let me get and set
the clipboard (I usually get the clipboard, process it in some way, and then
paste back to it; one example might be to format the text on the clipboard for
restructured text). A python interface to xwindows might work too. 

I was trying to use the 'xsel' program to accomplish the same thing, but xsel
mangles non-ascii characters at the moment:

clipboard.py:

"""
Contains functions to read and write to the clipboard.
In non-windows systems uses the PRIMARY clipboard via
the 'xsel' command.

'xsel' is available here: http://www.niksula.cs.hut.fi/~vherva/xsel/
"""
from sys import platform
if platform == 'win32':
....from win32clipboard import *
....from win32con import CF_TEXT
....
....def getclipboard():
........OpenClipboard()
........s = GetClipboardData(CF_TEXT)
........CloseClipboard()
........return s
....
....def setclipboard(s):
........OpenClipboard()
........EmptyClipboard()
........SetClipboardText(s)
........CloseClipboard()
else:
....from os import popen
....def getclipboard(): 
........s = popen('xsel').read()
........return s
....
....def setclipboard(s):
........if s[0] != '"':
............command = 'echo "%s" | xsel -s -i' % s
........else:
............command = "echo '%s' | xsel -s -i" % s
........popen(command).read()

if __name__ == '__main__':
....s = 'Andr�'
....setclipboard(s)



_________
Stephen      

If your desktop gets out of control easily,
you probably have too much stuff on it that
doesn't need to be there.
         Donna Smallin, "Unclutter Your Home"

_______________________________________________
PyKDE mailing list    [EMAIL PROTECTED]
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to