ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/command.C
(Generate patch)

Comparing rxvt-unicode/src/command.C (file contents):
Revision 1.213 by root, Thu Dec 22 16:44:10 2005 UTC vs.
Revision 1.216 by root, Tue Dec 27 01:25:42 2005 UTC

141 || !IN_RANGE_EXC (y, 0, nrow)) 141 || !IN_RANGE_EXC (y, 0, nrow))
142 return; 142 return;
143 143
144 for (;;) 144 for (;;)
145 { 145 {
146 const line_t &l = ROW(-view_start); 146 const line_t &l = ROW(y - view_start);
147 147
148 text_t t = l.t[x]; 148 text_t t = l.t[x];
149 149
150 if (t != NOCHAR || !x) 150 if (t != NOCHAR || !x)
151 { 151 {
185 alloc = 0; 185 alloc = 0;
186 chr = &ch2; 186 chr = &ch2;
187 len = 1; 187 len = 1;
188 } 188 }
189 189
190 char attr[80]; // plenty
191
192 sprintf (attr, "%08x = fg %d bg %d%s%s%s%s%s%s",
193 (int)r,
194 GET_FGCOLOR (r), GET_BGCOLOR (r),
195 r & RS_Bold ? " bold" : "",
196 r & RS_Italic ? " italic" : "",
197 r & RS_Blink ? " blink" : "",
198 r & RS_RVid ? " rvid" : "",
199 r & RS_Uline ? " uline" : "",
200 r & RS_Careful ? " careful" : "");
201
190 int width = wcswidth (fname, wcslen (fname)); 202 int width = wcswidth (fname, wcslen (fname));
191 203
204 max_it (width, 8+5); // for char + hey
205 max_it (width, strlen (attr));
206
192 scr_overlay_new (0, -1, width < 8+5 ? 8+5 : width, len + 1); 207 scr_overlay_new (0, -1, width, len + 2);
193 208
194 r = SET_STYLE (OVERLAY_RSTYLE, GET_STYLE (r)); 209 r = SET_STYLE (OVERLAY_RSTYLE, GET_STYLE (r));
195 210
196 for (int y = 0; y < len; y++) 211 for (int y = 0; y < len; y++)
197 { 212 {
208#endif 223#endif
209 scr_overlay_set (11, y, ch, r); 224 scr_overlay_set (11, y, ch, r);
210 scr_overlay_set (12, y, NOCHAR, r); 225 scr_overlay_set (12, y, NOCHAR, r);
211 } 226 }
212 227
228 scr_overlay_set (0, len , attr);
213 scr_overlay_set (0, len, fname); 229 scr_overlay_set (0, len + 1, fname);
214 230
215 free (fname); 231 free (fname);
216 232
217#if ENABLE_COMBINING 233#if ENABLE_COMBINING
218 if (alloc) 234 if (alloc)
1067 if (n > 0) 1083 if (n > 0)
1068 { 1084 {
1069 cmdbuf_endp += n; 1085 cmdbuf_endp += n;
1070 return true; 1086 return true;
1071 } 1087 }
1072 else if (n < 0 && errno != EAGAIN && errno != EINTR) 1088 else if ((n < 0 && errno != EAGAIN && errno != EINTR) || n == 0)
1089 {
1073 pty_ev.stop (); 1090 pty_ev.stop ();
1091
1092 if (!(options & Opt_hold))
1093 destroy ();
1094 }
1074 1095
1075 return false; 1096 return false;
1076} 1097}
1077 1098
1078void 1099void

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines