1 | #ifndef RXVT_H_ /* include once only */ |
1 | #ifndef RXVT_H_ /* include once only */ |
2 | #define RXVT_H_ |
2 | #define RXVT_H_ |
3 | |
3 | |
4 | #include <cstdio> |
4 | #include <stdio.h> |
5 | #include <cctype> |
5 | #include <ctype.h> |
6 | #include <cerrno> |
6 | #include <errno.h> |
7 | #include <cstdarg> |
7 | #include <stdarg.h> |
8 | #include <cstdlib> |
8 | #include <stdlib.h> |
9 | #ifdef HAVE_STDINT_H |
9 | #ifdef HAVE_STDINT_H |
10 | #include <stdint.h> |
10 | #include <stdint.h> |
11 | #endif |
11 | #endif |
12 | #include <sys/types.h> |
12 | #include <sys/types.h> |
13 | #include <unistd.h> |
13 | #include <unistd.h> |
14 | #include <cstring> |
14 | #include <string.h> |
15 | #include <assert.h> |
15 | #include <assert.h> |
16 | #ifdef HAVE_SYS_IOCTL_H |
16 | #ifdef HAVE_SYS_IOCTL_H |
17 | #include <sys/ioctl.h> |
17 | #include <sys/ioctl.h> |
18 | #endif |
18 | #endif |
19 | #ifdef HAVE_SYS_STRREDIR_H |
19 | #ifdef HAVE_SYS_STRREDIR_H |
20 | #include <sys/strredir.h> |
20 | #include <sys/strredir.h> |
21 | #endif |
21 | #endif |
22 | |
22 | |
23 | #if HAVE_CWCHAR |
|
|
24 | # include <cwchar> |
|
|
25 | #elif HAVE_WCHAR_H |
23 | #if HAVE_WCHAR_H |
26 | # include <wchar.h> |
24 | # include <wchar.h> |
27 | #else |
25 | #else |
28 | // stdlib.h might provide it |
26 | // stdlib.h might provide it |
29 | #endif |
27 | #endif |
30 | |
28 | |
… | |
… | |
870 | * END······················= total_rows |
868 | * END······················= total_rows |
871 | */ |
869 | */ |
872 | |
870 | |
873 | struct TermWin_t |
871 | struct TermWin_t |
874 | { |
872 | { |
|
|
873 | int vt_width; /* actual window width [pixels] */ |
|
|
874 | int vt_height; /* actual window height [pixels] */ |
875 | int width; /* window width [pixels] */ |
875 | int width; /* window width [pixels] */ |
876 | int height; /* window height [pixels] */ |
876 | int height; /* window height [pixels] */ |
877 | int fwidth; /* font width [pixels] */ |
877 | int fwidth; /* font width [pixels] */ |
878 | int fheight; /* font height [pixels] */ |
878 | int fheight; /* font height [pixels] */ |
879 | int fbase; /* font ascent (baseline) [pixels] */ |
879 | int fbase; /* font ascent (baseline) [pixels] */ |
… | |
… | |
891 | int view_start; /* scrollback view starts here */ |
891 | int view_start; /* scrollback view starts here */ |
892 | int top_row; /* topmost row index of scrollback */ |
892 | int top_row; /* topmost row index of scrollback */ |
893 | Window parent; /* parent identifier */ |
893 | Window parent; /* parent identifier */ |
894 | Window vt; /* vt100 window */ |
894 | Window vt; /* vt100 window */ |
895 | GC gc; /* GC for drawing */ |
895 | GC gc; /* GC for drawing */ |
896 | Pixmap pixmap; |
|
|
897 | rxvt_drawable *drawable; |
896 | rxvt_drawable *drawable; |
898 | rxvt_fontset *fontset[4]; |
897 | rxvt_fontset *fontset[4]; |
899 | }; |
898 | }; |
900 | |
899 | |
901 | /* |
900 | /* |
… | |
… | |
1028 | hidden_pointer:1, |
1027 | hidden_pointer:1, |
1029 | #endif |
1028 | #endif |
1030 | enc_utf8:1, /* whether locale uses utf-8 */ |
1029 | enc_utf8:1, /* whether locale uses utf-8 */ |
1031 | seen_input:1, /* whether we have seen some program output yet */ |
1030 | seen_input:1, /* whether we have seen some program output yet */ |
1032 | seen_resize:1, /* whether we had a resize event */ |
1031 | seen_resize:1, /* whether we had a resize event */ |
|
|
1032 | init_done:1, |
1033 | parsed_geometry:1; |
1033 | parsed_geometry:1; |
1034 | |
1034 | |
1035 | unsigned char refresh_type, |
1035 | unsigned char refresh_type, |
1036 | #ifdef META8_OPTION |
1036 | #ifdef META8_OPTION |
1037 | meta_char; /* Alt-key prefix */ |
1037 | meta_char; /* Alt-key prefix */ |
… | |
… | |
1071 | allowedxerror; |
1071 | allowedxerror; |
1072 | /* ---------- */ |
1072 | /* ---------- */ |
1073 | unsigned int ModLevel3Mask, |
1073 | unsigned int ModLevel3Mask, |
1074 | ModMetaMask, |
1074 | ModMetaMask, |
1075 | ModNumLockMask; |
1075 | ModNumLockMask; |
1076 | int old_width, /* last used width in screen resize */ |
|
|
1077 | old_height; /* last used height in screen resize */ |
|
|
1078 | unsigned long priv_modes, |
1076 | unsigned long priv_modes, |
1079 | SavedModes; |
1077 | SavedModes; |
1080 | /* ---------- */ |
1078 | /* ---------- */ |
1081 | Atom *xa; |
1079 | Atom *xa; |
1082 | /* ---------- */ |
1080 | /* ---------- */ |
… | |
… | |
1159 | void set_tint_shade_flags (); |
1157 | void set_tint_shade_flags (); |
1160 | bool bg_set_tint (rxvt_color &new_tint); |
1158 | bool bg_set_tint (rxvt_color &new_tint); |
1161 | bool bg_set_shade (const char *shade_str); |
1159 | bool bg_set_shade (const char *shade_str); |
1162 | bool bg_set_blur (const char *geom); |
1160 | bool bg_set_blur (const char *geom); |
1163 | |
1161 | |
1164 | bool blur_pixmap (Pixmap pixmap, Visual *visual, int width, int height); |
1162 | bool blur_pixmap (Pixmap pixmap, Visual *visual, int width, int height, int depth); |
1165 | bool tint_pixmap (Pixmap pixmap, Visual *visual, int width, int height); |
1163 | bool tint_pixmap (Pixmap pixmap, Visual *visual, int width, int height); |
1166 | void tint_ximage (Visual *visual, XImage *ximage); |
1164 | void tint_ximage (Visual *visual, XImage *ximage); |
1167 | unsigned long make_transparency_pixmap (); |
1165 | unsigned long make_transparency_pixmap (); |
1168 | # endif |
1166 | # endif |
1169 | |
1167 | |
… | |
… | |
1214 | void scr_overlay_set (int x, int y, const char *s) NOTHROW; |
1212 | void scr_overlay_set (int x, int y, const char *s) NOTHROW; |
1215 | void scr_overlay_set (int x, int y, const wchar_t *s) NOTHROW; |
1213 | void scr_overlay_set (int x, int y, const wchar_t *s) NOTHROW; |
1216 | #endif |
1214 | #endif |
1217 | |
1215 | |
1218 | vector<void *> allocated; // free these memory blocks with free() |
1216 | vector<void *> allocated; // free these memory blocks with free() |
1219 | |
|
|
1220 | char env_windowid[21]; /* environmental variable WINDOWID */ |
|
|
1221 | char env_colorfgbg[sizeof ("COLORFGBG=default;default;bg") + 1]; |
|
|
1222 | char *env_display; /* environmental variable DISPLAY */ |
|
|
1223 | char *env_term; /* environmental variable TERM */ |
|
|
1224 | |
1217 | |
1225 | char *locale; |
1218 | char *locale; |
1226 | char charsets[4]; |
1219 | char charsets[4]; |
1227 | char *v_buffer; /* pointer to physical buffer */ |
1220 | char *v_buffer; /* pointer to physical buffer */ |
1228 | unsigned int v_buflen; /* size of area to write */ |
1221 | unsigned int v_buflen; /* size of area to write */ |
… | |
… | |
1415 | void set_mbstring_property (Atom prop, const char *str, int len = -1); |
1408 | void set_mbstring_property (Atom prop, const char *str, int len = -1); |
1416 | void set_utf8_property (Atom prop, const char *str, int len = -1); |
1409 | void set_utf8_property (Atom prop, const char *str, int len = -1); |
1417 | void set_title (const char *str); |
1410 | void set_title (const char *str); |
1418 | void set_icon_name (const char *str); |
1411 | void set_icon_name (const char *str); |
1419 | void set_window_color (int idx, const char *color); |
1412 | void set_window_color (int idx, const char *color); |
1420 | void set_colorfgbg (); |
1413 | char *get_colorfgbg (); |
1421 | bool set_color (rxvt_color &color, const char *name); |
1414 | bool set_color (rxvt_color &color, const char *name); |
1422 | void alias_color (int dst, int src); |
1415 | void alias_color (int dst, int src); |
1423 | void set_widthheight (unsigned int newwidth, unsigned int newheight); |
1416 | void set_widthheight (unsigned int newwidth, unsigned int newheight); |
1424 | void get_window_origin (int &x, int &y); |
1417 | void get_window_origin (int &x, int &y); |
1425 | Pixmap get_pixmap_property (Atom property); |
1418 | Pixmap get_pixmap_property (Atom property); |