--- rxvt-unicode/src/rxvt.h 2006/01/25 02:53:13 1.243 +++ rxvt-unicode/src/rxvt.h 2006/01/30 16:12:58 1.248 @@ -34,6 +34,7 @@ #endif #include "encoding.h" +#include "rxvtutil.h" #include "rxvtfont.h" #include "rxvttoolkit.h" #include "iom.h" @@ -100,27 +101,6 @@ /****************************************************************************/ -#ifndef __attribute__ -# if __GNUC__ -# if (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || (__GNUC__ < 2) -# define __attribute__(x) -# endif -# endif -# define __attribute__(x) -#endif - -#define NORETURN __attribute__ ((noreturn)) -#define UNUSED __attribute__ ((unused)) - -// increases code size unless -fno-enforce-eh-specs -#if __GNUC__ -# define NOTHROW -# define THROW(x) -#else -# define NOTHROW throw() -# define THROW(x) throw x -#endif - // exception thrown on fatal (per-instance) errors class rxvt_failure_exception { }; @@ -434,6 +414,9 @@ #define RS_RVid 0x00020000UL // reverse video #define RS_Uline 0x00040000UL // underline +// toggle this to force redraw, must be != RS_Careful +#define RS_redraw 0x01000000UL + // 5 custom bits for extensions #define RS_customCount 32 #define RS_customMask 0x00f80000UL @@ -512,6 +495,7 @@ Rxvt_dumpscreen = 55, // dump scrollback and all of screen URxvt_locale = 701, // change locale + URxvt_version = 702, // request version URxvt_Color_IT = 704, // change actual 'Italic' colour URxvt_Color_tint = 705, // change actual tint colour @@ -701,12 +685,11 @@ ***************************************************************************** */ #define dLocal(type,name) type const name = this->name -#define dDisp Display *disp = this->display->display // for speed reasons, we assume that all latin1 characters -// are single-width (the first unicdoe combining character +// are single-width (the first unicode combining character // is actually 0x300, but ascii is what matters most). -#define WCWIDTH(c) ((c) < 0x100 ? 1 : wcwidth (c)) +#define WCWIDTH(c) ((c) & ~0xff ? wcwidth (c) : 1) /* convert pixel dimensions to row/column values. Everything as int32_t */ #define Pixel2Col(x) Pixel2Width((int32_t)(x)) @@ -913,7 +896,7 @@ class keyboard_manager; #endif -struct rxvt_term : zero_initialized, rxvt_vars { +struct rxvt_term : zero_initialized, rxvt_vars, rxvt_screen { log_callback *log_hook; // log error messages through this hook, if != 0 getfd_callback *getfd_hook; // convert remote to local fd, if != 0 #if ENABLE_PERL @@ -1113,7 +1096,7 @@ void vt_select_input () const NOTHROW { - XSelectInput (display->display, vt, vt_emask | vt_emask_perl | vt_emask_xim); + XSelectInput (xdisp, vt, vt_emask | vt_emask_perl | vt_emask_xim); } #if TRANSPARENT