… | |
… | |
37 | #include "rxvttoolkit.h" |
37 | #include "rxvttoolkit.h" |
38 | #include "iom.h" |
38 | #include "iom.h" |
39 | #include "salloc.h" |
39 | #include "salloc.h" |
40 | |
40 | |
41 | #include "rxvtperl.h" |
41 | #include "rxvtperl.h" |
42 | #include "logging.h" |
|
|
43 | |
42 | |
44 | // try to avoid some macros to decrease code size, on some systems |
43 | // try to avoid some macros to decrease code size, on some systems |
45 | #if ENABLE_MINIMAL |
44 | #if ENABLE_MINIMAL |
46 | # define strcmp(a,b) (strcmp)(a,b) |
45 | # define strcmp(a,b) (strcmp)(a,b) |
47 | # define strlen(a) (strlen)(a) |
46 | # define strlen(a) (strlen)(a) |
… | |
… | |
94 | #ifndef STDIN_FILENO |
93 | #ifndef STDIN_FILENO |
95 | # define STDIN_FILENO 0 |
94 | # define STDIN_FILENO 0 |
96 | # define STDOUT_FILENO 1 |
95 | # define STDOUT_FILENO 1 |
97 | # define STDERR_FILENO 2 |
96 | # define STDERR_FILENO 2 |
98 | #endif |
97 | #endif |
|
|
98 | |
|
|
99 | enum rxvt_privaction { IGNORE = 'i', SAVE = 's', RESTORE = 'r' };//TODO |
99 | |
100 | |
100 | /* |
101 | /* |
101 | ***************************************************************************** |
102 | ***************************************************************************** |
102 | * PROTOTYPES |
103 | * PROTOTYPES |
103 | ***************************************************************************** |
104 | ***************************************************************************** |
… | |
… | |
172 | typedef struct { |
173 | typedef struct { |
173 | short w, h, x, y; |
174 | short w, h, x, y; |
174 | Pixmap pixmap; |
175 | Pixmap pixmap; |
175 | } bgPixmap_t; |
176 | } bgPixmap_t; |
176 | #endif |
177 | #endif |
|
|
178 | |
|
|
179 | struct rxvt_ptytty { |
|
|
180 | int pty; // pty file descriptor; connected to rxvt |
|
|
181 | int tty; // tty file descriptor; connected to child |
|
|
182 | |
|
|
183 | virtual ~rxvt_ptytty () |
|
|
184 | { |
|
|
185 | // |
|
|
186 | } |
|
|
187 | |
|
|
188 | virtual bool get () = 0; |
|
|
189 | |
|
|
190 | virtual void login (int cmd_pid, bool login_shell, const char *hostname) = 0; |
|
|
191 | virtual void logout () = 0; |
|
|
192 | |
|
|
193 | void close_tty (); |
|
|
194 | |
|
|
195 | bool make_controlling_tty (); |
|
|
196 | void set_utf8_mode (bool on); |
|
|
197 | }; |
|
|
198 | |
|
|
199 | // a "factory" *g* |
|
|
200 | rxvt_ptytty *rxvt_new_ptytty (); |
177 | |
201 | |
178 | /* |
202 | /* |
179 | * the 'essential' information for reporting Mouse Events |
203 | * the 'essential' information for reporting Mouse Events |
180 | * pared down from XButtonEvent |
204 | * pared down from XButtonEvent |
181 | */ |
205 | */ |
… | |
… | |
1123 | const char *rs[NUM_RESOURCES]; |
1147 | const char *rs[NUM_RESOURCES]; |
1124 | /* command input buffering */ |
1148 | /* command input buffering */ |
1125 | char *cmdbuf_ptr, *cmdbuf_endp; |
1149 | char *cmdbuf_ptr, *cmdbuf_endp; |
1126 | char cmdbuf_base[CBUFSIZ]; |
1150 | char cmdbuf_base[CBUFSIZ]; |
1127 | |
1151 | |
1128 | rxvt_ptytty pty; |
1152 | rxvt_ptytty *pty; |
1129 | rxvt_session session; |
|
|
1130 | |
1153 | |
1131 | rxvt_salloc *talloc; // text line allocator |
1154 | rxvt_salloc *talloc; // text line allocator |
1132 | rxvt_salloc *ralloc; // rend line allocator |
1155 | rxvt_salloc *ralloc; // rend line allocator |
1133 | |
1156 | |
1134 | static vector<rxvt_term *> termlist; // a vector of all running rxvt_term's |
1157 | static vector<rxvt_term *> termlist; // a vector of all running rxvt_term's |