--- rxvt-unicode/src/rxvt.h 2010/04/01 00:58:38 1.396 +++ rxvt-unicode/src/rxvt.h 2010/05/23 00:02:52 1.406 @@ -249,7 +249,11 @@ # define COLORTERMENVFULL COLORTERMENV #endif #ifndef TERMENV -# define TERMENV "rxvt-unicode" +# if USE_256_COLORS +# define TERMENV "rxvt-unicode-256color" +# else +# define TERMENV "rxvt-unicode" +# endif #endif #if defined (NO_MOUSE_REPORT) && !defined (NO_MOUSE_REPORT_SCROLLBAR) @@ -306,6 +310,9 @@ SECONDARY, }; +// define various rendition bits and masks. the rendition word +// is 32 bits in size, and we should use it as efficiently as possible + #define RS_None 0 // GET_BGATTR depends on RS_fgShift > RS_bgShift @@ -315,31 +322,33 @@ #define RS_bgMask (RS_colorMask << RS_bgShift) #define RS_fgMask (RS_colorMask << RS_fgShift) -// font styles -#define RS_Bold 0x08000000UL // value 1 -#define RS_Italic 0x10000000UL // value 2 +// must have space for rxvt_fontset::fontCount * 2 + 2 values +#define RS_fontShift (RS_fgShift + Color_Bits) +#define RS_Careful (1UL << RS_fontShift) /* be careful when drawing these */ +#define RS_fontMask ((rxvt_fontset::fontCount << (RS_fontShift + 1)) | RS_Careful) // includes RS_Careful -#define RS_styleCount 4 -#define RS_styleMask (RS_Bold | RS_Italic) -#define RS_styleShift 27 +// toggle this to force redraw, must be != RS_Careful and otherwise "pretty neutral" +#define RS_redraw (2UL << RS_fontShift) -// fake styles -#define RS_Blink 0x20000000UL // blink -#define RS_RVid 0x40000000UL // reverse video -#define RS_Uline 0x80000000UL // underline +#define RS_Sel (1UL << 22) // 5 custom bits for extensions #define RS_customCount 16UL #define RS_customShift 23 #define RS_customMask ((RS_customCount - 1UL) << RS_customShift) -// must have space for rxvt_fontset::fontCount * 2 + 2 values -#define RS_fontShift (RS_fgShift + Color_Bits) -#define RS_Careful (1UL << RS_fontShift) /* be careful when drawing these */ -#define RS_fontMask ((rxvt_fontset::fontCount << (RS_fontShift + 1)) | RS_Careful) // includes RS_Careful +// font styles +#define RS_Bold (1UL << RS_styleShift) +#define RS_Italic (2UL << RS_styleShift) -// toggle this to force redraw, must be != RS_Careful and otherwise "pretty neutral" -#define RS_redraw (2UL << RS_fontShift) +#define RS_styleCount 4 +#define RS_styleShift 27 +#define RS_styleMask (RS_Bold | RS_Italic) + +// fake styles +#define RS_Blink (1UL << 29) +#define RS_RVid (1UL << 30) // reverse video +#define RS_Uline (1UL << 31) // underline #define RS_baseattrMask (RS_Italic | RS_Bold | RS_Blink | RS_RVid | RS_Uline) #define RS_attrMask (RS_baseattrMask | RS_fontMask) @@ -384,7 +393,8 @@ XTerm_Color_pointer_bg = 14, // change actual 'Pointer' bg color XTerm_Color05 = 15, // not implemented (tektronix fg) XTerm_Color06 = 16, // not implemented (tektronix bg) - XTerm_Color_RV = 17, // change actual 'Highlight' color + XTerm_Color_HC = 17, // change actual 'Highlight' bg color + XTerm_Color_HTC = 19, // change actual 'Highlight' fg color XTerm_logfile = 46, // not implemented XTerm_font = 50, @@ -396,8 +406,6 @@ */ // deprecated - Rxvt_Color_BD = 18, - Rxvt_Color_UL = 19, Rxvt_restoreFG = 39, Rxvt_restoreBG = 49, @@ -461,10 +469,10 @@ Color_White = maxCOLOR, #endif minTermCOLOR = Color_White + 1, -#ifndef USE_256_COLORS - maxTermCOLOR = Color_White + 72, -#else +#if USE_256_COLORS maxTermCOLOR = Color_White + 240, +#else + maxTermCOLOR = Color_White + 72, #endif #ifndef NO_CURSORCOLOR Color_cursor, @@ -484,6 +492,7 @@ #endif #ifdef OPTION_HC Color_HC, + Color_HTC, #endif Color_scroll, #ifdef RXVT_SCROLLBAR @@ -505,10 +514,10 @@ #endif }; -#ifndef USE_256_COLORS -#define Color_Bits 7 // 0 .. maxTermCOLOR +#if USE_256_COLORS +# define Color_Bits 9 // 0 .. maxTermCOLOR #else -#define Color_Bits 9 // 0 .. maxTermCOLOR +# define Color_Bits 7 // 0 .. maxTermCOLOR #endif /* @@ -956,7 +965,6 @@ XSizeHints szHint; rxvt_color *pix_colors; Cursor TermWin_cursor; /* cursor for vt window */ - int numlock_state; line_t *row_buf; // all lines, scrollback + terminal, circular, followed by temp_buf line_t *drawn_buf; // text on screen line_t *swap_buf; // lines for swap buffer