1 =head1 RXVT TECHNICAL REFERENCE
9 The literal character c.
13 A single (required) character.
17 A single (usually optional) numeric parameter, composed of one or more
22 A multiple numeric parameter composed of any number of single numeric
23 parameters, separated by C<;> character(s).
27 A text parameter composed of printable characters.
37 Enquiry (Ctrl-E) = Send Device Attributes (DA)
38 request attributes from terminal. See B<< C<ESC [ Ps c> >>.
50 Horizontal Tab (HT) (Ctrl-I)
54 Line Feed or New Line (NL) (Ctrl-J)
58 Vertical Tab (Ctrl-K) same as B<< C<LF> >>
62 Form Feed or New Page (NP) (Ctrl-L) same as B<< C<LF> >>
66 Carriage Return (Ctrl-M)
70 Shift Out (Ctrl-N), invokes the G1 character set.
71 Switch to Alternate Character Set
75 Shift In (Ctrl-O), invokes the G0 character set (the default).
76 Switch to Standard Character Set
84 =head1 Escape Sequences
88 =item B<< C<ESC # 8> >>
90 DEC Screen Alignment Test (DECALN)
100 =item B<< C<ESC => >>
102 Application Keypad (SMKX). See also next sequence.
104 =item B<<< C<< ESC >> >>>
108 B<Note:> If the numeric keypad is activated, eg, B<Num_Lock> has been
109 pressed, numbers or control functions are generated by the numeric keypad
112 =item B<< C<ESC D> >>
116 =item B<< C<ESC E> >>
120 =item B<< C<ESC H> >>
124 =item B<< C<ESC M> >>
128 =item B<< C<ESC N> >>
130 Single Shift Select of G2 Character Set (SS2): affects next character
131 only I<unimplemented>
133 =item B<< C<ESC O> >>
135 Single Shift Select of G3 Character Set (SS3): affects next character
136 only I<unimplemented>
138 =item B<< C<ESC Z> >>
140 Obsolete form of returns: B<< C<ESC[?1;2C> >> I<rxvt-unicode compile-time option>
142 =item B<< C<ESC c> >>
146 =item B<< C<ESC n> >>
148 Invoke the G2 Character Set (LS2)
150 =item B<< C<ESC o> >>
152 Invoke the G3 Character Set (LS3)
154 =item B<< C<ESC>(C<C> >>
156 Designate G0 Character Set (ISO 2022), see below for values of C<C>.
158 =item B<< C<ESC>)C<C> >>
160 Designate G1 Character Set (ISO 2022), see below for values of C<C>.
162 =item B<< C<ESC * C> >>
164 Designate G2 Character Set (ISO 2022), see below for values of C<C>.
166 =item B<< C<ESC + C> >>
168 Designate G3 Character Set (ISO 2022), see below for values of C<C>.
170 =item B<< C<ESC $ C> >>
172 Designate Kanji Character Set
174 Where B<< C<C> >> is one of:
178 C = C<0> DEC Special Character and Line Drawing Set
179 C = C<A> United Kingdom (UK)
180 C = C<B> United States (USASCII)
181 C = C<< < >> Multinational character set I<unimplemented>
182 C = C<5> Finnish character set I<unimplemented>
183 C = C<C> Finnish character set I<unimplemented>
184 C = C<K> German character set I<unimplemented>
192 =head1 CSI (Command Sequence Introducer) Sequences
196 =item B<< C<ESC [ Ps @> >>
198 Insert B<< C<Ps> >> (Blank) Character(s) [default: 1] (ICH)X<ESCOBPsA>
200 =item B<< C<ESC [ Ps A> >>
202 Cursor Up B<< C<Ps> >> Times [default: 1] (CUU)
204 =item B<< C<ESC [ Ps B> >>
206 Cursor Down B<< C<Ps> >> Times [default: 1] (CUD)X<ESCOBPsC>
208 =item B<< C<ESC [ Ps C> >>
210 Cursor Forward B<< C<Ps> >> Times [default: 1] (CUF)
212 =item B<< C<ESC [ Ps D> >>
214 Cursor Backward B<< C<Ps> >> Times [default: 1] (CUB)
216 =item B<< C<ESC [ Ps E> >>
218 Cursor Down B<< C<Ps> >> Times [default: 1] and to first column
220 =item B<< C<ESC [ Ps F> >>
222 Cursor Up B<< C<Ps> >> Times [default: 1] and to first columnX<ESCOBPsG>
224 =item B<< C<ESC [ Ps G> >>
226 Cursor to Column B<< C<Ps> >> (HPA)
228 =item B<< C<ESC [ Ps;Ps H> >>
230 Cursor Position [row;column] [default: 1;1] (CUP)
232 =item B<< C<ESC [ Ps I> >>
234 Move forward B<< C<Ps> >> tab stops [default: 1]
236 =item B<< C<ESC [ Ps J> >>
238 Erase in Display (ED)
242 B<< C<Ps = 0> >> Clear Below (default)
243 B<< C<Ps = 1> >> Clear Above
244 B<< C<Ps = 2> >> Clear All
248 =item B<< C<ESC [ Ps K> >>
254 B<< C<Ps = 0> >> Clear to Right (default)
255 B<< C<Ps = 1> >> Clear to Left
256 B<< C<Ps = 2> >> Clear All
260 =item B<< C<ESC [ Ps L> >>
262 Insert B<< C<Ps> >> Line(s) [default: 1] (IL)
264 =item B<< C<ESC [ Ps M> >>
266 Delete B<< C<Ps> >> Line(s) [default: 1] (DL)
268 =item B<< C<ESC [ Ps P> >>
270 Delete B<< C<Ps> >> Character(s) [default: 1] (DCH)
272 =item B<< C<ESC [ Ps;Ps;Ps;Ps;Ps T> >>
274 Initiate . I<unimplemented> Parameters are
275 [func;startx;starty;firstrow;lastrow].
277 =item B<< C<ESC [ Ps W> >>
283 B<< C<Ps = 0> >> Tab Set (HTS)
284 B<< C<Ps = 2> >> Tab Clear (TBC), Clear Current Column (default)
285 B<< C<Ps = 5> >> Tab Clear (TBC), Clear All
289 =item B<< C<ESC [ Ps X> >>
291 Erase B<< C<Ps> >> Character(s) [default: 1] (ECH)
293 =item B<< C<ESC [ Ps Z> >>
295 Move backward B<< C<Ps> >> [default: 1] tab stops
297 =item B<< C<ESC [ Ps '> >>
299 See B<< C<ESC [ Ps G> >>
301 =item B<< C<ESC [ Ps a> >>
303 See B<< C<ESC [ Ps C> >>
305 =item B<< C<ESC [ Ps c> >>
307 Send Device Attributes (DA)
308 B<< C<Ps = 0> >> (or omitted): request attributes from terminal
309 returns: B<< C<ESC[?1;2c> >> (``I am a VT100 with Advanced Video
312 =item B<< C<ESC [ Ps d> >>
314 Cursor to Line B<< C<Ps> >> (VPA)
316 =item B<< C<ESC [ Ps e> >>
318 See B<< C<ESC [ Ps A> >>
320 =item B<< C<ESC [ Ps;Ps f> >>
322 Horizontal and Vertical Position [row;column] (HVP) [default: 1;1]
324 =item B<< C<ESC [ Ps g> >>
330 B<< C<Ps = 0> >> Clear Current Column (default)
331 B<< C<Ps = 3> >> Clear All (TBC)
335 =item B<< C<ESC [ Ps i> >>
341 B<< C<Ps = 4> >> disable transparent print mode (MC4)
342 B<< C<Ps = 5> >> enable transparent print mode (MC5) I<unimplemented>
346 =item B<< C<ESC [ Pm h> >>
348 Set Mode (SM). See next sequence for description of C<Pm>.
350 =item B<< C<ESC [ Pm l> >>
356 =item B<< C<Ps = 4> >>
360 B<< C<h> >> Insert Mode (SMIR)
361 B<< C<l> >> Replace Mode (RMIR)
365 =item B<< C<Ps = 20> >> (partially implemented)
369 B<< C<h> >> Automatic Newline (LNM)
370 B<< C<l> >> Normal Linefeed (LNM)
376 =item B<< C<ESC [ Pm m> >>
378 Character Attributes (SGR)
382 B<< C<Ps = 0> >> Normal (default)
383 B<< C<Ps = 1 / 21> >> On / Off Bold (bright fg)
384 B<< C<Ps = 3 / 23> >> On / Off Italic (NYI)
385 B<< C<Ps = 4 / 24> >> On / Off Underline
386 B<< C<Ps = 5 / 25> >> On / Off Slow Blink (bright bg)
387 B<< C<Ps = 6 / 26> >> On / Off Rapid Blink (bright bg)
388 B<< C<Ps = 7 / 27> >> On / Off Invisible (NYI)
389 B<< C<Ps = 8 / 27> >> On / Off Inverse
390 B<< C<Ps = 30 / 40> >> fg/bg Black
391 B<< C<Ps = 31 / 41> >> fg/bg Red
392 B<< C<Ps = 32 / 42> >> fg/bg Green
393 B<< C<Ps = 33 / 43> >> fg/bg Yellow
394 B<< C<Ps = 34 / 44> >> fg/bg Blue
395 B<< C<Ps = 35 / 45> >> fg/bg Magenta
396 B<< C<Ps = 36 / 46> >> fg/bg Cyan
397 B<< C<Ps = 37 / 47> >> fg/bg White
398 B<< C<Ps = 39 / 49> >> fg/bg Default
399 B<< C<Ps = 90 / 100> >> fg/bg Bright Black
400 B<< C<Ps = 91 / 101> >> fg/bg Bright Red
401 B<< C<Ps = 92 / 102> >> fg/bg Bright Green
402 B<< C<Ps = 93 / 103> >> fg/bg Bright Yellow
403 B<< C<Ps = 94 / 104> >> fg/bg Bright Blue
404 B<< C<Ps = 95 / 105> >> fg/bg Bright Magenta
405 B<< C<Ps = 96 / 106> >> fg/bg Bright Cyan
406 B<< C<Ps = 97 / 107> >> fg/bg Bright White
407 B<< C<Ps = 99 / 109> >> fg/bg Bright Default
411 =item B<< C<ESC [ Ps n> >>
413 Device Status Report (DSR)
417 B<< C<Ps = 5> >> Status Report B<< C<ESC [ 0 n> >> (``OK'')
418 B<< C<Ps = 6> >> Report Cursor Position (CPR) [row;column] as B<< C<ESC [ r ; c R> >>
419 B<< C<Ps = 7> >> Request Display Name
420 B<< C<Ps = 8> >> Request Version Number (place in window title)
424 =item B<< C<ESC [ Ps;Ps r> >>
426 Set Scrolling Region [top;bottom]
427 [default: full size of window] (CSR)
429 =item B<< C<ESC [ s> >>
433 =item B<< C<ESC [ Ps x> >>
435 Request Terminal Parameters (DECREQTPARM)
437 =item B<< C<ESC [ u> >>
445 =head1 DEC Private Modes
449 =item B<< C<ESC [ ? Pm h> >>
451 DEC Private Mode Set (DECSET)
453 =item B<< C<ESC [ ? Pm l> >>
455 DEC Private Mode Reset (DECRST)
457 =item B<< C<ESC [ ? Pm r> >>
459 Restore previously saved DEC Private Mode Values.
461 =item B<< C<ESC [ ? Pm s> >>
463 Save DEC Private Mode Values.
465 =item B<< C<ESC [ ? Pm t> >>
467 Toggle DEC Private Mode Values (rxvt extension). I<where>
471 =item B<< C<Ps = 1> >> (DECCKM)
475 B<< C<h> >> Application Cursor Keys
476 B<< C<l> >> Normal Cursor Keys
480 =item B<< C<Ps = 2> >> (ANSI/VT52 mode)
484 B<< C<h> >> Enter VT52 mode
485 B<< C<l> >> Enter VT52 mode
489 =item B<< C<Ps = 3> >>
493 B<< C<h> >> 132 Column Mode (DECCOLM)
494 B<< C<l> >> 80 Column Mode (DECCOLM)
498 =item B<< C<Ps = 4> >>
502 B<< C<h> >> Smooth (Slow) Scroll (DECSCLM)
503 B<< C<l> >> Jump (Fast) Scroll (DECSCLM)
507 =item B<< C<Ps = 5> >>
511 B<< C<h> >> Reverse Video (DECSCNM)
512 B<< C<l> >> Normal Video (DECSCNM)
516 =item B<< C<Ps = 6> >>
520 B<< C<h> >> Origin Mode (DECOM)
521 B<< C<l> >> Normal Cursor Mode (DECOM)
525 =item B<< C<Ps = 7> >>
529 B<< C<h> >> Wraparound Mode (DECAWM)
530 B<< C<l> >> No Wraparound Mode (DECAWM)
534 =item B<< C<Ps = 8> >> I<unimplemented>
538 B<< C<h> >> Auto-repeat Keys (DECARM)
539 B<< C<l> >> No Auto-repeat Keys (DECARM)
543 =item B<< C<Ps = 9> >> X10 XTerm
547 B<< C<h> >> Send Mouse X & Y on button press.
548 B<< C<l> >> No mouse reporting.
552 =item B<< C<Ps = 10> >> (B<rxvt>)
556 B<< C<h> >> menuBar visible
557 B<< C<l> >> menuBar invisible
561 =item B<< C<Ps = 25> >>
565 B<< C<h> >> Visible cursor {cnorm/cvvis}
566 B<< C<l> >> Invisible cursor {civis}
570 =item B<< C<Ps = 30> >>
574 B<< C<h> >> scrollBar visisble
575 B<< C<l> >> scrollBar invisisble
579 =item B<< C<Ps = 35> >> (B<rxvt>)
583 B<< C<h> >> Allow XTerm Shift+key sequences
584 B<< C<l> >> Disallow XTerm Shift+key sequences
588 =item B<< C<Ps = 38> >> I<unimplemented>
590 Enter Tektronix Mode (DECTEK)
592 =item B<< C<Ps = 40> >>
596 B<< C<h> >> Allow 80/132 Mode
597 B<< C<l> >> Disallow 80/132 Mode
601 =item B<< C<Ps = 44> >> I<unimplemented>
605 B<< C<h> >> Turn On Margin Bell
606 B<< C<l> >> Turn Off Margin Bell
610 =item B<< C<Ps = 45> >> I<unimplemented>
614 B<< C<h> >> Reverse-wraparound Mode
615 B<< C<l> >> No Reverse-wraparound Mode
619 =item B<< C<Ps = 46> >> I<unimplemented>
621 =item B<< C<Ps = 47> >>
625 B<< C<h> >> Use Alternate Screen Buffer
626 B<< C<l> >> Use Normal Screen Buffer
632 =item B<< C<Ps = 66> >>
636 B<< C<h> >> Application Keypad (DECPAM) == C<ESC =>
637 B<< C<l> >> Normal Keypad (DECPNM) == C<< ESC > >>
641 =item B<< C<Ps = 67> >>
645 B<< C<h> >> Backspace key sends B<< C<BS> (DECBKM) >>
646 B<< C<l> >> Backspace key sends B<< C<DEL> >>
650 =item B<< C<Ps = 1000> >> (X11 XTerm)
654 B<< C<h> >> Send Mouse X & Y on button press and release.
655 B<< C<l> >> No mouse reporting.
659 =item B<< C<Ps = 1001> >> (X11 XTerm) I<unimplemented>
663 B<< C<h> >> Use Hilite Mouse Tracking.
664 B<< C<l> >> No mouse reporting.
668 =item B<< C<Ps = 1010> >> (B<rxvt>)
672 B<< C<h> >> Don't scroll to bottom on TTY output
673 B<< C<l> >> Scroll to bottom on TTY output
677 =item B<< C<Ps = 1011> >> (B<rxvt>)
681 B<< C<h> >> Scroll to bottom when a key is pressed
682 B<< C<l> >> Don't scroll to bottom when a key is pressed
686 =item B<< C<Ps = 1047> >>
690 B<< C<h> >> Use Alternate Screen Buffer
691 B<< C<l> >> Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
695 =item B<< C<Ps = 1048> >>
699 B<< C<h> >> Save cursor position
700 B<< C<l> >> Restore cursor position
704 =item B<< C<Ps = 1049> >>
708 B<< C<h> >> Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
709 B<< C<l> >> Use Normal Screen Buffer
719 =head1 XTerm Operating System Commands
723 =item B<< C<ESC ] Ps;Pt ST> >>
725 Set XTerm Parameters. 8-bit ST: 0x9c, 7-bit ST sequence: ESC \ (0x1b,
726 0x5c), backwards compatible terminator BEL (0x07) is also accepted. any
727 B<octet> can be escaped by prefixing it with SYN (0x16, ^V).
731 B<< C<Ps = 0> >> Change Icon Name and Window Title to B<< C<Pt> >>
732 B<< C<Ps = 1> >> Change Icon Name to B<< C<Pt> >>
733 B<< C<Ps = 2> >> Change Window Title to B<< C<Pt> >>
734 B<< C<Ps = 3> >> If B<< C<Pt> >> starts with a B<< C<?> >>, query the (STRING) property of the window and return it. If B<< C<Pt> >> contains a B<< C<=> >>, set the named property to the given value, else delete the specified property.
735 B<< C<Ps = 4> >> B<< C<Pt> >> is a semi-colon separated sequence of one or more semi-colon separated B<number>/B<name> pairs, where B<number> is an index to a colour and B<name> is the name of a colour. Each pair causes the B<number>ed colour to be changed to B<name>. Numbers 0-7 corresponds to low-intensity (normal) colours and 8-15 corresponds to high-intensity colours. 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white
736 B<< C<Ps = 10> >> Change colour of text foreground to B<< C<Pt> >> B<(NB: may change in future)>
737 B<< C<Ps = 11> >> Change colour of text background to B<< C<Pt> >> B<(NB: may change in future)>
738 B<< C<Ps = 12> >> Change colour of text cursor foreground to B<< C<Pt> >>
739 B<< C<Ps = 13> >> Change colour of mouse foreground to B<< C<Pt> >>
740 B<< C<Ps = 17> >> Change colour of highlight characters to B<< C<Pt> >>
741 B<< C<Ps = 18> >> Change colour of bold characters to B<< C<Pt> >>
742 B<< C<Ps = 19> >> Change colour of underlined characters to B<< C<Pt> >>
743 B<< C<Ps = 20> >> Change default background to B<< C<Pt> >>
744 B<< C<Ps = 39> >> Change default foreground colour to B<< C<Pt> >> I<rxvt compile-time option>
745 B<< C<Ps = 46> >> Change Log File to B<< C<Pt> >> I<unimplemented>
746 B<< C<Ps = 49> >> Change default background colour to B<< C<Pt> >> I<rxvt compile-time option>
747 B<< C<Ps = 50> >> Set fontset to B<< C<Pt> >>, with the following special values of B<< C<Pt> >> (B<rxvt>) B<< C<#+n> >> change up B<< C<n> >> B<< C<#-n> >> change down B<< C<n> >> if B<< C<n> >> is missing of 0, a value of 1 is used I<empty> change to font0 B<< C<n> >> change to font B<< C<n> >>
748 B<< C<Ps = 55> >> Log all scrollback buffer and all of screen to B<< C<Pt> >>
749 B<< C<Ps = 701> >> Change current locale to B<< C<Pt> >>, or, if B<< C<Pt> >> is B<< C<?> >>, return the current locale (@@RXVT_NAME@@ extension)
750 B<< C<Ps = 702> >> find font for character, used for debugging (@@RXVT_NAME@@ extension)
751 B<< C<Ps = 703> >> menubar command B<< C<Pt> >> I<rxvt compile-time option> (@@RXVT_NAME@@ extension)
761 B<< The exact syntax used is I<almost> solidified. >>
762 In the menus, B<DON'T> try to use menuBar commands that add or remove a
765 Note that in all of the commands, the B<< I</path/> >> I<cannot> be
766 omitted: use B<./> to specify a menu relative to the current menu.
768 =head2 Overview of menuBar operation
770 For the menuBar XTerm escape sequence C<ESC ] 703 ; Pt ST>, the syntax
771 of C<Pt> can be used for a variety of tasks:
773 At the top level is the current menuBar which is a member of a circular
774 linked-list of other such menuBars.
776 The menuBar acts as a parent for the various drop-down menus, which in
777 turn, may have labels, separator lines, menuItems and subMenus.
779 The menuItems are the useful bits: you can use them to mimic keyboard
780 input or even to send text or escape sequences back to rxvt.
782 The menuBar syntax is intended to provide a simple yet robust method of
783 constructing and manipulating menus and navigating through the
786 The first step is to use the tag B<< [menu:I<name>] >> which creates
787 the menuBar called I<name> and allows access. You may now or menus,
788 subMenus, and menuItems. Finally, use the tag B<[done]> to set the
789 menuBar access as B<readonly> to prevent accidental corruption of the
790 menus. To re-access the current menuBar for alterations, use the tag
791 B<[menu]>, make the alterations and then use B<[done]>
799 =item B<< [menu:+I<name>] >>
801 access the named menuBar for creation or alteration. If a new menuBar
802 is created, it is called I<name> (max of 15 chars) and the current
803 menuBar is pushed onto the stack
807 access the current menuBar for alteration
809 =item B<< [title:+I<string>] >>
811 set the current menuBar's title to I<string>, which may contain the
812 following format specifiers:
813 B<%%> : literal B<%> character
814 B<%n> : rxvt name (as per the B<-name> command-line option)
819 set menuBar access as B<readonly>.
820 End-of-file tag for B<< [read:+I<file>] >> operations.
822 =item B<< [read:+I<file>] >>
824 read menu commands directly from I<file> (extension ".menu" will be
825 appended if required.) Start reading at a line with B<[menu]> or B<<
826 [menu:+I<name> >> and continuing until B<[done]> is encountered.
828 Blank and comment lines (starting with B<#>) are ignored. Actually,
829 since any invalid menu commands are also ignored, almost anything could
830 be construed as a comment line, but this may be tightened up in the
831 future ... so don't count on it!.
833 =item B<< [read:+I<file>;+I<name>] >>
835 The same as B<< [read:+I<file>] >>, but start reading at a line with
836 B<< [menu:+I<name>] >> and continuing until B<< [done:+I<name>] >> or
837 B<[done]> is encountered.
841 dump all menuBars to the file B</tmp/rxvt-PID> in a format suitable for
846 remove the named menuBar
850 remove the current menuBar
852 =item B<[rm*] [rm:*]>
858 swap the top two menuBars
862 access the previous menuBar
866 access the next menuBar
870 Enable display of the menuBar
874 Disable display of the menuBar
876 =item B<< [pixmap:+I<name>] >>
878 =item B<< [pixmap:+I<name>;I<scaling>] >>
880 (set the background pixmap globally
882 B<< A Future implementation I<may> make this local to the menubar >>)
884 =item B<< [:+I<command>:] >>
886 ignore the menu readonly status and issue a I<command> to or a menu or
887 menuitem or change the ; a useful shortcut for setting the quick arrows
894 =head2 Adding and accessing menus
896 The following commands may also be B<+> prefixed.
902 access menuBar top level
906 access current menu level
910 access parent menu (1 level up)
914 access parent menu (multiple levels up)
916 =item B<< I</path/>menu >>
920 =item B<< I</path/>menu/* >>
922 add/access menu and clear it if it exists
924 =item B<< I</path/>{-} >>
928 =item B<< I</path/>{item} >>
930 add B<item> as a label
932 =item B<< I</path/>{item} action >>
934 add/alter I<menuitem> with an associated I<action>
936 =item B<< I</path/>{item}{right-text} >>
938 add/alter I<menuitem> with B<right-text> as the right-justified text
939 and as the associated I<action>
941 =item B<< I</path/>{item}{rtext} action >>
943 add/alter I<menuitem> with an associated I<action> and with B<rtext> as
944 the right-justified text.
950 =item Special characters in I<action> must be backslash-escaped:
952 B<\a \b \E \e \n \r \t \octal>
954 =item or in control-character notation:
956 B<^@, ^A .. ^Z .. ^_, ^?>
960 To send a string starting with a B<NUL> (B<^@>) character to the
961 program, start I<action> with a pair of B<NUL> characters (B<^@^@>),
962 the first of which will be stripped off and the balance directed to the
963 program. Otherwise if I<action> begins with B<NUL> followed by
964 non-+B<NUL> characters, the leading B<NUL> is stripped off and the
965 balance is sent back to rxvt.
967 As a convenience for the many Emacs-type editors, I<action> may start
968 with B<M-> (eg, B<M-$> is equivalent to B<\E$>) and a B<CR> will be
969 appended if missed from B<M-x> commands.
971 As a convenience for issuing XTerm B<ESC]> sequences from a menubar (or
972 quick arrow), a B<BEL> (B<^G>) will be appended if needed.
978 B<M-xapropos> is equivalent to B<\Exapropos\r>
982 B<\E]703;mona;100> is equivalent to B<\E]703;mona;100\a>
986 The option B<< {I<right-rtext>} >> will be right-justified. In the
987 absence of a specified action, this text will be used as the I<action>
994 B</File/{Open}{^X^F}> is equivalent to B</File/{Open}{^X^F} ^X^F>
998 The left label I<is> necessary, since it's used for matching, but
999 implicitly hiding the left label (by using same name for both left and
1000 right labels), or explicitly hiding the left label (by preceeding it
1001 with a dot), makes it possible to have right-justified text only.
1007 B</File/{Open}{Open} Open-File-Action>
1011 B</File/{.anylabel}{Open} Open-File-Action>
1017 =head2 Removing menus
1023 remove all menus from the menuBar, the same as B<[clear]>
1025 =item B<< -+I</path>menu+ >>
1029 =item B<< -+I</path>{item}+ >>
1033 =item B<< -+I</path>{-} >>
1037 =item B<-/path/menu/*>
1039 remove all items, separators and submenus from menu
1047 The menus also provide a hook for I<quick arrows> to provide easier
1048 user access. If nothing has been explicitly set, the default is to
1049 emulate the curror keys. The syntax permits each arrow to be altered
1050 individually or all four at once without re-entering their common
1051 beginning/end text. For example, to explicitly associate cursor actions
1052 with the arrows, any of the following forms could be used:
1056 =item B<< <r>+I<Right> >>
1058 =item B<< <l>+I<Left> >>
1060 =item B<< <u>+I<Up> >>
1062 =item B<< <d>+I<Down> >>
1064 Define actions for the respective arrow buttons
1066 =item B<< <b>+I<Begin> >>
1068 =item B<< <e>+I<End> >>
1070 Define common beginning/end parts for I<quick arrows> which used in
1071 conjunction with the above <r> <l> <u> <d> constructs
1077 =item For example, define arrows individually,
1087 =item or all at once
1089 <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D
1091 =item or more compactly (factoring out common parts)
1093 <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D
1099 =head2 Command Summary
1101 A short summary of the most I<common> commands:
1107 use an existing named menuBar or start a new one
1111 use the current menuBar
1113 =item [title:string]
1119 set menu access to readonly and, if reading from a file, signal EOF
1123 if reading from a file using [read:file;name] signal EOF
1127 remove named menuBar(s)
1131 remove current menuBar
1135 remove all menuBar(s)
1139 swap top two menuBars
1143 access the previous menuBar
1147 access the next menuBar
1159 =item [pixmap;file;scaling]
1161 set a background pixmap
1165 =item [read:file;name]
1167 read in a menu from a file
1171 dump out all menuBars to /tmp/rxvt-PID
1175 access menuBar top level
1183 access current or parent menu level
1193 =item /path/{item}{rtext} action
1199 remove all menus from the menuBar
1203 remove menu items, separators and submenus from menu
1217 =item <b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
1226 For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value
1227 of B<< C<Pt> >> can be the name of the background pixmap followed by a
1228 sequence of scaling/positioning commands separated by semi-colons. The
1229 scaling/positioning commands are as follows:
1233 =item query scale/position
1237 =item change scale and position
1241 B<WxH+X> (== B<WxH+X+X>)
1243 B<WxH> (same as B<WxH+50+50>)
1245 B<W+X+Y> (same as B<WxW+X+Y>)
1247 B<W+X> (same as B<WxW+X+X>)
1249 B<W> (same as B<WxW+50+50>)
1251 =item change position (absolute)
1255 B<=+X> (same as B<=+X+Y>)
1257 =item change position (relative)
1261 B<+X> (same as B<+X+Y>)
1263 =item rescale (relative)
1265 B<Wx0> -> B<W *= (W/100)>
1267 B<0xH> -> B<H *= (H/100)>
1275 =item B<\E]20;funky\a>
1277 load B<funky.xpm> as a tiled image
1279 =item B<\E]20;mona;100\a>
1281 load B<mona.xpm> with a scaling of 100%
1283 =item B<\E]20;;200;?\a>
1285 rescale the current pixmap to 200% and display the image geometry in
1291 =head1 Mouse Reporting
1295 =item B<< C<< ESC [ M <b> <x> <y> >> >>
1297 report mouse position
1301 The lower 2 bits of B<< C<< <b> >> >> indicate the button:
1305 =item Button = B<< C<< (<b> - SPACE) & 3 >> >>
1312 3 button released (X11 mouse report)
1318 The upper bits of B<< C<< <b> >> >> indicate the modifiers when the
1319 button was pressed and are added together (X11 mouse report only):
1323 =item State = B<< C<< (<b> - SPACE) & 60 >> >>
1330 32 Double Click I<(Rxvt extension)>
1334 Col = B<< C<< <x> - SPACE >> >>
1336 Row = B<< C<< <y> - SPACE >> >>
1343 Note: B<Shift> + B<F1>-B<F10> generates B<F11>-B<F20>
1345 For the keypad, use B<Shift> to temporarily override Application-Keypad
1346 setting use B<Num_Lock> to toggle Application-Keypad setting if
1347 B<Num_Lock> is off, toggle Application-Keypad setting. Also note that
1348 values of B<Home>, B<End>, B<Delete> may have been compiled differently on
1353 B<Normal> B<Shift> B<Control> B<Ctrl+Shift>
1354 Tab ^I ESC [ Z ^I ESC [ Z
1355 BackSpace ^H ^? ^? ^?
1356 Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @
1357 Insert ESC [ 2 ~ I<paste> ESC [ 2 ^ ESC [ 2 @
1358 Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
1359 Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @
1360 Prior ESC [ 5 ~ I<scroll-up> ESC [ 5 ^ ESC [ 5 @
1361 Next ESC [ 6 ~ I<scroll-down> ESC [ 6 ^ ESC [ 6 @
1362 Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @
1363 End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @
1364 Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
1365 F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^
1366 F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^
1367 F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^
1368 F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^
1369 F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^
1370 F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^
1371 F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^
1372 F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^
1373 F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^
1374 F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^
1375 F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @
1376 F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @
1377 F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @
1378 F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @
1379 F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @
1380 F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @
1381 F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @
1382 F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @
1383 F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @
1384 F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @
1386 Up ESC [ A ESC [ a ESC O a ESC O A
1387 Down ESC [ B ESC [ b ESC O b ESC O B
1388 Right ESC [ C ESC [ c ESC O c ESC O C
1389 Left ESC [ D ESC [ d ESC O d ESC O D
1391 KP_F1 ESC O P ESC O P
1392 KP_F2 ESC O Q ESC O Q
1393 KP_F3 ESC O R ESC O R
1394 KP_F4 ESC O S ESC O S
1395 XK_KP_Multiply * ESC O j
1397 XK_KP_Separator , ESC O l
1398 XK_KP_Subtract - ESC O m
1399 XK_KP_Decimal . ESC O n
1400 XK_KP_Divide / ESC O o
1414 =head1 CONFIGURE OPTIONS
1416 General hint: if you get compile errors, then likely your configuration
1417 hasn't been tested well. Either try with --enable-everything or use the
1418 ./reconf script as a base for experiments. ./reconf is used by myself,
1419 so it should generally be a working config. Of course, you should always
1420 report when a combination doesn't work, so it can be fixed. Marc Lehmann
1425 =item --enable-everything
1427 Add support for all non-multichoice options listed in "./configure
1428 --help". Note that unlike other enable options this is order dependant.
1429 You can specify this and then disable options which this enables by
1430 I<following> this with the appropriate commands.
1434 Add support for Xft (anti-aliases, among others) fonts. Xft fonts are
1435 slower and require lots of memory, but as long as you don't use them, you
1438 =item --with-codesets=NAME,...
1440 Compile in support for additional codeset (encoding) groups. These codeset
1441 tables are currently only used for driving X11 core fonts, they are not
1442 required for Xft fonts. Compiling them in will make your binary bigger
1443 (together about 700kB), but it doesn't increase memory usage unless you
1444 use an X11 font requiring one of these encodings.
1448 all all available codeset groups
1449 cn common chinese encodings
1450 cn_ext rarely used but very big chinese encodigs
1451 jp common japanese encodings
1452 jp_ext rarely used but big japanese encodings
1459 Add support for XIM (X Input Method) protocol. This allows using
1460 alternative input methods (e.g. kinput2) and will also correctly
1461 set up the input for people using dead keys or compose keys.
1463 =item --enable-unicode3
1465 Enable direct support for displaying unicode codepoints above
1466 65535 (the basic multilingual page). This increases storage
1467 requirements per character from 2 to 4 bytes. X11 fonts do not yet
1468 support these extra characters, but Xft does.
1470 Please note that rxvt-unicode can store unicode code points >65535
1471 even without this flag, but the number of such characters is
1472 limited to a view thousand (shared with combining characters,
1473 see next switch), and right now rxvt-unicode cannot display them
1474 (input/output and cut&paste still work, though).
1476 =item --enable-combining
1478 Enable automatic composition of combining characters into
1479 composite characters. This is required for proper viewing of text
1480 where accents are encoded as seperate unicode characters. This is
1481 done by using precomposited characters when available or creating
1482 new pseudo-characters when no precomposed form exists.
1484 Without --enable-unicode3, the number of additional precomposed
1485 characters is rather limited (2048, if this is full, rxvt will use the
1486 private use area, extending the number of combinations to 8448). With
1487 --enable-unicode3, no practical limit exists. This will also enable
1488 storage of characters >65535.
1490 The combining table also contains entries for arabic presentation forms,
1491 but these are not currently used. Bug me if you want these to be used.
1493 =item --enable-fallback(=CLASS)
1495 When reading resource settings, also read settings for class CLASS
1496 (default: Rxvt). To disable resource fallback use --disable-fallback.
1498 =item --with-res-name=NAME
1500 Use the given name (default: urxvt) as default application name when
1501 reading resources. Specify --with-res-name=rxvt to replace rxvt.
1503 =item --with-res-class=CLASS
1505 Use the given class (default: URxvt) as default application class
1506 when reading resources. Specify --with-res-class=Rxvt to replace
1511 Write user and tty to utmp file (used by programs like F<w>) at
1512 start of rxvt execution and delete information when rxvt exits.
1516 Write user and tty to wtmp file (used by programs like F<last>) at
1517 start of rxvt execution and write logout when rxvt exits. This
1518 option requires --enable-utmp to also be specified.
1520 =item --enable-lastlog
1522 Write user and tty to lastlog file (used by programs like
1523 F<lastlogin>) at start of rxvt execution. This option requires
1524 --enable-utmp to also be specified.
1526 =item --enable-xpm-background
1528 Add support for XPM background pixmaps.
1530 =item --enable-transparency
1532 Add support for inheriting parent backgrounds thus giving a fake
1533 transparency to the term.
1535 =item --enable-fading
1537 Add support for fading the text when focus is lost.
1539 =item --enable-tinting
1541 Add support for tinting of transparent backgrounds.
1543 =item --enable-menubar
1545 Add support for our menu bar system (this interacts badly with
1546 dynamic locale switching currently).
1548 =item --enable-rxvt-scroll
1550 Add support for the original rxvt scrollbar.
1552 =item --enable-next-scroll
1554 Add support for a NeXT-like scrollbar.
1556 =item --enable-xterm-scroll
1558 Add support for an Xterm-like scrollbar.
1560 =item --enable-plain-scroll
1562 Add support for a very unobtrusive, plain-looking scrollbar that
1563 is the favourite of the rxvt-unicode author, having used it for
1566 =item --enable-half-shadow
1568 Make shadows on the scrollbar only half the normal width & height.
1569 only applicable to rxvt scrollbars.
1571 =item --enable-ttygid
1573 Change tty device setting to group "tty" - only use this if
1574 your system uses this type of security.
1576 =item --disable-backspace-key
1578 Disable any handling of the backspace key by us - let the X server
1581 =item --disable-delete-key
1583 Disable any handling of the delete key by us - let the X server
1586 =item --disable-resources
1588 Remove all resources checking.
1590 =item --enable-xgetdefault
1592 Make resources checking via XGetDefault() instead of our small
1593 version which only checks ~/.Xdefaults, or if that doesn't exist
1596 =item --enable-strings
1598 Add support for our possibly faster memset() function and other
1599 various routines, overriding your system's versions which may
1600 have been hand-crafted in assembly or may require extra libraries
1601 to link in. (this breaks ANSI-C rules and has problems on many
1604 =item --disable-swapscreen
1606 Remove support for swap screen.
1608 =item --enable-frills
1610 Add support for many small features that are not essential but nice to
1611 have. Normally you want this, but for very small binaries you may want to
1614 =item --enable-iso14755
1616 Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
1617 F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by
1618 C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with
1621 =item --enable-linespace
1623 Add support to provide user specified line spacing between text rows.
1625 =item --enable-keepscrolling
1627 Add support for continual scrolling of the display when you hold
1628 the mouse button down on a scrollbar arrow.
1630 =item --enable-mousewheel
1632 Add support for scrolling via mouse wheel or buttons 4 & 5.
1634 =item --enable-slipwheeling
1636 Add support for continual scrolling (using the mouse wheel as an
1637 accelerator) while the control key is held down. This option
1638 requires --enable-mousewheel to also be specified.
1640 =item --disable-new-selection
1642 Remove support for mouse selection style like that of xterm.
1644 =item --enable-dmalloc
1646 Use Gray Watson's malloc - which is good for debugging See
1647 http://www.letters.com/dmalloc/ for details If you use either this or the
1648 next option, you may need to edit src/Makefile after compiling to point
1649 DINCLUDE and DLIB to the right places.
1651 You can only use either this option and the following (should
1654 =item --enable-dlmalloc
1656 Use Doug Lea's malloc - which is good for a production version
1657 See L<http://g.oswego.edu/dl/html/malloc.html> for details.
1659 =item --enable-smart-resize
1661 Add smart growth/shrink behaviour when changing font size via from hot
1662 keys. This should keep in a fixed position the rxvt corner which is
1663 closest to a corner of the screen.
1665 =item --enable-256-color
1667 Add support for 256 colours rather than the base 16 colours.
1669 This option will likely go away in the future. Speak up if you don't want
1672 =item --enable-cursor-blink
1674 Add support for a blinking cursor.
1676 =item --enable-pointer-blank
1678 Add support to have the pointer disappear when typing or inactive.
1680 =item --with-name=NAME
1682 Set the basename for the installed binaries (default: urxvt, resulting in
1683 urxvt, urxvtd etc.). Specify --with-name=rxvt to replace rxvt.
1685 =item --with-term=NAME
1687 Change the environmental variable for the terminal to NAME (default
1690 =item --with-terminfo=PATH
1692 Change the environmental variable for the path to the terminfo tree to
1697 Use the X Window System (pretty much default, eh?).
1699 =item --with-xpm-includes=DIR
1701 Look for the XPM includes in DIR.
1703 =item --with-xpm-library=DIR
1705 Look for the XPM library in DIR.
1709 Not needed - define via --enable-xpm-background.
1715 Marc Lehmann <rxvt@schmorp.de> converted this document to pod and
1716 reworked it from the original Rxvt documentation, which was done by Geoff
1717 Wing <gcw@pobox.com>, who in turn used the XTerm documentation and other