--- rxvt-unicode/src/rxvtlib.h.in 2005/12/18 00:59:42 1.49 +++ rxvt-unicode/src/rxvtlib.h.in 2005/12/20 19:30:59 1.51 @@ -88,11 +88,16 @@ rend_t *r; // rendition, uses RS_ flags tlen_t l; // length of each text line, LINE_CONT == continued on next line - bool is_cont () + bool is_longer () { return l < 0; } + void set_is_longer () + { + l = LINE_CONT; + } + void clear () { t = 0; @@ -108,7 +113,8 @@ * ncol : 1 <= ncol <= MAX(int16_t) * nrow : 1 <= nrow <= MAX(int16_t) * saveLines : 0 <= saveLines <= MAX(int16_t) - * nsaved : 0 <= nscrolled <= saveLines + * nlines : nrow + saveLines + * nsaved : 0 <= nsaved <= saveLines * term_start: 0 <= term_start < saveLines * view_start: 0 <= view_start < saveLines */ @@ -128,8 +134,8 @@ int ext_bwidth; /* external border width */ int lineSpace; /* number of extra pixels between rows */ int saveLines; /* number of lines that fit in scrollback */ - int nsaved; /* number of line actually scrolled */ - int nscrolled; /*D*///TODO remove + int total_rows; /* total number of rows in this terminal */ + int nsaved; /* number of rows saved to scrollback */ int term_start; /* term lines start here */ int view_start; /* scrollback view starts here */ Window parent[6]; /* parent identifiers - we're parent[0] */ @@ -160,14 +166,14 @@ * beg: row/column of beginning of selection : never past mark * mark: row/column of initial click : never past end * end: row/column of one character past end of selection - * * Note: -nscrolled <= beg.row <= mark.row <= end.row < nrow + * * Note: -nsaved <= beg.row <= mark.row <= end.row < nrow * * Note: col == -1 ==> we're left of screen * * Layout of text/rend information in the screen_t text/rend structures: * Rows [0] ... [saveLines - 1] * scrollback region : we're only here if view_start != 0 * Rows [saveLines] ... [saveLines + nrow - 1] - * normal `unscrolled' screen region + * normal `unsaved' screen region */ typedef struct { line_t **line;