… | |
… | |
125 | #endif |
125 | #endif |
126 | |
126 | |
127 | #ifndef EXIT_SUCCESS /* missing from <stdlib.h> */ |
127 | #ifndef EXIT_SUCCESS /* missing from <stdlib.h> */ |
128 | # define EXIT_SUCCESS 0 /* exit function success */ |
128 | # define EXIT_SUCCESS 0 /* exit function success */ |
129 | # define EXIT_FAILURE 1 /* exit function failure */ |
129 | # define EXIT_FAILURE 1 /* exit function failure */ |
130 | #endif |
|
|
131 | |
|
|
132 | #ifndef PATH_MAX |
|
|
133 | # define PATH_MAX 16384 |
|
|
134 | #endif |
130 | #endif |
135 | |
131 | |
136 | /****************************************************************************/ |
132 | /****************************************************************************/ |
137 | |
133 | |
138 | // exception thrown on fatal (per-instance) errors |
134 | // exception thrown on fatal (per-instance) errors |
… | |
… | |
161 | |
157 | |
162 | const char * rxvt_basename (const char *str) NOTHROW; |
158 | const char * rxvt_basename (const char *str) NOTHROW; |
163 | void rxvt_vlog (const char *fmt, va_list arg_ptr) NOTHROW; |
159 | void rxvt_vlog (const char *fmt, va_list arg_ptr) NOTHROW; |
164 | void rxvt_log (const char *fmt,...) NOTHROW; |
160 | void rxvt_log (const char *fmt,...) NOTHROW; |
165 | void rxvt_warn (const char *fmt,...) NOTHROW; |
161 | void rxvt_warn (const char *fmt,...) NOTHROW; |
166 | void rxvt_fatal (const char *fmt, ...) THROW ((class rxvt_failure_exception)) NORETURN; |
162 | void rxvt_fatal (const char *fmt, ...) THROW ((class rxvt_failure_exception)) ecb_noreturn; |
167 | void rxvt_exit_failure () THROW ((class rxvt_failure_exception)) NORETURN; |
163 | void rxvt_exit_failure () THROW ((class rxvt_failure_exception)) ecb_noreturn; |
168 | |
164 | |
169 | char * rxvt_strtrim (char *str) NOTHROW; |
165 | char * rxvt_strtrim (char *str) NOTHROW; |
170 | char ** rxvt_strsplit (char delim, const char *str) NOTHROW; |
166 | char ** rxvt_strsplit (char delim, const char *str) NOTHROW; |
171 | |
167 | |
172 | static inline void |
168 | static inline void |
… | |
… | |
308 | # define NSCREENS 0 |
304 | # define NSCREENS 0 |
309 | #else |
305 | #else |
310 | # define NSCREENS 1 |
306 | # define NSCREENS 1 |
311 | #endif |
307 | #endif |
312 | |
308 | |
313 | /* special (internal) prefix for font commands */ |
|
|
314 | #define FONT_CMD '#' |
|
|
315 | #define FONT_DN "#-" |
|
|
316 | #define FONT_UP "#+" |
|
|
317 | |
|
|
318 | /* flags for rxvt_scr_gotorc () */ |
309 | /* flags for rxvt_term::scr_gotorc () */ |
319 | enum { |
310 | enum { |
320 | C_RELATIVE = 1, /* col movement is relative */ |
311 | C_RELATIVE = 1, /* col movement is relative */ |
321 | R_RELATIVE = 2, /* row movement is relative */ |
312 | R_RELATIVE = 2, /* row movement is relative */ |
322 | RELATIVE = C_RELATIVE | R_RELATIVE, |
313 | RELATIVE = C_RELATIVE | R_RELATIVE, |
323 | }; |
314 | }; |
324 | |
315 | |
325 | /* modes for rxvt_scr_insdel_chars (), rxvt_scr_insdel_lines () */ |
316 | /* modes for rxvt_term::scr_insdel_chars (), rxvt_term::scr_insdel_lines () */ |
326 | enum { |
317 | enum { |
327 | INSERT = -1, /* don't change these values */ |
318 | INSERT = -1, /* don't change these values */ |
328 | DELETE = +1, |
319 | DELETE = +1, |
329 | ERASE = +2, |
320 | ERASE = +2, |
330 | }; |
321 | }; |
331 | |
322 | |
332 | /* modes for rxvt_scr_page () - scroll page. used by scrollbar window */ |
323 | /* modes for rxvt_term::scr_page () - scroll page. used by scrollbar window */ |
333 | enum page_dirn { |
324 | enum page_dirn { |
334 | UP, |
325 | UP, |
335 | DN, |
326 | DN, |
336 | NO_DIR, |
327 | NO_DIR, |
337 | }; |
328 | }; |
338 | |
329 | |
339 | /* arguments for rxvt_scr_change_screen () */ |
330 | /* arguments for rxvt_term::scr_change_screen () */ |
340 | enum { |
331 | enum { |
341 | PRIMARY = 0, |
332 | PRIMARY = 0, |
342 | SECONDARY, |
333 | SECONDARY, |
343 | }; |
334 | }; |
344 | |
335 | |
… | |
… | |
676 | |
667 | |
677 | #define GET_ATTR(x) (((x) & RS_attrMask)) |
668 | #define GET_ATTR(x) (((x) & RS_attrMask)) |
678 | // return attributes defining the background, encoding doesn't matter |
669 | // return attributes defining the background, encoding doesn't matter |
679 | // depends on RS_fgShift > RS_bgShift |
670 | // depends on RS_fgShift > RS_bgShift |
680 | #define GET_BGATTR(x) \ |
671 | #define GET_BGATTR(x) \ |
681 | (expect_false ((x) & RS_RVid) \ |
672 | (ecb_unlikely ((x) & RS_RVid) \ |
682 | ? (((x) & (RS_attrMask & ~RS_RVid)) \ |
673 | ? (((x) & (RS_attrMask & ~RS_RVid)) \ |
683 | | (((x) & RS_fgMask) >> (RS_fgShift - RS_bgShift))) \ |
674 | | (((x) & RS_fgMask) >> (RS_fgShift - RS_bgShift))) \ |
684 | : ((x) & (RS_attrMask | RS_bgMask))) |
675 | : ((x) & (RS_attrMask | RS_bgMask))) |
685 | #define SET_FGCOLOR(x,fg) (((x) & ~RS_fgMask) | ((fg) << RS_fgShift)) |
676 | #define SET_FGCOLOR(x,fg) (((x) & ~RS_fgMask) | ((fg) << RS_fgShift)) |
686 | #define SET_BGCOLOR(x,bg) (((x) & ~RS_bgMask) | ((bg) << RS_bgShift)) |
677 | #define SET_BGCOLOR(x,bg) (((x) & ~RS_bgMask) | ((bg) << RS_bgShift)) |
… | |
… | |
990 | scrollBar_t scrollBar; |
981 | scrollBar_t scrollBar; |
991 | uint8_t options[(Opt_count + 7) >> 3]; |
982 | uint8_t options[(Opt_count + 7) >> 3]; |
992 | XSizeHints szHint; |
983 | XSizeHints szHint; |
993 | rxvt_color *pix_colors; |
984 | rxvt_color *pix_colors; |
994 | Cursor TermWin_cursor; /* cursor for vt window */ |
985 | Cursor TermWin_cursor; /* cursor for vt window */ |
995 | line_t *row_buf; // all lines, scrollback + terminal, circular, followed by temp_buf |
986 | line_t *row_buf; // all lines, scrollback + terminal, circular |
996 | line_t *drawn_buf; // text on screen |
987 | line_t *drawn_buf; // text on screen |
997 | line_t *swap_buf; // lines for swap buffer |
988 | line_t *swap_buf; // lines for swap buffer |
998 | char *tabs; /* per location: 1 == tab-stop */ |
989 | char *tabs; /* per location: 1 == tab-stop */ |
999 | screen_t screen; |
990 | screen_t screen; |
1000 | screen_t swap; |
991 | screen_t swap; |