--- rxvt-unicode/src/rxvt.h 2010/05/23 00:02:52 1.406 +++ rxvt-unicode/src/rxvt.h 2010/12/07 19:10:00 1.421 @@ -325,14 +325,15 @@ // 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_fontCount rxvt_fontset::fontCount +#define RS_fontMask ((RS_fontCount << (RS_fontShift + 1)) | RS_Careful) // includes RS_Careful // toggle this to force redraw, must be != RS_Careful and otherwise "pretty neutral" #define RS_redraw (2UL << RS_fontShift) #define RS_Sel (1UL << 22) -// 5 custom bits for extensions +// 4 custom bits for extensions #define RS_customCount 16UL #define RS_customShift 23 #define RS_customMask ((RS_customCount - 1UL) << RS_customShift) @@ -556,6 +557,8 @@ #define PrivMode_MouseBtnEvent (1UL<<20) #define PrivMode_MouseAnyEvent (1UL<<21) #define PrivMode_BracketPaste (1UL<<22) +#define PrivMode_ExtModeMouse (1UL<<23) // xterm pseudo-utf-8 hack +#define PrivMode_ExtMouseRight (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales #define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent) @@ -616,6 +619,8 @@ * MACRO DEFINES ***************************************************************************** */ + +// speed hack, copy some member variable into a local variable of the same name #define dLocal(type,name) type const name = this->name // for speed reasons, we assume that all codepoints 32 to 126 are @@ -806,7 +811,7 @@ text_t **text; rend_t **rend; - // while tempting to add swap() etc. here, it effetcively only increases code size + // while tempting to add swap() etc. here, it effectively only increases code size }; /* ------------------------------------------------------------------------- */ @@ -948,12 +953,13 @@ /* rxvt_vars.options */ enum { -# define def(name,idx) Opt_ ## name = idx, -# define nodef(name) Opt_ ## name = 0, +# define def(name) Opt_ ## name, +# define nodef(name) Opt_prev_ ## name, Opt_ ## name = 0, Opt_next_ ## name = Opt_prev_ ## name - 1, + Opt_0, # include "optinc.h" # undef nodef # undef def -Opt_count + Opt_count }; /* ------------------------------------------------------------------------- */ @@ -1073,7 +1079,7 @@ /* ---------- */ struct mouse_event MEvent; XComposeStatus compose; - struct termios tio; + static struct termios def_tio; row_col_t oldcursor; #ifdef HAVE_BG_PIXMAP bgPixmap_t bgPixmap; @@ -1157,10 +1163,6 @@ #endif #ifdef HAVE_BG_PIXMAP void update_background (); -#if TRACE_PIXMAPS - void trace_update_background (const char *file, int line); -# define update_background() trace_update_background (__FILE__, __LINE__) -#endif void update_background_cb (ev::timer &w, int revents); ev::timer update_background_ev; #endif @@ -1296,6 +1298,7 @@ void create_windows (int argc, const char *const *argv); void get_colours (); void get_ourmods (); + void set_icon (const char *file); // main.C void tt_winch (); rxvt_term (); @@ -1307,6 +1310,7 @@ void window_calc (unsigned int newwidth, unsigned int newheight); bool set_fonts (); void set_string_property (Atom prop, const char *str, int len = -1); + void set_mbstring_property (Atom prop, const char *str, int len = -1); void set_utf8_property (Atom prop, const char *str, int len = -1); void set_title (const char *str); void set_icon_name (const char *str); @@ -1378,24 +1382,10 @@ bool option (uint8_t opt) const NOTHROW { - if (!opt) - return 0; - - --opt; return options[opt >> 3] & (1 << (opt & 7)); } - void set_option (uint8_t opt, bool set = true) NOTHROW - { - if (!opt) - return; - - --opt; - if (set) - options[opt >> 3] |= (1 << (opt & 7)); - else - options[opt >> 3] &= ~(1 << (opt & 7)); - } + void set_option (uint8_t opt, bool set = true) NOTHROW; void set_privmode (unsigned bit, int set) NOTHROW { @@ -1406,6 +1396,7 @@ } // modifies first argument(!) + void tt_paste (char *data, unsigned int len) NOTHROW; void paste (char *data, unsigned int len) NOTHROW; void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs) const NOTHROW; void scr_blank_screen_mem (line_t &l, rend_t efs) const NOTHROW; @@ -1474,7 +1465,6 @@ void selection_request (Time tm, int selnum = Sel_Primary) NOTHROW; int selection_request_other (Atom target, int selnum) NOTHROW; void selection_clear (bool clipboard = false) NOTHROW; - void clipboard_copy (Time tm); void selection_make (Time tm); bool selection_grab (Time tm, bool clipboard = false) NOTHROW; void selection_start_colrow (int col, int row) NOTHROW;