-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: rxvt-unicode-sixel
action: commit
revision:
path_from:
revision_from: b220a7075d5a95ae9ab8bf62e03c53f2d797f619:
path_to:
revision_to:

git.thebackupbox.net

rxvt-unicode-sixel

git://git.thebackupbox.net/rxvt-unicode-sixel

commit b220a7075d5a95ae9ab8bf62e03c53f2d797f619
Author: Marc Lehmann <schmorp@schmorp.de>
Date:   Wed Jun 6 08:59:13 2012 +0000

    *** empty log message ***

diff --git a/Changes b/Changes

index fe1dfdc02f763bd8c00df372cd170a0ff36b2288..

index ..57e78e6905ed6da7f43e4f5cfbf73eeba4e0443f 100644

--- a/Changes
+++ b/Changes
@@ -50,6 +50,7 @@ TODO: something resets the bg pixmap afetr on_start
         - selectively mark some methods as cache-hot/cache cold, which
           might speed up execution but definitely decreases codesize.
         - new env variable: RXVT_PERL_LIB.
+        - iso14755 51 mode window now displays row and column.

 9.15 Sat Jan 21 13:36:56 CET 2012
 	- remove "using namespace std" because clang erroneously
diff --git a/src/command.C b/src/command.C

index d309c4c204daf91d396821235e44fa281ca46227..

index ..8cdbe8663dd9b7fc2d3a109acd0994caf02f1196 100644

--- a/src/command.C
+++ b/src/command.C
@@ -151,7 +151,7 @@ rxvt_term::iso14755_54 (int x, int y)

       if (t != NOCHAR || !x)
         {
-          iso14755_51 (l.t[x], l.r[x], x, y);
+          iso14755_51 (l.t[x], l.r[x], x, y, view_start);
           iso14755buf = ISO_14755_54;
           break;
         }
@@ -161,7 +161,7 @@ rxvt_term::iso14755_54 (int x, int y)
 }

 void ecb_cold
-rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x, int y)
+rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x, int y, int y2)
 {
   rxvt_fontset *fs = FONTSET (r);
   wchar_t *chr, *alloc, ch2, **fname;
@@ -184,6 +184,9 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x, int y)
       len = 1;
     }

+  char rowcol[40];
+  snprintf (rowcol, sizeof rowcol, "col %d row %d @%d", x, y, y2);
+
   char attr[80]; // plenty

   sprintf (attr, "%08x = fg %d bg %d%s%s%s%s%s%s",
@@ -205,7 +208,6 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x, int y)
       max_it (width, wcswidth (fname[i], wcslen (fname[i])));
     }

-  max_it (width, 8+5); // for char + hex
   max_it (width, strlen (attr));

   if (y >= 0)
@@ -214,7 +216,9 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x, int y)
       x = 0;
     }

-  scr_overlay_new (x, y, width, len * 2 + 1);
+  scr_overlay_new (x, y, width, len * 2 + 2);
+
+  scr_overlay_set (0, 0, rowcol);

   r = SET_STYLE (OVERLAY_RSTYLE, GET_STYLE (r));

@@ -225,16 +229,16 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x, int y)
       ch = *chr++;

       sprintf (buf, "%8x", ch);
-      scr_overlay_set (0, y, buf);
-      scr_overlay_set (9, y, '=');
+      scr_overlay_set (0, y + 1, buf);
+      scr_overlay_set (9, y + 1, '=');
 # if !UNICODE_3
       if (ch >= 0x10000)
         ch = 0xfffd;
 # endif
-      scr_overlay_set (11, y, ch, r);
+      scr_overlay_set (11, y + 1, ch, r);

       if (WCWIDTH (ch) >= 2)
-        scr_overlay_set (12, y, NOCHAR, r);
+        scr_overlay_set (12, y + 1, NOCHAR, r);
     }

 //  {
@@ -242,10 +246,10 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r, int x, int y)
 //    snprintf (buf, sizeof (buf), "(%.4d|%.4d)", x, y);
 //    scr_overlay_set (0, 0, buf);
 //  }
-  scr_overlay_set (0, len    , attr);
+  scr_overlay_set (0, len + 1, attr);
   for (int i = 0; i < len; i++)
     {
-      scr_overlay_set (0, len + 1 + i, fname[i]);
+      scr_overlay_set (0, len + 2 + i, fname[i]);
       free (fname[i]);
     }

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

-- Response ended

-- Page fetched on Sun Jun 2 10:09:16 2024