--- rxvt-unicode/src/rxvt.h 2007/05/01 21:30:01 1.269 +++ rxvt-unicode/src/rxvt.h 2007/07/12 22:33:16 1.277 @@ -75,7 +75,11 @@ #include typedef struct termios ttymode_t; -#ifdef XPM_BACKGROUND +#ifdef HAVE_AFTERIMAGE +# include +#undef min +#undef max +#elif defined(XPM_BACKGROUND) # ifdef XPM_INC_X11 # include # else @@ -132,7 +136,6 @@ int rxvt_Str_escaped (char *str) NOTHROW; char ** rxvt_splitcommastring (const char *cs) NOTHROW; void rxvt_freecommastring (char **cs) NOTHROW; -char * rxvt_File_find (const char *file, const char *ext, const char *path) NOTHROW; ///////////////////////////////////////////////////////////////////////////// @@ -179,6 +182,7 @@ #ifdef XPM_BACKGROUND typedef struct { short w, h, x, y; + bool auto_resize ; Pixmap pixmap; } bgPixmap_t; #endif @@ -896,7 +900,7 @@ struct mbstate mbstate; // current input multibyte state unsigned char want_refresh:1, -#ifdef TRANSPARENT +#ifdef ENABLE_TRANSPARENCY want_full_refresh:1, /* awaiting full screen refresh */ am_transparent:1, /* is a transparent term */ am_pixmap_trans:1, /* transparency w/known root pixmap */ @@ -950,7 +954,6 @@ mouse_slip_wheel_speed, #endif refresh_count, - refresh_limit, last_bot, /* scrollbar last bottom position */ last_top, /* scrollbar last top position */ last_state, /* scrollbar last state */ @@ -1018,7 +1021,17 @@ row_col_t oldcursor; #ifdef XPM_BACKGROUND bgPixmap_t bgPixmap; +#ifdef HAVE_AFTERIMAGE + struct ASVisual *asv; + /* to get libAfterImage to work with multiple displays we use that hack : */ + /* should not need that with libAfterImage version >= 1.15 */ +#define AFTERIMAGE_DPY_OP(_op) ({::dpy = dpy; _op;}) + ASImageManager *asimman; + ASImage *original_asim; + struct { unsigned int width, height; } xpmAttr; /* all we need is width/height */ +#else XpmAttributes xpmAttr; /* originally loaded pixmap and its scaling */ +#endif #endif #if ENABLE_OVERLAY @@ -1086,10 +1099,15 @@ XSelectInput (dpy, vt, vt_emask | vt_emask_perl | vt_emask_xim); } -#if TRANSPARENT || ENABLE_PERL +#if ENABLE_TRANSPARENCY || ENABLE_PERL void rootwin_cb (XEvent &xev); xevent_watcher rootwin_ev; #endif +#if ENABLE_TRANSPARENCY + int check_our_parents (); + void check_our_parents_cb (time_watcher &w); + time_watcher check_our_parents_ev; +#endif void x_cb (XEvent &xev); void flush (); @@ -1216,7 +1234,6 @@ void focus_in (); void focus_out (); void update_fade_color (unsigned int idx); - int check_our_parents (); #ifdef PRINTPIPE FILE *popen_printer (); int pclose_printer (FILE *stream);