--- rxvt-unicode/src/rxvt.h 2006/01/22 00:36:59 1.233 +++ rxvt-unicode/src/rxvt.h 2006/01/24 16:57:42 1.239 @@ -37,6 +37,7 @@ #include "rxvttoolkit.h" #include "iom.h" #include "salloc.h" +#include "libptytty.h" #include "rxvtperl.h" @@ -170,13 +171,21 @@ inline void set_environ (stringvec *envv) { +#if ENABLE_PERL + assert (envv); +#else if (envv) +#endif environ = (char **)envv->begin (); } inline void set_environ (char **envv) { +#if ENABLE_PERL + assert (envv); +#else if (envv) +#endif environ = envv; } @@ -203,30 +212,6 @@ } bgPixmap_t; #endif -struct rxvt_ptytty { - int pty; // pty file descriptor; connected to rxvt - int tty; // tty file descriptor; connected to child - - rxvt_ptytty () - : pty(-1), tty(-1) - { - } - - virtual ~rxvt_ptytty () - { - } - - virtual bool get () = 0; - virtual void login (int cmd_pid, bool login_shell, const char *hostname) = 0; - - void close_tty (); - bool make_controlling_tty (); - void set_utf8_mode (bool on); -}; - -rxvt_ptytty *rxvt_new_ptytty (); // create a new pty object -void rxvt_ptytty_server (); // start the ptytty server process - /* * the 'essential' information for reporting Mouse Events * pared down from XButtonEvent @@ -1153,7 +1138,7 @@ char *cmdbuf_ptr, *cmdbuf_endp; char cmdbuf_base[CBUFSIZ]; - rxvt_ptytty *pty; + ptytty *pty; rxvt_salloc *talloc; // text line allocator rxvt_salloc *ralloc; // rend line allocator @@ -1174,11 +1159,11 @@ // modifies first argument(!) void paste (char *data, unsigned int len) NOTHROW; - long vt_emask, vt_emask_perl; + long vt_emask, vt_emask_perl, vt_emask_xim; void vt_select_input () const NOTHROW { - XSelectInput (display->display, vt, vt_emask | vt_emask_perl); + XSelectInput (display->display, vt, vt_emask | vt_emask_perl | vt_emask_xim); } #if TRANSPARENT @@ -1274,10 +1259,10 @@ void window_calc (unsigned int newwidth, unsigned int newheight); #if USE_XIM - rxvt_xim *input_method; - XIC Input_Context; - XIMStyle input_style; - XPoint spot; // most recently sent spot position + rxvt_xim *input_method; + XIC Input_Context; + XIMStyle input_style; + XPoint spot; // most recently sent spot position void im_destroy (); void im_cb (); im_watcher im_ev; @@ -1345,7 +1330,7 @@ // screen.C - void lalloc (line_t &l) const NOTHROW + void lalloc (line_t &l) const { l.t = (text_t *)talloc->alloc (); l.r = (rend_t *)ralloc->alloc (); @@ -1359,7 +1344,7 @@ } #endif - void lresize (line_t &l) const NOTHROW + void lresize (line_t &l) const { if (!l.t) return; @@ -1437,10 +1422,11 @@ enum cursor_mode { SAVE, RESTORE }; - void scr_poweron () NOTHROW; + void scr_poweron (); void scr_cursor (cursor_mode mode) NOTHROW; void scr_do_wrap () NOTHROW; - int scr_change_screen (int scrn) NOTHROW; + void scr_swap_screen () NOTHROW; + void scr_change_screen (int scrn); void scr_color (unsigned int color, int fgbg) NOTHROW; void scr_rendition (int set, int style) NOTHROW; void scr_add_lines (const wchar_t *str, int len, int minlines = 0) NOTHROW; @@ -1542,9 +1528,5 @@ # define __PROTO(p) () #endif -#ifdef DEBUG_malloc -# include "dmalloc.h" /* This comes last */ -#endif - #endif /* _RXVT_H_ */