style attribute html linux browser clipboard xorg

attribute - Obtención de fuente HTML o texto enriquecido desde el portapapeles X



html title attribute (2)

En X11, debe comunicarse con el propietario de la selección, preguntar acerca de los formatos admitidos y luego solicitar los datos en el formato específico. Creo que la forma más sencilla de hacerlo es utilizando los kits de herramientas de creación de ventanas existentes. P.ej. con Python y 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()

La salida se verá así:

$ ./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

¿Cómo se puede obtener texto enriquecido o código fuente HTML desde el portapapeles X? Por ejemplo, si copia texto de un navegador web y lo pega en kompozer, se pega como HTML, con los enlaces, etc., conservados. Sin embargo, xclip -o para la misma selección solo genera texto sin formato, reformateado de manera similar a la de elinks -dump . Me gustaría extraer el HTML y colocarlo en un editor de texto (específicamente vim ).

Hice la misma pregunta en superuser.com , porque esperaba que hubiera una utilidad para hacer esto, pero no obtuve ninguna respuesta informativa. La API del portapapeles X es para mí una bestia misteriosa; Cualquier consejo sobre piratear algo para obtener esta información es bienvenido. Mi idioma de elección en estos días es Python, pero casi cualquier cosa está bien.


Para complementar la respuesta de @rkhayrov , ya existe un comando para eso: xclip . O más exactamente, hay un parche para xclip que se agregó a xclip más adelante en 2010 , pero aún no se ha lanzado. Entonces, asumiendo que su sistema operativo como Debian se envía con el jefe de subversión de xclip :

Para enumerar los objetivos para la selección de CLIPBOARD:

$ 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

Para seleccionar un objetivo particular:

$ xclip -selection clipboard -o -t text/html  <a href="https://.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

Y xclip también puede establecer y poseer una selección ( -i lugar de -o ).