-TODO: Make change? [y... flood freezes until outputter is being killed
+TODO: yes|perl -pe chomp; flood freezes until outputter is being killed
TODO: do font request caching, might help rxvtd on some machines
TODO: safer command: keymap processing.
TODO: "slow" rendering mode for bidi and scripts
WISH: tabbed windows (hey, just use screen...)
WISH: just for fun, do shade and tint with XRender.
+5.7 Wed Jul 13 04:46:33 CEST 2005
- implement some useful (hopefully) options for rxvtd.
- separate and improved rxvtc(1) and rxvtd(1) manpages.
- fix a bug that caused segfaults on startup on systems that do
not support local unix connections, e.g cygwin. (btw, I didn't
even know about the -rootless and -multiwindow Cygwin/X modes).
+ - large amounts of text without control sequences or newlines
+ could almost freeze output. This has been fixed by adding extra
+ refreshes in these cases (also a problem in oriignal rxvt).
5.6 Sun Jun 26 22:11:13 CEST 2005
- R_SB_RXVT bitset value was 0, so rxvt scrollbar was initialised
bool refreshnow = false;
int nlines = 0;
unicode_t *str = buf;
+ unicode_t *eol = str + min (TermWin.ncol, UBUFSIZ);
for (;;)
{
*str++ = ch;
- if (ch == C0_LF)
+ if (ch == C0_LF || str >= eol)
{
nlines++;
refresh_count++;
scr_add_lines (buf, nlines, str - buf);
nlines = 0;
str = buf;
+ eol = str + min (TermWin.ncol, UBUFSIZ);
+ }
+
+ if (str >= eol)
+ {
+ if (eol >= buf + UBUFSIZ)
+ {
+ ch = NOCHAR;
+ break;
+ }
+ else
+ eol = min (eol + TermWin.ncol, buf + UBUFSIZ);
}
- }
- if (str >= buf + UBUFSIZ)
- {
- ch = NOCHAR;
- break;
}
seq_begin = cmdbuf_ptr;