1 | #ifndef _RXVTLIB_H_ /* include once only */ |
1 | #ifndef _RXVTLIB_H_ /* include once only */ |
2 | #define _RXVTLIB_H_ |
2 | #define _RXVTLIB_H_ |
3 | |
3 | |
4 | #include <stdio.h> |
4 | #include <cstdio> |
5 | #include <ctype.h> |
5 | #include <cctype> |
6 | #include <errno.h> |
6 | #include <cerrno> |
7 | @include_stdarg_h@ |
7 | @include_stdarg_h@ |
8 | @include_stdlib_h@ |
8 | @include_stdlib_h@ |
9 | @include_stdint_h@ |
9 | @include_stdint_h@ |
10 | #include <sys/types.h> |
10 | #include <sys/types.h> |
11 | @include_unistd_h@ |
11 | @include_unistd_h@ |
… | |
… | |
20 | @include_sys_strredir_h@ |
20 | @include_sys_strredir_h@ |
21 | |
21 | |
22 | #include <sys/wait.h> |
22 | #include <sys/wait.h> |
23 | #include <sys/stat.h> |
23 | #include <sys/stat.h> |
24 | |
24 | |
|
|
25 | #include <cwchar> |
|
|
26 | |
25 | extern "C" { |
27 | extern "C" { |
26 | #include <X11/Intrinsic.h> /* Xlib, Xutil, Xresource, Xfuncproto */ |
28 | #include <X11/Intrinsic.h> /* Xlib, Xutil, Xresource, Xfuncproto */ |
27 | } |
29 | } |
28 | |
30 | |
29 | /* |
31 | /* |
… | |
… | |
44 | struct rxvt_color; |
46 | struct rxvt_color; |
45 | struct rxvt_vars; /* defined later on */ |
47 | struct rxvt_vars; /* defined later on */ |
46 | struct rxvt_term; |
48 | struct rxvt_term; |
47 | struct rxvt_display; |
49 | struct rxvt_display; |
48 | struct rxvt_im; |
50 | struct rxvt_im; |
|
|
51 | struct rxvt_drawable; |
49 | |
52 | |
50 | typedef struct rxvt_term *rxvt_t; |
53 | typedef struct rxvt_term *rxvt_t; |
51 | |
54 | |
52 | extern rxvt_t rxvt_current_term; |
55 | extern rxvt_t rxvt_current_term; |
53 | |
56 | |
… | |
… | |
60 | typedef struct { |
63 | typedef struct { |
61 | int32_t row; |
64 | int32_t row; |
62 | int32_t col; |
65 | int32_t col; |
63 | } row_col_t; |
66 | } row_col_t; |
64 | |
67 | |
65 | #if UNICODE3 |
68 | #if UNICODE_3 |
66 | typedef uint32_t text_t; |
69 | typedef uint32_t text_t; |
67 | #else |
70 | #else |
68 | typedef uint16_t text_t; // saves lots of memory |
71 | typedef uint16_t text_t; // saves lots of memory |
69 | #endif |
72 | #endif |
70 | typedef uint32_t rend_t; |
73 | typedef uint32_t rend_t; |
… | |
… | |
100 | Window parent[6]; /* parent identifiers - we're parent[0] */ |
103 | Window parent[6]; /* parent identifiers - we're parent[0] */ |
101 | Window vt; /* vt100 window */ |
104 | Window vt; /* vt100 window */ |
102 | GC gc; /* GC for drawing */ |
105 | GC gc; /* GC for drawing */ |
103 | Pixmap pixmap; |
106 | Pixmap pixmap; |
104 | rxvt_fontset *fontset; |
107 | rxvt_fontset *fontset; |
|
|
108 | rxvt_drawable *drawable; |
105 | } TermWin_t; |
109 | } TermWin_t; |
106 | |
110 | |
107 | /* |
111 | /* |
108 | * screen accounting: |
112 | * screen accounting: |
109 | * screen_t elements |
113 | * screen_t elements |
… | |
… | |
155 | SELECTION_CONT, /* continued selection */ |
159 | SELECTION_CONT, /* continued selection */ |
156 | SELECTION_DONE /* selection put in CUT_BUFFER0 */ |
160 | SELECTION_DONE /* selection put in CUT_BUFFER0 */ |
157 | }; |
161 | }; |
158 | |
162 | |
159 | typedef struct { |
163 | typedef struct { |
160 | unsigned char *text; /* selected text */ |
164 | wchar_t *text; /* selected text */ |
161 | uint32_t len; /* length of selected text */ |
165 | uint32_t len; /* length of selected text */ |
162 | short screen; /* screen being used */ |
166 | short screen; /* screen being used */ |
163 | short clicks; /* number of clicks */ |
167 | short clicks; /* number of clicks */ |
164 | selection_op_t op; /* current operation */ |
168 | selection_op_t op; /* current operation */ |
165 | row_col_t beg; /* beginning of selection <= mark */ |
169 | row_col_t beg; /* beginning of selection <= mark */ |
… | |
… | |
195 | #define Opt_meta8 (1LU<<10) |
199 | #define Opt_meta8 (1LU<<10) |
196 | #define Opt_scrollTtyOutput (1LU<<11) |
200 | #define Opt_scrollTtyOutput (1LU<<11) |
197 | #define Opt_scrollTtyKeypress (1LU<<12) |
201 | #define Opt_scrollTtyKeypress (1LU<<12) |
198 | #define Opt_transparent (1LU<<13) |
202 | #define Opt_transparent (1LU<<13) |
199 | #define Opt_transparent_all (1LU<<14) |
203 | #define Opt_transparent_all (1LU<<14) |
200 | #define Opt_mc_hack (1LU<<15) |
204 | #define Opt_15 (1LU<<15) // UNALLOCATED |
201 | #define Opt_tripleclickwords (1LU<<16) |
205 | #define Opt_tripleclickwords (1LU<<16) |
202 | #define Opt_scrollWithBuffer (1LU<<17) |
206 | #define Opt_scrollWithBuffer (1LU<<17) |
203 | #define Opt_jumpScroll (1LU<<18) |
207 | #define Opt_jumpScroll (1LU<<18) |
204 | #define Opt_mouseWheelScrollPage (1LU<<19) |
208 | #define Opt_mouseWheelScrollPage (1LU<<19) |
205 | #define Opt_pointerBlank (1LU<<20) |
209 | #define Opt_pointerBlank (1LU<<20) |
… | |
… | |
214 | /* ------------------------------------------------------------------------- */ |
218 | /* ------------------------------------------------------------------------- */ |
215 | |
219 | |
216 | typedef struct { |
220 | typedef struct { |
217 | short state; |
221 | short state; |
218 | Window win; |
222 | Window win; |
|
|
223 | struct rxvt_drawable *drawable; |
219 | } menuBar_t; |
224 | } menuBar_t; |
220 | |
225 | |
221 | typedef struct { |
226 | typedef struct { |
222 | char state; /* scrollbar state */ |
227 | char state; /* scrollbar state */ |
223 | char init; /* scrollbar has been initialised */ |
228 | char init; /* scrollbar has been initialised */ |