--- rxvt-unicode/src/rxvt.h 2010/03/31 23:01:51 1.386 +++ rxvt-unicode/src/rxvt.h 2010/03/31 23:49:08 1.390 @@ -308,40 +308,43 @@ #define RS_None 0 -#define RS_fgMask 0x0000007fUL // 128 colors -#define RS_bgMask 0x00003f80UL // 128 colors +#define RS_colorMask 0x0000007fUL // 128 colors +#define RS_fgShift 0 +#define RS_bgShift Color_Bits +#define RS_fgMask (RS_colorMask << RS_fgShift) +#define RS_bgMask (RS_colorMask << RS_bgShift) // font styles -#define RS_Bold 0x00004000UL // value 1 -#define RS_Italic 0x00008000UL // value 2 +#define RS_Bold 0x08000000UL // value 1 +#define RS_Italic 0x10000000UL // value 2 // fake styles -#define RS_Blink 0x00010000UL // blink -#define RS_RVid 0x00020000UL // reverse video -#define RS_Uline 0x00040000UL // underline - -// toggle this to force redraw, must be != RS_Careful and otherwise "pretty neutral" -#define RS_redraw 0x02000000UL +#define RS_Blink 0x20000000UL // blink +#define RS_RVid 0x40000000UL // reverse video +#define RS_Uline 0x80000000UL // underline // 5 custom bits for extensions #define RS_customCount 16 -#define RS_customMask 0x00780000UL -#define RS_customShift 19 +#define RS_customMask 0x07800000UL +#define RS_customShift 23 // must have space for rxvt_fontset::fontCount * 2 + 2 values -#define RS_fontMask 0xf8000000UL // includes RS_Careful -#define RS_fontShift 27 -#define RS_Careful 0x08000000UL /* be careful when drawing these */ +#define RS_fontMask 0x007c0000UL // includes RS_Careful +#define RS_fontShift 18 +#define RS_Careful 0x00010000UL /* be careful when drawing these */ + +// toggle this to force redraw, must be != RS_Careful and otherwise "pretty neutral" +#define RS_redraw 0x00020000UL #define RS_styleCount 4 #define RS_styleMask (RS_Bold | RS_Italic) -#define RS_styleShift 14 +#define RS_styleShift 27 #define RS_baseattrMask (RS_Italic | RS_Bold | RS_Blink | RS_RVid | RS_Uline) #define RS_attrMask (RS_baseattrMask | RS_fontMask) -#define DEFAULT_RSTYLE (RS_None | Color_fg | (Color_bg << Color_Bits)) -#define OVERLAY_RSTYLE (RS_None | Color_Black | (Color_Yellow << Color_Bits)) +#define DEFAULT_RSTYLE (RS_None | (Color_fg << RS_fgShift) | (Color_bg << RS_bgShift)) +#define OVERLAY_RSTYLE (RS_None | (Color_Black << RS_fgShift) | (Color_Yellow << RS_bgShift)) #define Sel_none 0 /* Not waiting */ #define Sel_normal 0x01 /* normal selection */ @@ -457,7 +460,11 @@ Color_White = maxCOLOR, #endif minTermCOLOR = Color_White + 1, +#ifndef XTERM_256_COLORS maxTermCOLOR = Color_White + 72, +#else + maxTermCOLOR = Color_White + 240, +#endif #ifndef NO_CURSORCOLOR Color_cursor, Color_cursor2, @@ -497,7 +504,11 @@ #endif }; +#ifndef XTERM_256_COLORS #define Color_Bits 7 // 0 .. maxTermCOLOR +#else +#define Color_Bits 9 // 0 .. maxTermCOLOR +#endif /* * Resource list @@ -618,8 +629,8 @@ #define ROW(n) ROW_of (this, n) /* how to build & extract colors and attributes */ -#define GET_BASEFG(x) (((x) & RS_fgMask)) -#define GET_BASEBG(x) (((x) & RS_bgMask)>>Color_Bits) +#define GET_BASEFG(x) (((x) & RS_fgMask) >> RS_fgShift) +#define GET_BASEBG(x) (((x) & RS_bgMask) >> RS_bgShift) #define GET_FONT(x) (((x) & RS_fontMask) >> RS_fontShift) #define SET_FONT(x,fid) (((x) & ~RS_fontMask) | ((fid) << RS_fontShift)) @@ -630,10 +641,10 @@ #define GET_ATTR(x) (((x) & RS_attrMask)) #define GET_BGATTR(x) \ (((x) & RS_RVid) ? (((x) & (RS_attrMask & ~RS_RVid)) \ - | (((x) & RS_fgMask)<