--- rxvt-unicode/src/rxvt.h 2006/01/11 05:29:40 1.197 +++ rxvt-unicode/src/rxvt.h 2006/01/13 04:59:04 1.201 @@ -115,6 +115,24 @@ void rxvt_Draw_Triangle (Display *display, Window win, GC topShadow, GC botShadow, int x, int y, int w, int type); void rxvt_usleep (int usecs); +///////////////////////////////////////////////////////////////////////////// + +// temporarily replace the process environment +extern char **environ; +extern char **rxvt_environ; // the original environ pointer + +inline void set_environ (stringvec *envv) +{ + if (envv) + environ = (char **)envv->begin (); +} + +inline void set_environ (char **envv) +{ + if (envv) + environ = envv; +} + /* ***************************************************************************** * STRUCTURES AND TYPEDEFS @@ -700,8 +718,6 @@ #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 \ @@ -1194,7 +1210,12 @@ // modifies first argument(!) void paste (char *data, unsigned int len); - void flush (); + long vt_emask, vt_emask_perl; + + void vt_select_input () + { + XSelectInput (display->display, vt, vt_emask | vt_emask_perl); + } #if TRANSPARENT void rootwin_cb (XEvent &xev); @@ -1202,6 +1223,7 @@ #endif void x_cb (XEvent &xev); + void flush (); xevent_watcher termwin_ev; xevent_watcher vt_ev; #ifdef HAVE_SCROLLBARS