--- rxvt-unicode/src/rxvt.h 2006/01/06 20:50:58 1.189 +++ rxvt-unicode/src/rxvt.h 2006/01/11 00:59:58 1.195 @@ -21,6 +21,8 @@ #include "iom.h" #include "salloc.h" +#include "rxvtperl.h" + #if ENABLE_FRILLS # define ENABLE_XEMBED 1 # define ENABLE_EWMH 1 @@ -211,10 +213,6 @@ # define NO_MOUSE_REPORT_SCROLLBAR 1 #endif -#ifdef NO_RESOURCES -# undef USE_XGETDEFAULT -#endif - #if defined (ISO_14755) || defined (ENABLE_PERL) # define ENABLE_OVERLAY 1 #endif @@ -699,6 +697,13 @@ #define Width2Pixel(n) ((int32_t)(n) * (int32_t)fwidth) #define Height2Pixel(n) ((int32_t)(n) * (int32_t)fheight) +#define TEMP_ENV temp_environ temp_environ (envv) + +#define OPTION(opt) (options & (opt)) +#define DEFAULT_OPTIONS (Opt_scrollBar | Opt_scrollTtyOutput \ + | Opt_jumpScroll | Opt_secondaryScreen \ + | Opt_pastableTabs | Opt_intensityStyles) + // for m >= -n, ensure remainder lies between 0..n-1 #define MOD(m,n) (((m) + (n)) % (n)) @@ -834,7 +839,7 @@ #define SET_LOCALE(locale) rxvt_set_locale (locale) extern bool rxvt_set_locale (const char *locale); -extern bool rxvt_push_locale (const char *locale); +extern void rxvt_push_locale (const char *locale); extern void rxvt_pop_locale (); /****************************************************************************/ @@ -966,13 +971,11 @@ #endif struct rxvt_term : zero_initialized, rxvt_vars { - log_callback *log_hook; // log error messages through this hook, if != 0 + 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 - void *self; // perl's $self + rxvt_perl_term perl; #endif - struct mbstate mbstate; // current input multibyte state unsigned char want_refresh:1, @@ -1441,6 +1444,19 @@ return base; } + bool option (uint32_t opt) + { + return OPTION (opt); + } + + void set_option (uint32_t opt, bool set) + { + if (set) + options |= opt; + else + options &= ~opt; + } + void scr_blank_line (line_t &l, unsigned int col, unsigned int width, rend_t efs); void scr_blank_screen_mem (line_t &l, rend_t efs); int scr_scroll_text (int row1, int row2, int count); @@ -1493,6 +1509,8 @@ int scr_changeview (unsigned int oldviewstart); void scr_bell (); void scr_printscreen (int fullhist); + void scr_xor_rect (int beg_row, int beg_col, int end_row, int end_col, rend_t rstyle1, rend_t rstyle2); + void scr_xor_span (int beg_row, int beg_col, int end_row, int end_col, rend_t rstyle); void scr_reverse_selection (); void scr_dump (int fd); void selection_check (int check_more);