*** empty log message ***
authorroot <root>
Tue, 27 Dec 2005 01:25:42 +0000 (01:25 +0000)
committerroot <root>
Tue, 27 Dec 2005 01:25:42 +0000 (01:25 +0000)
Changes
src/command.C
src/screen.C

diff --git a/Changes b/Changes
index 56e8faea863dbd708971f4eb6718c6240480d9d6..970a19579d3ef5664178a4b2ffda2799963d28d1 100644 (file)
--- a/Changes
+++ b/Changes
@@ -11,7 +11,6 @@ WISH: OnTheSpot editing, or maybe switch to miiiiiiif
 WISH: just for fun, do shade and tint with XRender.
 
 6.1
-TODO: is14755 feedback for all redn_t attributes
 TODO: trailing spaces rmeoval for rect selections
        - update iso8859-7 table (euro and drachma round-trip et al.).
        - fix a crash when the selection scrolls out of the scrollback
@@ -20,6 +19,8 @@ TODO: trailing spaces rmeoval for rect selections
           not drawn correctly.
         - lines newly scrolled in were not initialized properly, leading
           to extremely long lines and (hopefully) some segfaults.
+        - iso14755 overlay position was wrong.
+        - iso14755 overlay now displays rendition info, too.
 
 6.0  Sat Dec 24 13:58:56 CET 2005
        - make it compile without SMART_RESIZE again.
index 76eb690c6641b5bb9ac480a3c18cc5a3234dd743..a2b67f7f617cdb4f43f8fcee4a322e57184c5580 100644 (file)
@@ -187,9 +187,24 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r)
       len = 1;
     }
 
+  char attr[80]; // plenty
+
+  sprintf (attr, "%08x = fg %d bg %d%s%s%s%s%s%s",
+           (int)r,
+           GET_FGCOLOR (r), GET_BGCOLOR (r),
+           r & RS_Bold    ? " bold"    : "",
+           r & RS_Italic  ? " italic"  : "",
+           r & RS_Blink   ? " blink"   : "",
+           r & RS_RVid    ? " rvid"    : "",
+           r & RS_Uline   ? " uline"   : "",
+           r & RS_Careful ? " careful" : "");
+
   int width = wcswidth (fname, wcslen (fname));
 
-  scr_overlay_new (0, -1, width < 8+5 ? 8+5 : width, len + 1);
+  max_it (width, 8+5); // for char + hey
+  max_it (width, strlen (attr));
+
+  scr_overlay_new (0, -1, width, len + 2);
 
   r = SET_STYLE (OVERLAY_RSTYLE, GET_STYLE (r));
 
@@ -210,7 +225,8 @@ rxvt_term::iso14755_51 (unicode_t ch, rend_t r)
       scr_overlay_set (12, y, NOCHAR, r);
     }
 
-  scr_overlay_set (0, len, fname);
+  scr_overlay_set (0, len    , attr);
+  scr_overlay_set (0, len + 1, fname);
 
   free (fname);
 
index 6823907aed2c07786d88ce2c7e1ac39e4ce83a21..6ba144b8c252f84a625003092791941637639f12 100644 (file)
@@ -3678,8 +3678,8 @@ rxvt_term::scr_swap_overlay ()
       text_t *t1 = ov_text[y];
       rend_t *r1 = ov_rend[y];
 
-      text_t *t2 = ROW(y - view_start).t + ov_x;
-      rend_t *r2 = ROW(y - view_start).r + ov_x;
+      text_t *t2 = ROW(y + ov_y - view_start).t + ov_x;
+      rend_t *r2 = ROW(y + ov_y - view_start).r + ov_x;
 
       for (int x = ov_w; x--; )
         {