V X11 musíte komunikovat s vlastníkem výběru, zeptat se na podporované formáty a poté si vyžádat data v konkrétním formátu. Myslím, že nejjednodušší způsob, jak toho dosáhnout, je použít existující sady nástrojů pro vytváření oken. Např. s Pythonem a GTK:
#!/usr/bin/python
import glib, gtk
def test_clipboard():
clipboard = gtk.Clipboard()
targets = clipboard.wait_for_targets()
print "Targets available:", ", ".join(map(str, targets))
for target in targets:
print "Trying '%s'..." % str(target)
contents = clipboard.wait_for_contents(target)
if contents:
print contents.data
def main():
mainloop = glib.MainLoop()
def cb():
test_clipboard()
mainloop.quit()
glib.idle_add(cb)
mainloop.run()
if __name__ == "__main__":
main()
Výstup bude vypadat takto:
$ ./clipboard.py
Targets available: TIMESTAMP, TARGETS, MULTIPLE, text/html, text/_moz_htmlcontext, text/_moz_htmlinfo, UTF8_STRING, COMPOUND_TEXT, TEXT, STRING, text/x-moz-url-priv
...
Trying 'text/html'...
I asked <a href="http://superuser.com/questions/144185/getting-html-source-or-rich-text-from-the-x-clipboard">the same question on superuser.com</a>, because I was hoping there was a utility to do this, but I didn't get any informative responses.
Trying 'text/_moz_htmlcontext'...
<html><body class="question-page"><div class="container"><div id="content"><div id="mainbar"><div id="question"><table><tbody><tr><td class="postcell"><div><div class="post-text"><p></p></div></div></td></tr></tbody></table></div></div></div></div></body></html>
...
Trying 'STRING'...
I asked the same question on superuser.com, because I was hoping there was a utility to do this, but I didn't get any informative responses.
Trying 'text/x-moz-url-priv'...
http://stackoverflow.com/questions/3261379/getting-html-source-or-rich-text-from-the-x-clipboard
Pro doplnění odpovědi @rkhayrova pro to již existuje příkaz:xclip
. Přesněji řečeno, existuje oprava xclip
který byl přidán do xclip
později v roce 2010, ale ještě nebyla vydána, to dělá. Předpokládejme tedy, že váš OS jako Debian se dodává s hlavičkou subversion xclip
(Úprava pro rok 2019 :verze 0.13 s těmito změnami byla nakonec vydána v roce 2016 (a stažena do Debianu v lednu 2019)):
Seznam cílů pro výběr SCHRÁNKA:
$ xclip -selection clipboard -o -t TARGETS
TIMESTAMP
TARGETS
MULTIPLE
SAVE_TARGETS
text/html
text/_moz_htmlcontext
text/_moz_htmlinfo
UTF8_STRING
COMPOUND_TEXT
TEXT
STRING
text/x-moz-url-priv
Výběr konkrétního cíle:
$ xclip -selection clipboard -o -t text/html
<a href="https://stackoverflow.com/users/200540/rkhayrov" title="3017 reputation" class="comment-user">rkhayrov</a>
$ xclip -selection clipboard -o -t UTF8_STRING
rkhayrov
$ xclip -selection clipboard -o -t TIMESTAMP
684176350
A xclip
může také nastavit a vlastnit výběr (-i
místo -o
).