*** empty log message ***
[dana/urxvt.git] / src / command.h
1 /*
2  * $Id: command.h,v 1.14 2004-08-15 00:37:04 root Exp $
3  */
4
5 #ifndef COMMAND_H_
6 #define COMMAND_H_
7
8 // STRING_MAX __MUST__ not be larger than what CBUFSIZ can hold.
9 #define STRING_MAX      2048    /* max string size for process_rxvt_xterm_seq() */
10
11 #define ESC_ARGS        32      /* max # of args for esc sequences */
12
13 #ifdef OFFIX_DND
14 # define DndFile        2
15 # define DndDir         5
16 # define DndLink        7
17 #endif
18
19 /* a large REFRESH_PERIOD causes problems with `cat' */
20 #define REFRESH_PERIOD          2
21
22 #ifndef MULTICLICK_TIME
23 # define MULTICLICK_TIME        500
24 #endif
25 #ifndef SCROLLBAR_INITIAL_DELAY
26 # define SCROLLBAR_INITIAL_DELAY        0.33
27 #endif
28 #ifndef SCROLLBAR_CONTINUOUS_DELAY
29 # define SCROLLBAR_CONTINUOUS_DELAY     0.05
30 #endif
31
32 /*
33  * key-strings: if only these keys were standardized <sigh>
34  */
35 #ifdef LINUX_KEYS
36 # define KS_HOME        "\033[1~"       /* Home == Find */
37 # define KS_END         "\033[4~"       /* End == Select */
38 #else
39 # define KS_HOME        "\033[7~"       /* Home */
40 # define KS_END         "\033[8~"       /* End */
41 #endif
42
43 #ifdef SCROLL_ON_SHIFT
44 # define SCROLL_SHIFTKEY (shft)
45 # define NOSCROLL_SHIFTKEY 0
46 #else
47 # define SCROLL_SHIFTKEY 0
48 # define NOSCROLL_SHIFTKEY (shft)
49 #endif
50 #ifdef SCROLL_ON_CTRL
51 # define SCROLL_CTRLKEY  (ctrl)
52 # define NOSCROLL_CTRLKEY 0
53 #else
54 # define SCROLL_CTRLKEY 0
55 # define NOSCROLL_CTRLKEY (ctrl)
56 #endif
57 #ifdef SCROLL_ON_META
58 # define SCROLL_METAKEY  (meta)
59 # define NOSCROLL_METAKEY 0
60 #else
61 # define SCROLL_METAKEY 0
62 # define NOSCROLL_METAKEY (meta)
63 #endif
64 #define IS_SCROLL_MOD  ((SCROLL_SHIFTKEY || SCROLL_CTRLKEY || SCROLL_METAKEY) \
65               && (!NOSCROLL_SHIFTKEY && !NOSCROLL_CTRLKEY && !NOSCROLL_METAKEY))
66
67
68 /*
69  * ESC-Z processing:
70  *
71  * By stealing a sequence to which other xterms respond, and sending the
72  * same number of characters, but having a distinguishable sequence,
73  * we can avoid having a timeout (when not under an rxvt) for every login
74  * shell to auto-set its DISPLAY.
75  *
76  * This particular sequence is even explicitly stated as obsolete since
77  * about 1985, so only very old software is likely to be confused, a
78  * confusion which can likely be remedied through termcap or TERM. Frankly,
79  * I doubt anyone will even notice.  We provide a #ifdef just in case they
80  * don't care about auto-display setting.  Just in case the ancient
81  * software in question is broken enough to be case insensitive to the 'c'
82  * character in the answerback string, we make the distinguishing
83  * characteristic be capitalization of that character. The length of the
84  * two strings should be the same so that identical read (2) calls may be
85  * used.
86  */
87 #define VT100_ANS       "\033[?1;2c"    /* vt100 answerback */
88 #ifndef ESCZ_ANSWER
89 # define ESCZ_ANSWER    VT100_ANS       /* obsolete ANSI ESC[c */
90 #endif
91
92 #endif  /* _COMMAND_H_ */