repo: rxvt-unicode-sixel
action: commit
revision: 
path_from: 
revision_from: 376bdf4ed5524481c29e8f2f9546e327abfa83e7:
path_to: 
revision_to: 
git.thebackupbox.net
rxvt-unicode-sixel
git clone git://git.thebackupbox.net/rxvt-unicode-sixel
commit 376bdf4ed5524481c29e8f2f9546e327abfa83e7
Author: Emanuele Giaquinta 
Date:   Sun Jan 18 13:08:46 2015 +0000

    Change the width of underline and i-beam cursor to 2 pixels, based on a patch by Omar Sandoval.

diff --git a/src/screen.C b/src/screen.C
index 1e941cf487badd513013a5c5cfc392cc6a52ec0c..
index ..aa7c54d483de49a31471ee9ad8a3f5af4ae67b7c 100644
--- a/src/screen.C
+++ b/src/screen.C
@@ -2120,18 +2120,13 @@ rxvt_term::scr_refresh () NOTHROW
           ccol2 = Color_bg;
 #endif

-        if (focus && cursor_type != 2)
+        if (focus && cursor_type == 0)
           {
             rend_t rend = cur_rend;

-            if (cursor_type == 1)
-              rend ^= RS_Uline;
-            else
-              {
-                rend ^= RS_RVid;
-                rend = SET_FGCOLOR (rend, ccol1);
-                rend = SET_BGCOLOR (rend, ccol2);
-              }
+            rend ^= RS_RVid;
+            rend = SET_FGCOLOR (rend, ccol1);
+            rend = SET_BGCOLOR (rend, ccol2);

             scr_set_char_rend (ROW(screen.cur.row), cur_col, rend);
           }
@@ -2143,9 +2138,9 @@ rxvt_term::scr_refresh () NOTHROW

     // save the current cursor coordinates if the cursor is visible
     // and either the window is unfocused or the cursor style is
-    // vertical bar, so as to clear the outline cursor in the next
-    // refresh if the cursor moves or becomes invisible
-    if (showcursor && (!focus || cursor_type == 2) && screen.cur.row - view_start < nrow)
+    // underline or vertical bar, so as to clear the outline cursor in
+    // the next refresh if the cursor moves or becomes invisible
+    if (showcursor && (!focus || cursor_type != 0) && screen.cur.row - view_start < nrow)
       {
         oldcursor.row = screen.cur.row - view_start;
         oldcursor.col = screen.cur.col;
@@ -2449,16 +2444,23 @@ rxvt_term::scr_refresh () NOTHROW
     {
       if (focus)
         {
-          if (cursor_type != 2)
+          if (cursor_type == 0)
             scr_set_char_rend (ROW(screen.cur.row), cur_col, cur_rend);
           else if (oldcursor.row >= 0)
             {
               XSetForeground (dpy, gc, pix_colors[ccol1]);
-              XFillRectangle (dpy, vt, gc,
-                              Col2Pixel (cur_col),
-                              Row2Pixel (oldcursor.row),
-                              1,
-                              Height2Pixel (1));
+              if (cursor_type == 1)
+                XFillRectangle (dpy, vt, gc,
+                                Col2Pixel (cur_col),
+                                Row2Pixel (oldcursor.row + 1) - 2,
+                                Width2Pixel (1),
+                                2);
+              else
+                XFillRectangle (dpy, vt, gc,
+                                Col2Pixel (cur_col),
+                                Row2Pixel (oldcursor.row),
+                                2,
+                                Height2Pixel (1));
             }
         }
       else if (oldcursor.row >= 0)

-----END OF PAGE-----