<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-300074759549058915</atom:id><lastBuildDate>Tue, 22 Dec 2009 18:26:58 +0000</lastBuildDate><title>Blahg</title><description></description><link>http://mpuentes.blogspot.com/</link><managingEditor>noreply@blogger.com (Emmanuel Puentes)</managingEditor><generator>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-300074759549058915.post-5032853622809829949</guid><pubDate>Thu, 15 Nov 2007 21:17:00 +0000</pubDate><atom:updated>2007-11-30T14:26:22.770-08:00</atom:updated><title>Cygwin + Rxvt</title><description>&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;I decided that I was tired of using the standard cmd.exe console for cygwin and made the switch to use rxvt as the console. To do this I had to install rxvt using the setup.exe  that I downloaded from the cygwin site. Once I had rxvt installed I modified my cygwin shortcut on my desktop with the following:&lt;br /&gt;&lt;br /&gt;&lt;div  style="border: 1px solid silver; padding: 3px;font-size:12px;"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;&lt;span style="font-family:georgia;"&gt;C:\cygwin\bin\rxvt.exe  -sr  -sl 2500 -sb -e /bin/bash --login -i&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;Of course, once I had this working I wanted to customize the console with my favorite look &amp;amp; feel. I did this by creating a .Xdefaults file in my home directory and inserted the following:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div  style="border: 1px solid silver; padding: 3px;font-size:12px;"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;rxvt*geometry: 100x60&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;rxvt*foreground: #ffffff&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;rxvt*background: #000000&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;!rxvt*font: -outline-Courier New-normal-r-normal-normal-18-96-120-120-c-100-iso8859-1&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;rxvt*font: Courier New-h9&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-family:georgia;font-size:85%;"  &gt;rxvt*scrollBar:         True&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style=";font-family:georgia;font-size:85%;"  &gt;rxvt*scrollBar_right:   True&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;I was pretty excited once I had this setup because I could now resize the window and I had a better font selection. I started a conversation with a colleague about rxvt and he said that one of the things he disliked was the paste via the middle mouse click and he would prefer the paste via a single right click. So I set out to make this change ....&lt;br /&gt;&lt;br /&gt;Well, I learned a lot. First, I downloaded the source using the setup.exe that was provided by cygwin. Then I downloaded all the dependencies. Next, I compiled the source but I couldn't get it to work like the binary that was shipped with cygwin. I had to run the X server or it wouldn't render to the screen.  Then, I started to dig deeper into why this wouldn't work and I found a little surprise, called &lt;span style="color: rgb(102, 0, 0);"&gt;cygport&lt;/span&gt;. What's interesting before we dive into cygport is that the readme in the source never mentions anything about cygport, I just happened to open the file that had a .cygport extension and became curious. Anyway long story short, you have to use cygport to download the source, apply the patches, compile and repackage the modifications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here are the steps that I used to compile:&lt;br /&gt;&lt;br /&gt;&lt;div  style="border: 1px solid silver; padding: 3px;font-size:12px;"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;&lt;span style="font-size:78%;"&gt;Note&lt;/span&gt;: &lt;span style="font-size:78%;"&gt;&lt;span style="font-style: italic;"&gt;I had some trouble with xpm.h and I had to remove the following from rxvt-&amp;lt;version&gt;-.cypoort&lt;br /&gt;&lt;br /&gt;--with-xpm-includes=${B}/W11/X11&lt;br /&gt;--with-xpm-library=${B}/W11/lib&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;rxvt&gt;&lt;rxvt&gt;&lt;rxvt&gt;&lt;rxvt.version&gt;cygport &amp;lt;rxvt.version&gt; download&lt;br /&gt;cygport &amp;lt;rxvt.version&gt; prep&lt;br /&gt;cygport &amp;lt;rxvt.version&gt; compile&lt;br /&gt;&lt;br /&gt;&lt;/rxvt.version&gt;&lt;/rxvt&gt;&lt;/rxvt&gt;&lt;/rxvt&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Once I figured out how to compile cygwin, I added the code to allow pasting via right mouse click.   In case your curious I added my modifications below:&lt;br /&gt;&lt;br /&gt;&lt;div id="patch_file"  style="border: 1px solid silver; padding: 3px;font-size:12px;"&gt;&lt;br /&gt;--- origsrc/rxvt/src/rxvt.h     2004-01-29 16:54:19.000000000 -0700&lt;br /&gt;+++ src/rxvt/src/rxvt.h 2007-11-29 10:23:49.312500000 -0700&lt;br /&gt;@@ -588,6 +588,7 @@&lt;br /&gt;Rs_cursorBlink,&lt;br /&gt;Rs_pointerBlank,&lt;br /&gt;Rs_pointerBlankDelay,&lt;br /&gt;+    Rs_pasteWithRightClick,&lt;br /&gt;NUM_RESOURCES&lt;br /&gt;} ;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;jdb@ukc.ac.uk&gt;&lt;jdb@ukc.ac.uk&gt;&lt;jdb@ukc.ac.uk&gt;&lt;gcw@pobox.com&gt;&lt;sys h=""&gt;&lt;sys h=""&gt;&lt;gcw@pobox.com&gt;&lt;olesen@me.queensu.ca&gt;&lt;/olesen@me.queensu.ca&gt;&lt;/gcw@pobox.com&gt;&lt;/sys&gt;&lt;/sys&gt;&lt;/gcw@pobox.com&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="patch_file" style="border: 1px solid silver; padding: 3px; font-size: 12px;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:georgia;"&gt;--- origsrc/rxvt/src/xdefaults.c    2004-01-29 17:19:20.000000000 -0700&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;+++ src/rxvt/src/xdefaults.c    2007-11-29 10:59:00.671875000 -0700&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;@@ -95,6 +95,7 @@&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;      "reverse video"),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;     BOOL(Rs_loginShell, "loginShell", "ls", Opt_loginShell, "login shell"),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;     BOOL(Rs_jumpScroll, "jumpScroll", "j", Opt_jumpScroll, "jump scrolling"),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;+    BOOL(Rs_pasteWithRightClick, "pasteWithRightClick", "pwrc", Opt_pasteWithRightClick, "Paste with right mouse click"),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt; #ifdef HAVE_SCROLLBARS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;     BOOL(Rs_scrollBar, "scrollBar", "sb", Opt_scrollBar, "scrollbar"),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;     BOOL(Rs_scrollBar_right, "scrollBar_right", "sr", Opt_scrollBar_right,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;div id="patch_file" size="12px" style="border: 1px solid silver; padding: 3px;"&gt;&lt;br /&gt;--- origsrc/rxvt/src/rxvtlib.h.in       2003-08-24 23:32:50.000000000 -0600&lt;br /&gt;+++ src/rxvt/src/rxvtlib.h.in   2007-11-30 15:10:51.093750000 -0700&lt;br /&gt;@@ -220,6 +220,7 @@&lt;br /&gt;#define Opt_mouseWheelScrollPage (1LU&lt;&lt;19) style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;jdb@ukc.ac.uk&gt;&lt;jdb@ukc.ac.uk&gt;&lt;jdb@ukc.ac.uk&gt;&lt;gcw@pobox.com&gt;&lt;sys h=""&gt;&lt;sys h=""&gt;&lt;gcw@pobox.com&gt;&lt;/gcw@pobox.com&gt;&lt;/sys&gt;&lt;/sys&gt;&lt;/gcw@pobox.com&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div id="patch_file" size="12px" style="border: 1px solid silver; padding: 3px;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 51);font-size:85%;" &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(51, 51, 51);"&gt;&lt;jdb@ukc.ac.uk&gt;&lt;jdb@ukc.ac.uk&gt;&lt;jdb@ukc.ac.uk&gt;&lt;gcw@pobox.com&gt;&lt;sys h=""&gt;&lt;sys h=""&gt;&lt;gcw@pobox.com&gt;&lt;olesen@me.queensu.ca&gt;&lt;/olesen@me.queensu.ca&gt;&lt;/gcw@pobox.com&gt;&lt;/sys&gt;&lt;/sys&gt;&lt;/gcw@pobox.com&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/jdb@ukc.ac.uk&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;--- origsrc/rxvt/src/command.c    2004-01-29 16:54:18.000000000 -0700&lt;br /&gt;+++ src/rxvt/src/command.c    2007-11-29 11:30:36.890625000 -0700&lt;br /&gt;@@ -1499,27 +1499,42 @@&lt;br /&gt; rxvt_mouse_report(r, ev);&lt;br /&gt;#endif                /* MOUSE_REPORT_DOUBLECLICK */&lt;br /&gt; } else {&lt;br /&gt;-        if (ev-&gt;button != h-&gt;MEvent.button)&lt;br /&gt;+&lt;br /&gt;+        if (ev-&gt;button != h-&gt;MEvent.button) {&lt;br /&gt;     h-&gt;MEvent.clicks = 0;&lt;br /&gt;+        }&lt;br /&gt;+&lt;br /&gt; switch (ev-&gt;button) {&lt;br /&gt; case Button1:&lt;br /&gt;-            if (h-&gt;MEvent.button == Button1 &amp;amp;&amp;amp; clickintime)&lt;br /&gt;-            h-&gt;MEvent.clicks++;&lt;br /&gt;-            else&lt;br /&gt;-            h-&gt;MEvent.clicks = 1;&lt;br /&gt;+&lt;br /&gt;+            if (h-&gt;MEvent.button == Button1 &amp;amp;&amp;amp; clickintime) {&lt;br /&gt;+                h-&gt;MEvent.clicks++;&lt;br /&gt;+            } else {&lt;br /&gt;+                h-&gt;MEvent.clicks = 1;&lt;br /&gt;+            }&lt;br /&gt;+&lt;br /&gt;     rxvt_selection_click(r, h-&gt;MEvent.clicks, ev-&gt;x, ev-&gt;y);&lt;br /&gt;     h-&gt;MEvent.button = Button1;&lt;br /&gt;     break;&lt;br /&gt;&lt;br /&gt; case Button3:&lt;br /&gt;-            if (h-&gt;MEvent.button == Button3 &amp;amp;&amp;amp; clickintime)&lt;br /&gt;-            rxvt_selection_rotate(r, ev-&gt;x, ev-&gt;y);&lt;br /&gt;-            else&lt;br /&gt;-            rxvt_selection_extend(r, ev-&gt;x, ev-&gt;y, 1);&lt;br /&gt;+&lt;br /&gt;+            if (!(r-&gt;Options &amp;amp; Opt_pasteWithRightClick)) {&lt;br /&gt;+                if (h-&gt;MEvent.button == Button3 &amp;amp;&amp;amp; clickintime) {&lt;br /&gt;+                    rxvt_selection_rotate(r, ev-&gt;x, ev-&gt;y);&lt;br /&gt;+                } else {&lt;br /&gt;+                    rxvt_selection_extend(r, ev-&gt;x, ev-&gt;y, 1);&lt;br /&gt;+                }&lt;br /&gt;+            } else {&lt;br /&gt;+                rxvt_selection_request(r, ev-&gt;time, ev-&gt;x, ev-&gt;y);&lt;br /&gt;+            }&lt;br /&gt;+&lt;br /&gt;     h-&gt;MEvent.button = Button3;&lt;br /&gt;     break;&lt;br /&gt;+&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;+&lt;br /&gt; h-&gt;MEvent.time = ev-&gt;time;&lt;br /&gt; return;&lt;br /&gt;}&lt;br /&gt;@@ -1702,22 +1717,35 @@&lt;br /&gt;#endif                /* MOUSE_REPORT_DOUBLECLICK */&lt;br /&gt; return;&lt;br /&gt; }&lt;br /&gt;+&lt;br /&gt; /*&lt;br /&gt;  * dumb hack to compensate for the failure of click-and-drag&lt;br /&gt;  * when overriding mouse reporting&lt;br /&gt;  */&lt;br /&gt;-        if (r-&gt;h-&gt;PrivateModes &amp;amp; PrivMode_mouse_report&lt;br /&gt;-        &amp;amp;&amp;amp; r-&gt;h-&gt;bypass_keystate&lt;br /&gt;-        &amp;amp;&amp;amp; ev-&gt;button == Button1 &amp;amp;&amp;amp; r-&gt;h-&gt;MEvent.clicks &lt;= 1) -        rxvt_selection_extend(r, ev-&gt;x, ev-&gt;y, 0);&lt;br /&gt;+&lt;br /&gt;+        if (r-&gt;h-&gt;PrivateModes &amp;amp; PrivMode_mouse_report &amp;amp;&amp;amp;&lt;br /&gt;+                r-&gt;h-&gt;bypass_keystate &amp;amp;&amp;amp; ev-&gt;button == Button1 &amp;amp;&amp;amp; r-&gt;h-&gt;MEvent.clicks &lt;= 1) { +            rxvt_selection_extend(r, ev-&gt;x, ev-&gt;y, 0);&lt;br /&gt;+        }&lt;br /&gt;&lt;br /&gt; switch (ev-&gt;button) {&lt;br /&gt; case Button1:&lt;br /&gt;+        if ((r-&gt;Options &amp;amp; Opt_pasteWithRightClick)) {&lt;br /&gt;+            rxvt_selection_make(r, ev-&gt;time);&lt;br /&gt;+            break;&lt;br /&gt;+        }&lt;br /&gt;+&lt;br /&gt; case Button3:&lt;br /&gt;-        rxvt_selection_make(r, ev-&gt;time);&lt;br /&gt;+        if (!(r-&gt;Options &amp;amp; Opt_pasteWithRightClick)) {&lt;br /&gt;+            rxvt_selection_make(r, ev-&gt;time);&lt;br /&gt;+        }&lt;br /&gt; break;&lt;br /&gt;+&lt;br /&gt; case Button2:&lt;br /&gt;-        rxvt_selection_request(r, ev-&gt;time, ev-&gt;x, ev-&gt;y);&lt;br /&gt;+        if (!(r-&gt;Options &amp;amp; Opt_pasteWithRightClick)) {&lt;br /&gt;+            rxvt_selection_request(r, ev-&gt;time, ev-&gt;x, ev-&gt;y);&lt;br /&gt;+        }&lt;br /&gt;+&lt;br /&gt; break;&lt;br /&gt;#ifdef MOUSE_WHEEL&lt;br /&gt; case Button4:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/300074759549058915-5032853622809829949?l=mpuentes.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://mpuentes.blogspot.com/2007/11/cygwin-rxvt.html</link><author>noreply@blogger.com (Emmanuel Puentes)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>