--- rxvt-unicode/src/rxvt.h 2007/06/10 15:16:15 1.272 +++ rxvt-unicode/src/rxvt.h 2007/10/15 07:40:26 1.311 @@ -79,14 +79,10 @@ # include #undef min #undef max -#elif defined(XPM_BACKGROUND) -# ifdef XPM_INC_X11 -# include -# else -# include -# endif #endif +#include "background.h" + #ifndef STDIN_FILENO # define STDIN_FILENO 0 # define STDOUT_FILENO 1 @@ -107,9 +103,6 @@ ***************************************************************************** */ // main.C -RETSIGTYPE rxvt_Child_signal (int sig) NOTHROW; -RETSIGTYPE rxvt_Exit_signal (int sig) NOTHROW; -void rxvt_clean_exit () NOTHROW; void * rxvt_malloc (size_t size); void * rxvt_calloc (size_t number, size_t size); void * rxvt_realloc (void *ptr, size_t size); @@ -119,24 +112,19 @@ wchar_t * rxvt_mbstowcs (const char *str, int len = -1); char * rxvt_wcstoutf8 (const wchar_t *str, int len = -1); wchar_t * rxvt_utf8towcs (const char *str, int len = -1); -char * rxvt_strdup_cpp (const char *str); #define rxvt_strdup(s) ((s) ? strdup(s) : 0) -char * rxvt_r_basename (const char *str) NOTHROW; +char * rxvt_basename (const char *str) NOTHROW; void rxvt_vlog (const char *fmt, va_list arg_ptr) NOTHROW; void rxvt_log (const char *fmt,...) NOTHROW; void rxvt_warn (const char *fmt,...) NOTHROW; void rxvt_fatal (const char *fmt, ...) THROW ((class rxvt_failure_exception)) NORETURN; void rxvt_exit_failure () THROW ((class rxvt_failure_exception)) NORETURN; -int rxvt_Str_match (const char *s1, const char *s2) NOTHROW; -const char * rxvt_Str_skip_space (const char *str) NOTHROW; -char * rxvt_Str_trim (char *str) NOTHROW; -int rxvt_Str_escaped (char *str) NOTHROW; +char * rxvt_strtrim (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; ///////////////////////////////////////////////////////////////////////////// @@ -144,7 +132,7 @@ extern char **environ; extern char **rxvt_environ; // the original environ pointer -inline void set_environ (stringvec *envv) +static inline void set_environ (stringvec *envv) { #if ENABLE_PERL assert (envv); @@ -154,7 +142,7 @@ environ = (char **)envv->begin (); } -inline void set_environ (char **envv) +static inline void set_environ (char **envv) { #if ENABLE_PERL assert (envv); @@ -180,14 +168,6 @@ # undef KEEP_SCROLLCOLOR #endif -#ifdef XPM_BACKGROUND -typedef struct { - short w, h, x, y; - bool auto_resize ; - Pixmap pixmap; -} bgPixmap_t; -#endif - /* * the 'essential' information for reporting Mouse Events * pared down from XButtonEvent @@ -242,7 +222,7 @@ /* COLORTERM, TERM environment variables */ #define COLORTERMENV "rxvt" -#ifdef XPM_BACKGROUND +#ifdef BG_IMAGE_FROM_FILE # define COLORTERMENVFULL COLORTERMENV "-xpm" #else # define COLORTERMENVFULL COLORTERMENV @@ -569,7 +549,7 @@ Color_scroll, Color_trough, #endif -#if TINTING +#if ENABLE_TRANSPARENCY Color_tint, #endif #if OFF_FOCUS_FADING @@ -624,11 +604,6 @@ /* #define PrivMode_MouseX11Track (1LU<<20) */ #define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11) -#define PrivMode(test,bit) \ - if (test) \ - priv_modes |= (bit); \ - else \ - priv_modes &= ~(bit) #ifdef ALLOW_132_MODE # define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK) @@ -760,12 +735,6 @@ #define scrollbar_size() (scrollBar.end - scrollBar.beg \ - scrollbar_minheight ()) -#ifdef XPM_BACKGROUND -# define XPMClearArea(a, b, c, d, e, f, g) XClearArea((a), (b), (c), (d), (e), (f), (g)) -#else -# define XPMClearArea(a, b, c, d, e, f, g) -#endif - typedef callback log_callback; typedef callback getfd_callback; @@ -901,11 +870,6 @@ struct mbstate mbstate; // current input multibyte state unsigned char want_refresh:1, -#ifdef TRANSPARENT - want_full_refresh:1, /* awaiting full screen refresh */ - am_transparent:1, /* is a transparent term */ - am_pixmap_trans:1, /* transparency w/known root pixmap */ -#endif current_screen:1, /* primary or secondary */ num_scr_allow:1, bypass_keystate:1, @@ -955,7 +919,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 */ @@ -1011,25 +974,16 @@ /* ---------- */ Cursor leftptr_cursor; /* ---------- */ -#ifndef NO_BACKSPACE_KEY - const char *key_backspace; -#endif -#ifndef NO_DELETE_KEY - const char *key_delete; -#endif struct mouse_event MEvent; XComposeStatus compose; ttymode_t tio; row_col_t oldcursor; -#ifdef XPM_BACKGROUND +#ifdef HAVE_BG_PIXMAP bgPixmap_t bgPixmap; -#ifdef HAVE_AFTERIMAGE +#endif +#ifdef HAVE_AFTERIMAGE + ASVisual *asv; 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 @@ -1087,9 +1041,6 @@ # endif #endif - // modifies first argument(!) - void paste (char *data, unsigned int len) NOTHROW; - long vt_emask, vt_emask_perl, vt_emask_xim; void vt_select_input () const NOTHROW @@ -1097,17 +1048,17 @@ 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 TRANSPARENT - void check_our_parents_cb (time_watcher &w); - time_watcher check_our_parents_ev; +#ifdef HAVE_BG_PIXMAP + int update_background (); + void update_background_cb (time_watcher &w); + time_watcher update_background_ev; #endif void x_cb (XEvent &xev); - void flush (); xevent_watcher termwin_ev; xevent_watcher vt_ev; #ifdef HAVE_SCROLLBARS @@ -1117,7 +1068,9 @@ void child_cb (child_watcher &w, int status); child_watcher child_ev; void check_cb (check_watcher &w); check_watcher check_ev; void destroy_cb (time_watcher &w); time_watcher destroy_ev; + void flush (); void flush_cb (time_watcher &w); time_watcher flush_ev; + bool pty_fill (); void pty_cb (io_watcher &w, short revents); io_watcher pty_ev; void incr_cb (time_watcher &w) NOTHROW; time_watcher incr_ev; @@ -1151,24 +1104,11 @@ void tt_write (const char *data, unsigned int len); void pty_write (); - void tt_winch (); - - rxvt_term (); - ~rxvt_term (); - void destroy (); - void emergency_cleanup (); - - bool init (int argc, const char *const *argv, stringvec *envv); - bool init (stringvec *argv, stringvec *envv) { this->argv = argv; return init (argv->size (), argv->begin (), envv); } - - bool init_vars (); - - bool pty_fill (); void make_current () const // make this the "currently active" urxvt instance { @@ -1177,22 +1117,6 @@ rxvt_set_locale (locale); } - void init_secondary (); - const char **init_resources (int argc, const char *const *argv); - const char *x_resource (const char *name); - void init_env (); - void set_locale (const char *locale); - void init_xlocale (); - void init_command (const char *const *argv); - void run_command (const char *const *argv); - int run_child (const char *const *argv); - - void color_aliases (int idx); - void recolour_cursor (); - void create_windows (int argc, const char *const *argv); - void resize_all_windows (unsigned int newwidth, unsigned int newheight, int ignoreparent); - void window_calc (unsigned int newwidth, unsigned int newheight); - #if USE_XIM rxvt_xim *input_method; XIC Input_Context; @@ -1212,8 +1136,6 @@ void IMSetPosition (); #endif - void resize_scrollbar (); - // command.C void key_press (XKeyEvent &ev); void key_release (XKeyEvent &ev); @@ -1231,7 +1153,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); @@ -1252,9 +1173,29 @@ void process_sgr_mode (unsigned int nargs, const int *arg); void process_graphics (); // init.C + bool init_vars (); + void init_secondary (); + const char **init_resources (int argc, const char *const *argv); + void init_env (); + void set_locale (const char *locale); + void init_xlocale (); + void init_command (const char *const *argv); + void run_command (const char *const *argv); + int run_child (const char *const *argv); + void color_aliases (int idx); + void create_windows (int argc, const char *const *argv); void Get_Colours (); void get_ourmods (); // main.C + void tt_winch (); + rxvt_term (); + ~rxvt_term (); + void destroy (); + void emergency_cleanup (); + bool init (int argc, const char *const *argv, stringvec *envv); + void recolour_cursor (); + void resize_all_windows (unsigned int newwidth, unsigned int newheight, int ignoreparent); + 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_utf8_property (Atom prop, const char *str, int len = -1); @@ -1265,6 +1206,8 @@ bool set_color (rxvt_color &color, const char *name); void alias_color (int dst, int src); void set_widthheight (unsigned int newwidth, unsigned int newheight); + void get_window_origin (int &x, int &y); + Pixmap get_pixmap_property (int prop_id); // screen.C @@ -1337,6 +1280,16 @@ options[opt >> 3] &= ~(1 << (opt & 7)); } + void PrivMode (int set, unsigned bit) NOTHROW + { + if (set) + priv_modes |= bit; + else + priv_modes &= ~bit; + } + + // modifies first argument(!) + 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; int scr_scroll_text (int row1, int row2, int count) NOTHROW; @@ -1353,7 +1306,6 @@ #endif void scr_touch (bool refresh) NOTHROW; void scr_expose (int x, int y, int width, int height, bool refresh) NOTHROW; - rxvt_fontset *scr_find_fontset (rend_t r = DEFAULT_RSTYLE); void scr_recolour () NOTHROW; void scr_remap_chars () NOTHROW; void scr_remap_chars (line_t &l) NOTHROW; @@ -1440,6 +1392,7 @@ #endif // scrollbar.C + void resize_scrollbar (); int scrollbar_mapping (int map); int scrollbar_show (int update); void setup_scrollbar (const char *scrollalign, const char *scrollstyle, const char *thickness); @@ -1447,24 +1400,9 @@ // xdefaults.C void get_options (int argc, const char *const *argv); int parse_keysym (const char *str, const char *arg); - void get_xdefaults (FILE *stream, const char *name); + const char *x_resource (const char *name); void extract_resources (); - // xpm.C - int scale_pixmap (const char *geom); - void resize_pixmap (); - Pixmap set_bgPixmap (const char *file); }; -/* - ***************************************************************************** - * PROTOTYPES - ***************************************************************************** - */ -#ifdef PROTOTYPES -# define __PROTO(p) p -#else -# define __PROTO(p) () -#endif - #endif /* _RXVT_H_ */