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