ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvt.h
(Generate patch)

Comparing rxvt-unicode/src/rxvt.h (file contents):
Revision 1.32 by pcg, Mon Feb 9 22:45:29 2004 UTC vs.
Revision 1.37 by pcg, Sun Feb 22 08:09:38 2004 UTC

49 int line; 49 int line;
50 int local; 50 int local;
51} ttymode_t; 51} ttymode_t;
52#endif 52#endif
53 53
54#ifdef GREEK_SUPPORT
55# include "grkelot.h"
56#endif
57#ifdef XPM_BACKGROUND 54#ifdef XPM_BACKGROUND
58# ifdef XPM_INC_X11 55# ifdef XPM_INC_X11
59# include <X11/xpm.h> 56# include <X11/xpm.h>
60# else 57# else
61# include <xpm.h> 58# include <xpm.h>
130 do { \ 127 do { \
131 typeof swapittmp; \ 128 typeof swapittmp; \
132 (swapittmp) = (one); (one) = (two); (two) = (swapittmp); \ 129 (swapittmp) = (one); (one) = (two); (two) = (swapittmp); \
133 } while (/* CONSTCOND */ 0) 130 } while (/* CONSTCOND */ 0)
134#define BOUND_POSITIVE_INT16(val) \ 131#define BOUND_POSITIVE_INT16(val) \
135 (int16_t)((val) <= 0 \ 132 (int16_t) ((val) <= 0 \
136 ? 0 \ 133 ? 0 \
137 : min((val), (((uint16_t)-1)>>1))) 134 : min ((val), (((uint16_t)-1)>>1)))
138 135
139/* 136/*
140 ***************************************************************************** 137 *****************************************************************************
141 * NORMAL DEFINES 138 * NORMAL DEFINES
142 ***************************************************************************** 139 *****************************************************************************
241 * | | :::::::: | 238 * | | :::::::: |
242 * | V :::: vv-------< SB_BEVEL_WIDTH_LOWER_RIGHT 239 * | V :::: vv-------< SB_BEVEL_WIDTH_LOWER_RIGHT
243 * | +---------+ | 240 * | +---------+ |
244 * | | ......%%| | 241 * | | ......%%| |
245 * | | ......%%| | 242 * | | ......%%| |
246 * | | ..()..%%| | 243 * | | .. ()..%%| |
247 * | | ......%%| | 244 * | | ......%%| |
248 * | | %%%%%%%%| | 245 * | | %%%%%%%%| |
249 * | +---------+ | <......................... 246 * | +---------+ | <.........................
250 * | | <---< SB_PADDING : 247 * | | <---< SB_PADDING :
251 * | +---------+ | <-+.......... :---< SB_BUTTON_TOTAL_HEIGHT 248 * | +---------+ | <-+.......... :---< SB_BUTTON_TOTAL_HEIGHT
293/* special (internal) prefix for font commands */ 290/* special (internal) prefix for font commands */
294#define FONT_CMD '#' 291#define FONT_CMD '#'
295#define FONT_DN "#-" 292#define FONT_DN "#-"
296#define FONT_UP "#+" 293#define FONT_UP "#+"
297 294
298/* flags for rxvt_scr_gotorc() */ 295/* flags for rxvt_scr_gotorc () */
299#define C_RELATIVE 1 /* col movement is relative */ 296#define C_RELATIVE 1 /* col movement is relative */
300#define R_RELATIVE 2 /* row movement is relative */ 297#define R_RELATIVE 2 /* row movement is relative */
301#define RELATIVE (R_RELATIVE|C_RELATIVE) 298#define RELATIVE (R_RELATIVE|C_RELATIVE)
302 299
303/* modes for rxvt_scr_insdel_chars(), rxvt_scr_insdel_lines() */ 300/* modes for rxvt_scr_insdel_chars (), rxvt_scr_insdel_lines () */
304#define INSERT -1 /* don't change these values */ 301#define INSERT -1 /* don't change these values */
305#define DELETE +1 302#define DELETE +1
306#define ERASE +2 303#define ERASE +2
307 304
308/* modes for rxvt_scr_page() - scroll page. used by scrollbar window */ 305/* modes for rxvt_scr_page () - scroll page. used by scrollbar window */
309enum page_dirn { 306enum page_dirn {
310 UP, 307 UP,
311 DN, 308 DN,
312 NO_DIR 309 NO_DIR
313}; 310};
314 311
315/* arguments for rxvt_scr_change_screen() */ 312/* arguments for rxvt_scr_change_screen () */
316enum { 313enum {
317 PRIMARY = 0, 314 PRIMARY = 0,
318 SECONDARY 315 SECONDARY
319}; 316};
320 317
473 Rs_backgroundPixmap, 470 Rs_backgroundPixmap,
474#endif 471#endif
475#if (MENUBAR_MAX) 472#if (MENUBAR_MAX)
476 Rs_menu, 473 Rs_menu,
477#endif 474#endif
478#ifdef GREEK_SUPPORT
479 Rs_greek_keyboard,
480 Rs_greektoggle_key,
481#endif
482 Rs_loginShell, 475 Rs_loginShell,
483 Rs_jumpScroll, 476 Rs_jumpScroll,
484#ifdef HAVE_SCROLLBARS 477#ifdef HAVE_SCROLLBARS
485 Rs_scrollBar, 478 Rs_scrollBar,
486 Rs_scrollBar_right, 479 Rs_scrollBar_right,
545 Rs_pointerBlankDelay, 538 Rs_pointerBlankDelay,
546 Rs_imLocale, 539 Rs_imLocale,
547 NUM_RESOURCES 540 NUM_RESOURCES
548}; 541};
549 542
550// see init.C:xa_named, which must be kept in sync 543// see init.C:xa_names, which must be kept in sync
551enum { 544enum {
552 XA_TEXT = 0, 545 XA_TEXT = 0,
553 XA_COMPOUND_TEXT, 546 XA_COMPOUND_TEXT,
554 XA_UTF8_STRING, 547 XA_UTF8_STRING,
555 XA_MULTIPLE, 548 XA_MULTIPLE,
596#define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11) 589#define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11)
597#define PrivMode(test,bit) \ 590#define PrivMode(test,bit) \
598 if (test) \ 591 if (test) \
599 PrivateModes |= (bit); \ 592 PrivateModes |= (bit); \
600 else \ 593 else \
601 PrivateModes &= ~(bit) 594 PrivateModes &= ~ (bit)
602 595
603#ifdef ALLOW_132_MODE 596#ifdef ALLOW_132_MODE
604# define PrivMode_Default \ 597# define PrivMode_Default \
605(PrivMode_Autowrap|PrivMode_aplKP|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK) 598(PrivMode_Autowrap|PrivMode_aplKP|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK)
606#else 599#else
656#define GET_BASEFG(x) (((x) & RS_fgMask)) 649#define GET_BASEFG(x) (((x) & RS_fgMask))
657#define GET_BASEBG(x) (((x) & RS_bgMask)>>Color_Bits) 650#define GET_BASEBG(x) (((x) & RS_bgMask)>>Color_Bits)
658#ifndef NO_BRIGHTCOLOR 651#ifndef NO_BRIGHTCOLOR
659# define GET_FGCOLOR(x) \ 652# define GET_FGCOLOR(x) \
660 ((((x) & RS_Bold) == 0 \ 653 ((((x) & RS_Bold) == 0 \
661 || GET_BASEFG(x) < minCOLOR \ 654 || GET_BASEFG (x) < minCOLOR \
662 || GET_BASEFG(x) >= minBrightCOLOR) \ 655 || GET_BASEFG (x) >= minBrightCOLOR) \
663 ? GET_BASEFG(x) \ 656 ? GET_BASEFG (x) \
664 : (GET_BASEFG(x) + (minBrightCOLOR - minCOLOR))) 657 : (GET_BASEFG (x) + (minBrightCOLOR - minCOLOR)))
665# define GET_BGCOLOR(x) \ 658# define GET_BGCOLOR(x) \
666 ((((x) & RS_Blink) == 0 \ 659 ((((x) & RS_Blink) == 0 \
667 || GET_BASEBG(x) < minCOLOR \ 660 || GET_BASEBG (x) < minCOLOR \
668 || GET_BASEBG(x) >= minBrightCOLOR) \ 661 || GET_BASEBG (x) >= minBrightCOLOR) \
669 ? GET_BASEBG(x) \ 662 ? GET_BASEBG (x) \
670 : (GET_BASEBG(x) + (minBrightCOLOR - minCOLOR))) 663 : (GET_BASEBG (x) + (minBrightCOLOR - minCOLOR)))
671#else 664#else
672# define GET_FGCOLOR(x) GET_BASEFG(x) 665# define GET_FGCOLOR(x) GET_BASEFG(x)
673# define GET_BGCOLOR(x) GET_BASEBG(x) 666# define GET_BGCOLOR(x) GET_BASEBG(x)
674#endif 667#endif
675 668
699#define scrollbar_isUpDn() isupper (scrollBar.state) 692#define scrollbar_isUpDn() isupper (scrollBar.state)
700#define isScrollbarWindow(w) (scrollBar.state && (w) == scrollBar.win) 693#define isScrollbarWindow(w) (scrollBar.state && (w) == scrollBar.win)
701 694
702#define scrollbarnext_dnval() (scrollBar.end + (scrollBar.width + 1)) 695#define scrollbarnext_dnval() (scrollBar.end + (scrollBar.width + 1))
703#define scrollbarnext_upButton(y) ((y) > scrollBar.end \ 696#define scrollbarnext_upButton(y) ((y) > scrollBar.end \
704 && (y) <= scrollbarnext_dnval()) 697 && (y) <= scrollbarnext_dnval ())
705#define scrollbarnext_dnButton(y) ((y) > scrollbarnext_dnval()) 698#define scrollbarnext_dnButton(y) ((y) > scrollbarnext_dnval())
706#define SCROLLNEXT_MINHEIGHT SB_THUMB_MIN_HEIGHT 699#define SCROLLNEXT_MINHEIGHT SB_THUMB_MIN_HEIGHT
707#define scrollbarrxvt_upButton(y) ((y) < scrollBar.beg) 700#define scrollbarrxvt_upButton(y) ((y) < scrollBar.beg)
708#define scrollbarrxvt_dnButton(y) ((y) > scrollBar.end) 701#define scrollbarrxvt_dnButton(y) ((y) > scrollBar.end)
709#define SCROLLRXVT_MINHEIGHT 10 702#define SCROLLRXVT_MINHEIGHT 10
714 : SCROLLRXVT_MINHEIGHT) 707 : SCROLLRXVT_MINHEIGHT)
715#define scrollbar_above_slider(y) ((y) < scrollBar.top) 708#define scrollbar_above_slider(y) ((y) < scrollBar.top)
716#define scrollbar_below_slider(y) ((y) > scrollBar.bot) 709#define scrollbar_below_slider(y) ((y) > scrollBar.bot)
717#define scrollbar_position(y) ((y) - scrollBar.beg) 710#define scrollbar_position(y) ((y) - scrollBar.beg)
718#define scrollbar_size() (scrollBar.end - scrollBar.beg \ 711#define scrollbar_size() (scrollBar.end - scrollBar.beg \
719 - scrollbar_minheight()) 712 - scrollbar_minheight ())
720 713
721#if (MENUBAR_MAX > 1) 714#if (MENUBAR_MAX > 1)
722/* rendition style flags */ 715/* rendition style flags */
723# define menuBar_height() (TermWin.fheight + SHADOW) 716# define menuBar_height() (TermWin.fheight + SHADOW)
724# define menuBar_TotalHeight() (menuBar_height() + SHADOW + menuBar_margin) 717# define menuBar_TotalHeight() (menuBar_height() + SHADOW + menuBar_margin)
819 812
820// primivite wrapper around mbstate_t to ensure initialisation 813// primivite wrapper around mbstate_t to ensure initialisation
821struct mbstate { 814struct mbstate {
822 mbstate_t mbs; 815 mbstate_t mbs;
823 816
824 mbstate () 817 operator mbstate_t *() { return &mbs; }
825 {
826 MEMSET (&mbs, 0, sizeof (mbs)); 818 void reset () { MEMSET (&mbs, 0, sizeof (mbs)); }
827 } 819 mbstate () { reset (); }
828}; 820};
829 821
830struct rxvt_term : rxvt_vars { 822struct rxvt_term : rxvt_vars {
831 struct mbstate mbstate; 823 struct mbstate mbstate;
832 824
867#endif 859#endif
868 scrollbar_align, 860 scrollbar_align,
869 selection_wait, 861 selection_wait,
870 selection_type; 862 selection_type;
871/* ---------- */ 863/* ---------- */
872#ifdef GREEK_SUPPORT
873 short greek_mode; /* greek keyboard mode */
874#endif
875 short rvideo; 864 short rvideo;
876 int16_t num_scr; /* screen: number lines scrolled */ 865 int16_t num_scr; /* screen: number lines scrolled */
877 unsigned int prev_ncol, /* screen: previous number of columns */ 866 unsigned int prev_ncol, /* screen: previous number of columns */
878 prev_nrow; /* screen: previous number of rows */ 867 prev_nrow; /* screen: previous number of rows */
879#ifdef RXVT_GRAPHICS
880 uint16_t gr_prev_start;
881#endif
882/* ---------- */ 868/* ---------- */
883 rend_t rstyle; 869 rend_t rstyle;
884/* ---------- */ 870/* ---------- */
885 uint32_t pixcolor_set[NPIXCLR_SETS]; 871 uint32_t pixcolor_set[NPIXCLR_SETS];
886/* ---------- */ 872/* ---------- */
988 const char *key_delete; 974 const char *key_delete;
989#endif 975#endif
990#if defined (HOTKEY_CTRL) || defined (HOTKEY_META) 976#if defined (HOTKEY_CTRL) || defined (HOTKEY_META)
991 KeySym ks_bigfont, ks_smallfont; 977 KeySym ks_bigfont, ks_smallfont;
992#endif 978#endif
993#ifdef GREEK_SUPPORT
994 KeySym ks_greekmodeswith;
995#endif
996#ifdef USE_XIM 979#ifdef USE_XIM
980 rxvt_xim *input_method;
997 XIC Input_Context; 981 XIC Input_Context;
998 XIMStyle input_style; 982 XIMStyle input_style;
999 int event_type; 983 int event_type;
1000#endif 984#endif
1001 struct mouse_event MEvent; 985 struct mouse_event MEvent;
1002 XComposeStatus compose; 986 XComposeStatus compose;
1003#ifdef RXVT_GRAPHICS
1004 int graphics_up;
1005 struct grwin_t *gr_root;
1006#endif
1007 ttymode_t tio; 987 ttymode_t tio;
1008#ifdef UTMP_SUPPORT 988#ifdef UTMP_SUPPORT
1009# ifdef HAVE_STRUCT_UTMP 989# ifdef HAVE_STRUCT_UTMP
1010 struct utmp ut; 990 struct utmp ut;
1011# endif 991# endif
1020 row_col_t oldcursor; 1000 row_col_t oldcursor;
1021#ifdef XPM_BACKGROUND 1001#ifdef XPM_BACKGROUND
1022 bgPixmap_t bgPixmap; 1002 bgPixmap_t bgPixmap;
1023 XpmAttributes xpmAttr; /* originally loaded pixmap and its scaling */ 1003 XpmAttributes xpmAttr; /* originally loaded pixmap and its scaling */
1024#endif 1004#endif
1025#ifdef MULTICHAR_SET
1026 int oldcursormulti;
1027 void (*multichar_decode)(unsigned char *str, int len);
1028#endif
1029#ifndef RESET_TTY_TO_COMMON_DEFAULTS 1005#ifndef RESET_TTY_TO_COMMON_DEFAULTS
1030 struct stat ttyfd_stat; /* original status of our tty */ 1006 struct stat ttyfd_stat; /* original status of our tty */
1031#endif 1007#endif
1032#ifdef MENUBAR 1008#ifdef MENUBAR
1033 menu_t *ActiveMenu, /* currently active menu */ 1009 menu_t *ActiveMenu, /* currently active menu */
1034 *BuildMenu; /* the menu currently being built */ 1010 *BuildMenu; /* the menu currently being built */
1035 bar_t *CurrentBar; 1011 bar_t *CurrentBar;
1036# if !(MENUBAR_MAX > 1) 1012# if ! (MENUBAR_MAX > 1)
1037 bar_t BarList; 1013 bar_t BarList;
1038# endif /* (MENUBAR_MAX > 1) */ 1014# endif /* (MENUBAR_MAX > 1) */
1039#endif
1040#ifdef RXVT_GRAPHICS
1041 Window gr_last_id;
1042#endif 1015#endif
1043#ifdef CURSOR_BLINK 1016#ifdef CURSOR_BLINK
1044 struct timeval lastcursorchange; 1017 struct timeval lastcursorchange;
1045#endif 1018#endif
1046#ifdef POINTER_BLANK 1019#ifdef POINTER_BLANK
1056 char *codeset; 1029 char *codeset;
1057 char charsets[4]; 1030 char charsets[4];
1058 unsigned char *v_buffer; /* pointer to physical buffer */ 1031 unsigned char *v_buffer; /* pointer to physical buffer */
1059 unsigned int v_buflen; /* size of area to write */ 1032 unsigned int v_buflen; /* size of area to write */
1060 char *newfont[MAX_NFONTS]; 1033 char *newfont[MAX_NFONTS];
1034 stringvec *argv, *envv; /* if != 0, will be freed on destroy time */
1061#ifdef KEYSYM_RESOURCE 1035#ifdef KEYSYM_RESOURCE
1062 const unsigned char *Keysym_map[256]; 1036 const unsigned char *Keysym_map[256];
1063#endif 1037#endif
1064 const char *rs[NUM_RESOURCES]; 1038 const char *rs[NUM_RESOURCES];
1065/* command input buffering */ 1039/* command input buffering */
1132 void init_xlocale (); 1106 void init_xlocale ();
1133 void init_command (const char *const *argv); 1107 void init_command (const char *const *argv);
1134 int run_command (const char *const *argv); 1108 int run_command (const char *const *argv);
1135 int run_child (const char *const *argv); 1109 int run_child (const char *const *argv);
1136 1110
1137 void color_aliases(int idx); 1111 void color_aliases (int idx);
1138 void recolour_cursor (); 1112 void recolour_cursor ();
1139 void create_windows (int argc, const char *const *argv); 1113 void create_windows (int argc, const char *const *argv);
1140 void resize_all_windows (unsigned int width, unsigned int height, int ignoreparent); 1114 void resize_all_windows (unsigned int width, unsigned int height, int ignoreparent);
1141 void window_calc (unsigned int width, unsigned int height); 1115 void window_calc (unsigned int width, unsigned int height);
1142 void set_preedit_area (XRectangle * preedit_rect, XRectangle * status_rect, XRectangle * needed_rect);
1143 1116
1144#if USE_XIM 1117#if USE_XIM
1118 void im_destroy ();
1119 void im_cb (); im_watcher im_ev;
1145 void set_size (XRectangle *size); 1120 void im_set_size (XRectangle *size);
1146 void set_position (XPoint *pos); 1121 void im_set_position (XPoint *pos);
1147 void set_color (unsigned long *fg, unsigned long *bg); 1122 void im_set_color (unsigned long *fg, unsigned long *bg);
1123 void im_set_preedit_area (XRectangle * preedit_rect, XRectangle * status_rect, XRectangle * needed_rect);
1124
1125 bool IMisRunning ();
1126 void IMSendSpot ();
1127 bool IM_get_IC (const char *modifiers);
1128 void IMSetStatusPosition ();
1148#endif 1129#endif
1149 1130
1150 void resize_scrollbar (); 1131 void resize_scrollbar ();
1151 1132
1152 void pixel_position (int *x, int *y); 1133 void pixel_position (int *x, int *y);
1153 1134
1154 void selection_click (int clicks, int x, int y); 1135 void selection_click (int clicks, int x, int y);
1155 void selection_extend (int x, int y, int flag); 1136 void selection_extend (int x, int y, int flag);
1156 void selection_rotate (int x, int y); 1137 void selection_rotate (int x, int y);
1157 1138
1158 /* screen(!) */ 1139 /* screen (!) */
1159 void scr_blank_line (text_t *et, rend_t *er, unsigned int width, rend_t efs); 1140 void scr_blank_line (text_t *et, rend_t *er, unsigned int width, rend_t efs);
1160 void scr_blank_screen_mem (text_t **tp, rend_t **rp, unsigned int row, rend_t efs); 1141 void scr_blank_screen_mem (text_t **tp, rend_t **rp, unsigned int row, rend_t efs);
1161 int scr_scroll_text (int row1, int row2, int count, int spec); 1142 int scr_scroll_text (int row1, int row2, int count, int spec);
1162 void scr_reset (); 1143 void scr_reset ();
1163 void scr_reset_realloc (); 1144 void scr_reset_realloc ();
1190 void process_csi_seq (); 1171 void process_csi_seq ();
1191 void process_window_ops (const int *args, unsigned int nargs); 1172 void process_window_ops (const int *args, unsigned int nargs);
1192 unsigned char * get_to_st (unsigned char *ends_how); 1173 unsigned char * get_to_st (unsigned char *ends_how);
1193 void process_dcs_seq (); 1174 void process_dcs_seq ();
1194 void process_osc_seq (); 1175 void process_osc_seq ();
1195 void xterm_seq (int op, const char *str, unsigned char resp __attribute__((unused))); 1176 void xterm_seq (int op, const char *str, unsigned char resp __attribute__ ((unused)));
1196 int privcases (int mode, unsigned long bit); 1177 int privcases (int mode, unsigned long bit);
1197 void process_terminal_mode (int mode, int priv, unsigned int nargs, const int *arg); 1178 void process_terminal_mode (int mode, int priv, unsigned int nargs, const int *arg);
1198 void process_sgr_mode (unsigned int nargs, const int *arg); 1179 void process_sgr_mode (unsigned int nargs, const int *arg);
1199 void process_graphics (); 1180 void process_graphics ();
1200 // init.C 1181 // init.C
1213 void set_iconName (const char *str); 1194 void set_iconName (const char *str);
1214 void set_window_color (int idx, const char *color); 1195 void set_window_color (int idx, const char *color);
1215 void set_colorfgbg (); 1196 void set_colorfgbg ();
1216 int rXParseAllocColor (rxvt_color * screen_in_out, const char *colour); 1197 int rXParseAllocColor (rxvt_color * screen_in_out, const char *colour);
1217 void set_widthheight (unsigned int width, unsigned int height); 1198 void set_widthheight (unsigned int width, unsigned int height);
1218 bool IMisRunning ();
1219 void IMSendSpot ();
1220 bool IM_get_IC ();
1221 void IMSetStatusPosition ();
1222 1199
1223#ifdef MENUBAR 1200#ifdef MENUBAR
1224 // menubar.C 1201 // menubar.C
1225 void menuitem_free (menu_t *menu, menuitem_t *item); 1202 void menuitem_free (menu_t *menu, menuitem_t *item);
1226 int action_dispatch (action_t *action); 1203 int action_dispatch (action_t *action);
1231 menu_t * menu_add (menu_t *parent, char *path); 1208 menu_t * menu_add (menu_t *parent, char *path);
1232 void drawbox_menubar (int x, int len, int state); 1209 void drawbox_menubar (int x, int len, int state);
1233 void drawtriangle (int x, int y, int state); 1210 void drawtriangle (int x, int y, int state);
1234 void drawbox_menuitem (int y, int state); 1211 void drawbox_menuitem (int y, int state);
1235 void menu_show (); 1212 void menu_show ();
1236 void menu_display (void (*update)(rxvt_t *)); 1213 void menu_display (void (*update) (rxvt_t *));
1237 void menu_hide_all (); 1214 void menu_hide_all ();
1238 void menu_hide (); 1215 void menu_hide ();
1239 void menu_clear (menu_t *menu); 1216 void menu_clear (menu_t *menu);
1240 void menubar_clear (); 1217 void menubar_clear ();
1241 bar_t * menubar_find (const char *name); 1218 bar_t * menubar_find (const char *name);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines