<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Josh Bialkowski (Publicaciones sobre python)</title><link>https://www.joshbialkowski.com/</link><description></description><atom:link href="https://www.joshbialkowski.com/es/categories/python.xml" rel="self" type="application/rss+xml"></atom:link><language>es</language><copyright>Contents © 2018 &lt;a href="mailto:josh.bialkowski@gmail.com"&gt;Josh Bialkowski&lt;/a&gt; 
&lt;a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License" style="border-width:0"
 src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /&gt;
&lt;/a&gt;&lt;br /&gt;
This work is licensed under a
&lt;a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"&gt;
Creative Commons Attribution-ShareAlike 4.0 International License&lt;/a&gt;.
</copyright><lastBuildDate>Tue, 20 Mar 2018 01:48:00 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>ImgClip (xclip for images)</title><link>https://www.joshbialkowski.com/es/posts/2011/imgclip-xclip-for-images.html</link><dc:creator>Josh Bialkowski</dc:creator><description>&lt;div&gt;&lt;p&gt;Here is a little python script I wrote to emulate xclip for image files.
xclip, if you don't know, is a simple command line tool for setting/retrieving
text from the clipboard. For instance the following command&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;ls -l &lt;span class="p"&gt;|&lt;/span&gt; xclip -i -selection clipboard
&lt;/pre&gt;


&lt;p&gt;copies the current directory listing to the gnome clipboard, where it can then
be &lt;code&gt;ctrl + v&lt;/code&gt; pasted into a forum post, email, etc.&lt;/p&gt;
&lt;p&gt;I really wanted something that does the same for image files. Unfortunately
the following does not work:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;cat image.png &lt;span class="p"&gt;|&lt;/span&gt; xclip -i -selection clipboard
&lt;/pre&gt;


&lt;p&gt;I'm not sure of the details of how the gnome clipboard works… but this doesn't
do it. I discovered a way to do it easily using pygtk. Here is a python script
that does exactly what I want:&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="ch"&gt;#! /usr/bin/python&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pygtk&lt;/span&gt;
&lt;span class="n"&gt;pygtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'2.0′)&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;gtk&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;sys&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;copy_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exists&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s2"&gt;"file does not exist"&lt;/span&gt;
    &lt;span class="n"&gt;image&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gdk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pixbuf_new_from_file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;clipboard&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;gtk&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;clipboard_get&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="n"&gt;clipboard&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;image&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;clipboard&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;store&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="n"&gt;copy_image&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;argv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/pre&gt;


&lt;p&gt;P.S. I pasted this code into this post using the following command&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;cat imgclip.py &lt;span class="p"&gt;|&lt;/span&gt; xclip -i -selection clipboard
&lt;/pre&gt;


&lt;p&gt;Make sure to set the script to executable&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;chmod +x imgclip.py
&lt;/pre&gt;


&lt;p&gt;And then use it like this&lt;/p&gt;
&lt;pre class="code literal-block"&gt;&lt;span&gt;&lt;/span&gt;./imgclip.py /path/to/some/image.png
&lt;/pre&gt;&lt;/div&gt;</description><guid>https://www.joshbialkowski.com/es/posts/2011/imgclip-xclip-for-images.html</guid><pubDate>Tue, 07 Jun 2011 09:59:46 GMT</pubDate></item></channel></rss>