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.60 by pcg, Mon Mar 22 15:15:04 2004 UTC vs.
Revision 1.69 by pcg, Fri Apr 2 20:41:01 2004 UTC

2#define RXVT_H_ 2#define RXVT_H_
3 3
4#include "rxvtlib.h" 4#include "rxvtlib.h"
5 5
6#include "feature.h" 6#include "feature.h"
7
8#include <limits.h>
7 9
8#include <X11/cursorfont.h> 10#include <X11/cursorfont.h>
9#include <X11/keysym.h> 11#include <X11/keysym.h>
10#include <X11/keysymdef.h> 12#include <X11/keysymdef.h>
11#include <X11/Xatom.h> 13#include <X11/Xatom.h>
352 */ 354 */
353enum { 355enum {
354 XTerm_name = 0, 356 XTerm_name = 0,
355 XTerm_iconName = 1, 357 XTerm_iconName = 1,
356 XTerm_title = 2, 358 XTerm_title = 2,
357 XTerm_property = 3, // change X property, not yet implemented 359 XTerm_property = 3, // change X property
358 XTerm_Color = 4, // change colors 360 XTerm_Color = 4, // change colors
359 XTerm_Color00 = 10, // not implemented, CLASH! 361 XTerm_Color00 = 10, // not implemented, CLASH!
360 XTerm_Color01 = 11, // not implemented 362 XTerm_Color01 = 11, // not implemented
361 XTerm_Color_cursor = 12, // change actual 'Cursor' color 363 XTerm_Color_cursor = 12, // change actual 'Cursor' color
362 XTerm_Color_pointer = 13, // change actual 'Pointer' color 364 XTerm_Color_pointer_fg = 13, // change actual 'Pointer' color
363 XTerm_Color04 = 14, // not implemented 365 XTerm_Color_pointer_bg = 14, // not implemented
364 XTerm_Color05 = 15, // not implemented 366 XTerm_Color05 = 15, // not implemented
365 XTerm_Color06 = 16, // not implemented 367 XTerm_Color06 = 16, // not implemented
366 XTerm_Color_RV = 17, // change actual 'Highlight' color 368 XTerm_Color_RV = 17, // change actual 'Highlight' color
367 XTerm_logfile = 46, // not implemented 369 XTerm_logfile = 46, // not implemented
368 XTerm_font = 50, 370 XTerm_font = 50,
371 XTerm_konsole31 = 31, // reserved for konsole 373 XTerm_konsole31 = 31, // reserved for konsole
372 XTerm_emacs51 = 51, // reserved for emacs shell 374 XTerm_emacs51 = 51, // reserved for emacs shell
373 /* 375 /*
374 * rxvt extensions of XTerm OSCs: ESC ] Ps;Pt (ST|BEL) 376 * rxvt extensions of XTerm OSCs: ESC ] Ps;Pt (ST|BEL)
375 */ 377 */
376 XTerm_Menu = 10, // set menu item
377 XTerm_Color_BD = 18, // change actual 'Bold' color 378 XTerm_Color_BD = 18, // change actual 'Bold' color
378 XTerm_Color_UL = 19, // change actual 'Underline' color 379 XTerm_Color_UL = 19, // change actual 'Underline' color
379 XTerm_Pixmap = 20, // new bg pixmap 380 XTerm_Pixmap = 20, // new bg pixmap
380 XTerm_restoreFG = 39, // change default fg color 381 XTerm_restoreFG = 39, // change default fg color
381 XTerm_restoreBG = 49, // change default bg color 382 XTerm_restoreBG = 49, // change default bg color
382 XTerm_dumpscreen = 55, // dump scrollback and all of screen 383 XTerm_dumpscreen = 55, // dump scrollback and all of screen
383 XTerm_locale = 701, // change locale 384 XTerm_locale = 701, // change locale
384 XTerm_findfont = 702, // find font of given character (in decimal) 385 XTerm_findfont = 702, // find font of given character (in decimal)
386 XTerm_Menu = 703, // set menu item
385}; 387};
386 388
387/* Words starting with `Color_' are colours. Others are counts */ 389/* Words starting with `Color_' are colours. Others are counts */
388/* 390/*
389 * The following comment is mostly obsolete since pixcolor_set was expanded: 391 * The following comment is mostly obsolete since pixcolor_set was expanded:
426#endif 428#endif
427#ifndef NO_CURSORCOLOR 429#ifndef NO_CURSORCOLOR
428 Color_cursor, 430 Color_cursor,
429 Color_cursor2, 431 Color_cursor2,
430#endif 432#endif
431 Color_pointer, 433 Color_pointer_fg,
434 Color_pointer_bg,
432 Color_border, 435 Color_border,
433#ifndef NO_BOLD_UNDERLINE_REVERSE 436#ifndef NO_BOLD_UNDERLINE_REVERSE
434 Color_BD, 437 Color_BD,
435 Color_UL, 438 Color_UL,
436 Color_RV, 439 Color_RV,
439 Color_HC, 442 Color_HC,
440#endif 443#endif
441#ifdef KEEP_SCROLLCOLOR 444#ifdef KEEP_SCROLLCOLOR
442 Color_scroll, 445 Color_scroll,
443 Color_trough, 446 Color_trough,
447#endif
448#if TINTING
449 Color_tint,
444#endif 450#endif
445 NRS_COLORS, /* */ 451 NRS_COLORS, /* */
446#ifdef KEEP_SCROLLCOLOR 452#ifdef KEEP_SCROLLCOLOR
447 Color_topShadow = NRS_COLORS, 453 Color_topShadow = NRS_COLORS,
448 Color_bottomShadow, 454 Color_bottomShadow,
533#endif 539#endif
534 Rs_cutchars, 540 Rs_cutchars,
535 Rs_modifier, 541 Rs_modifier,
536 Rs_answerbackstring, 542 Rs_answerbackstring,
537 Rs_tripleclickwords, 543 Rs_tripleclickwords,
544 Rs_insecure,
538 Rs_cursorBlink, 545 Rs_cursorBlink,
539 Rs_pointerBlank, 546 Rs_pointerBlank,
540 Rs_pointerBlankDelay, 547 Rs_pointerBlankDelay,
541 Rs_imLocale, 548 Rs_imLocale,
549#ifndef NO_SECONDARY_SCREEN
550 Rs_secondaryScreen,
551 Rs_secondaryScroll,
552#endif
542 NUM_RESOURCES 553 NUM_RESOURCES
543}; 554};
544 555
545// see init.C:xa_names, which must be kept in sync 556// see init.C:xa_names, which must be kept in sync
546enum { 557enum {
553 XA_VT_SELECTION, 564 XA_VT_SELECTION,
554 XA_INCR, 565 XA_INCR,
555 XA_WMDELETEWINDOW, 566 XA_WMDELETEWINDOW,
556#ifdef TRANSPARENT 567#ifdef TRANSPARENT
557 XA_XROOTPMAPID, 568 XA_XROOTPMAPID,
569 XA_XSETROOTID,
558#endif 570#endif
559#ifdef OFFIX_DND /* OffiX Dnd (drag 'n' drop) support */ 571#ifdef OFFIX_DND /* OffiX Dnd (drag 'n' drop) support */
560 XA_DNDPROTOCOL, 572 XA_DNDPROTOCOL,
561 XA_DNDSELECTION, 573 XA_DNDSELECTION,
562#endif /* OFFIX_DND */ 574#endif /* OFFIX_DND */
608#define IMBUFSIZ 128 // input modifier buffer sizes 620#define IMBUFSIZ 128 // input modifier buffer sizes
609#define KBUFSZ 512 // size of keyboard mapping buffer 621#define KBUFSZ 512 // size of keyboard mapping buffer
610#define CBUFSIZ 4096 // size of command buffer 622#define CBUFSIZ 4096 // size of command buffer
611#define UBUFSIZ 4096 // character buffer 623#define UBUFSIZ 4096 // character buffer
612 624
625#ifndef PATH_MAX
626# define PATH_MAX 16384
627#endif
628
613/* 629/*
614 ***************************************************************************** 630 *****************************************************************************
615 * MACRO DEFINES 631 * MACRO DEFINES
616 ***************************************************************************** 632 *****************************************************************************
617 */ 633 */
797extern void rxvt_warn (const char *fmt, ...); 813extern void rxvt_warn (const char *fmt, ...);
798extern void rxvt_fatal (const char *fmt, ...) __attribute__ ((noreturn)); 814extern void rxvt_fatal (const char *fmt, ...) __attribute__ ((noreturn));
799extern void rxvt_exit_failure () __attribute__ ((noreturn)); 815extern void rxvt_exit_failure () __attribute__ ((noreturn));
800 816
801#define SET_LOCALE(locale) rxvt_set_locale (locale) 817#define SET_LOCALE(locale) rxvt_set_locale (locale)
802extern void rxvt_set_locale (const char *locale); 818extern bool rxvt_set_locale (const char *locale);
803 819
804/* 820/*
805 ***************************************************************************** 821 *****************************************************************************
806 * VARIABLES 822 * VARIABLES
807 ***************************************************************************** 823 *****************************************************************************
868extern class rxvt_composite_vec rxvt_composite; 884extern class rxvt_composite_vec rxvt_composite;
869#endif 885#endif
870 886
871 887
872struct rxvt_term : rxvt_vars { 888struct rxvt_term : rxvt_vars {
873 log_callback *log_hook; 889 log_callback *log_hook; // log error messages through this hook, if != 0
874 890
875 struct mbstate mbstate; 891 struct mbstate mbstate; // current input multibyte state
876 892
877 unsigned char want_refresh:1, 893 unsigned char want_refresh:1,
878#ifdef TRANSPARENT 894#ifdef TRANSPARENT
879 want_full_refresh:1, /* awaiting full screen refresh */ 895 want_full_refresh:1, /* awaiting full screen refresh */
880#endif 896#endif
905#endif 921#endif
906#ifndef NO_SETOWNER_TTYDEV 922#ifndef NO_SETOWNER_TTYDEV
907 next_tty_action, 923 next_tty_action,
908#endif 924#endif
909#ifdef META8_OPTION 925#ifdef META8_OPTION
910 meta_char, /* Alt-key prefix */ 926 meta_char, /* Alt-key prefix */
911#endif 927#endif
912 scrollbar_align, 928 scrollbar_align,
913 selection_wait, 929 selection_wait,
914 selection_type; 930 selection_type;
915/* ---------- */ 931/* ---------- */
916 short rvideo; 932 short rvideo;
917 int16_t num_scr; /* screen: number lines scrolled */ 933 int16_t num_scr; /* screen: number lines scrolled */
918 unsigned int prev_ncol, /* screen: previous number of columns */ 934 unsigned int prev_ncol, /* screen: previous number of columns */
919 prev_nrow; /* screen: previous number of rows */ 935 prev_nrow; /* screen: previous number of rows */
920/* ---------- */ 936/* ---------- */
921 rend_t rstyle; 937 rend_t rstyle;
922/* ---------- */ 938/* ---------- */
923 uint32_t pixcolor_set[NPIXCLR_SETS]; 939 uint32_t pixcolor_set[NPIXCLR_SETS];
924/* ---------- */ 940/* ---------- */
1067#endif 1083#endif
1068#ifdef POINTER_BLANK 1084#ifdef POINTER_BLANK
1069 struct timeval lastmotion; 1085 struct timeval lastmotion;
1070#endif 1086#endif
1071 1087
1072 vector<void *> allocated; // free these memory blocks 1088 vector<void *> allocated; // free these memory blocks with free()
1073 1089
1074 char *env_windowid; /* environmental variable WINDOWID */ 1090 char *env_windowid; /* environmental variable WINDOWID */
1075 char *env_display; /* environmental variable DISPLAY */ 1091 char *env_display; /* environmental variable DISPLAY */
1076 char *env_term; /* environmental variable TERM */ 1092 char *env_term; /* environmental variable TERM */
1077 char *env_colorfgbg; 1093 char *env_colorfgbg;
1078 char *locale; 1094 char *locale;
1079#if 0 1095#if 0
1080 char *codeset; 1096 char *codeset;
1081#endif 1097#endif
1082 char charsets[4]; 1098 char charsets[4];
1083 unsigned char *v_buffer; /* pointer to physical buffer */ 1099 unsigned char *v_buffer; /* pointer to physical buffer */
1084 unsigned int v_buflen; /* size of area to write */ 1100 unsigned int v_buflen; /* size of area to write */
1085 stringvec *argv, *envv; /* if != 0, will be freed on destroy time */ 1101 stringvec *argv, *envv; /* if != 0, will be freed on destroy time */
1086#ifdef KEYSYM_RESOURCE 1102#ifdef KEYSYM_RESOURCE
1087 const unsigned char *Keysym_map[256]; 1103 const unsigned char *Keysym_map[256];
1088#endif 1104#endif
1089 const char *rs[NUM_RESOURCES]; 1105 const char *rs[NUM_RESOURCES];
1090 /* command input buffering */ 1106 /* command input buffering */
1091 unsigned char *cmdbuf_ptr, *cmdbuf_endp; 1107 unsigned char *cmdbuf_ptr, *cmdbuf_endp;
1092 unsigned char cmdbuf_base[CBUFSIZ]; 1108 unsigned char cmdbuf_base[CBUFSIZ];
1093 1109
1094 rxvt_salloc *ralloc; 1110 rxvt_salloc *talloc; // text line allocator
1095 rxvt_salloc *talloc; 1111 rxvt_salloc *ralloc; // rend line allocator
1112
1113 static vector<rxvt_term *> termlist; // a vector of all running rxvt_term's
1096 1114
1097 void paste (const unsigned char *data, unsigned int len); 1115 void paste (const unsigned char *data, unsigned int len);
1098 1116
1099 void flush (); 1117 void flush ();
1100 1118
1156 void set_locale (const char *locale); 1174 void set_locale (const char *locale);
1157 void init_xlocale (); 1175 void init_xlocale ();
1158 void init_command (const char *const *argv); 1176 void init_command (const char *const *argv);
1159 int run_command (const char *const *argv); 1177 int run_command (const char *const *argv);
1160 int run_child (const char *const *argv); 1178 int run_child (const char *const *argv);
1179 static void child_exited (int pid);
1161 1180
1162 void color_aliases (int idx); 1181 void color_aliases (int idx);
1163 void recolour_cursor (); 1182 void recolour_cursor ();
1164 void create_windows (int argc, const char *const *argv); 1183 void create_windows (int argc, const char *const *argv);
1165 void resize_all_windows (unsigned int width, unsigned int height, int ignoreparent); 1184 void resize_all_windows (unsigned int width, unsigned int height, int ignoreparent);
1225 void process_csi_seq (); 1244 void process_csi_seq ();
1226 void process_window_ops (const int *args, unsigned int nargs); 1245 void process_window_ops (const int *args, unsigned int nargs);
1227 unsigned char *get_to_st (unicode_t &ends_how); 1246 unsigned char *get_to_st (unicode_t &ends_how);
1228 void process_dcs_seq (); 1247 void process_dcs_seq ();
1229 void process_osc_seq (); 1248 void process_osc_seq ();
1249 void process_color_seq (int report, int color, const char *str, unsigned char resp);
1230 void xterm_seq (int op, const char *str, unsigned char resp __attribute__ ((unused))); 1250 void process_xterm_seq (int op, const char *str, unsigned char resp);
1231 int privcases (int mode, unsigned long bit); 1251 int privcases (int mode, unsigned long bit);
1232 void process_terminal_mode (int mode, int priv, unsigned int nargs, const int *arg); 1252 void process_terminal_mode (int mode, int priv, unsigned int nargs, const int *arg);
1233 void process_sgr_mode (unsigned int nargs, const int *arg); 1253 void process_sgr_mode (unsigned int nargs, const int *arg);
1234 void process_graphics (); 1254 void process_graphics ();
1235 // init.C 1255 // init.C

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines