*** empty log message ***
[dana/urxvt.git] / doc / rxvt.7.pod
1 =head1 NAME
2
3 RXVT TECHNICAL REFERENCE - command sequences and background information
4
5 =head1 SYNOPSIS
6
7    # set a new font set
8    printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
9
10    # change the locale and tell rxvt-unicode about it
11    export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"
12
13    # set window title
14    printf '\33]2;%s\007' "new window title"
15
16 =head1 DESCRIPTION
17
18 The rest of this document describes various technical aspects of
19 B<rxvt-unicode>. First the description of supported command sequences,
20 followed by menu and pixmap support and last by a description of all
21 features selectable at C<configure> time.
22
23 =head1 RXVT TECHNICAL REFERENCE
24
25 =head1 Definitions
26
27 =over 4
28
29 =item B<< C<c> >>
30
31 The literal character c.
32
33 =item B<< C<C> >>
34
35 A single (required) character.
36
37 =item B<< C<Ps> >>
38
39 A single (usually optional) numeric parameter, composed of one or more
40 digits.
41
42 =item B<< C<Pm> >>
43
44 A multiple numeric parameter composed of any number of single numeric
45 parameters, separated by C<;> character(s).
46
47 =item B<< C<Pt> >>
48
49 A text parameter composed of printable characters.
50
51 =back
52
53 =head1 Values
54
55 =over 4
56
57 =item B<< C<ENQ> >>
58
59 Enquiry (Ctrl-E) = Send Device Attributes (DA)
60 request attributes from terminal. See B<< C<ESC [ Ps c> >>.
61
62 =item B<< C<BEL> >>
63
64 Bell (Ctrl-G)
65
66 =item B<< C<BS> >>
67
68 Backspace (Ctrl-H)
69
70 =item B<< C<TAB> >>
71
72 Horizontal Tab (HT) (Ctrl-I)
73
74 =item B<< C<LF> >>
75
76 Line Feed or New Line (NL) (Ctrl-J)
77
78 =item B<< C<VT> >>
79
80 Vertical Tab (Ctrl-K) same as B<< C<LF> >>
81
82 =item B<< C<FF> >>
83
84 Form Feed or New Page (NP) (Ctrl-L) same as B<< C<LF> >>
85
86 =item B<< C<CR> >>
87
88 Carriage Return (Ctrl-M)
89
90 =item B<< C<SO> >>
91
92 Shift Out (Ctrl-N), invokes the G1 character set.
93 Switch to Alternate Character Set
94
95 =item B<< C<SI> >>
96
97 Shift In (Ctrl-O), invokes the G0 character set (the default).
98 Switch to Standard Character Set
99
100 =item B<< C<SPC> >>
101
102 Space Character
103
104 =back
105
106 =head1 Escape Sequences
107
108 =over 4
109
110 =item B<< C<ESC # 8> >>
111
112 DEC Screen Alignment Test (DECALN)
113
114 =item B<< C<ESC 7> >>
115
116 Save Cursor (SC)
117
118 =item B<< C<ESC 8> >>
119
120 Restore Cursor
121
122 =item B<< C<ESC => >>
123
124 Application Keypad (SMKX). See also next sequence.
125
126 =item B<<< C<< ESC >> >>>
127
128 Normal Keypad (RMKX)
129
130 B<Note:> If the numeric keypad is activated, eg, B<Num_Lock> has been
131 pressed, numbers or control functions are generated by the numeric keypad
132 (see Key Codes).
133
134 =item B<< C<ESC D> >>
135
136 Index (IND)
137
138 =item B<< C<ESC E> >>
139
140 Next Line (NEL)
141
142 =item B<< C<ESC H> >>
143
144 Tab Set (HTS)
145
146 =item B<< C<ESC M> >>
147
148 Reverse Index (RI)
149
150 =item B<< C<ESC N> >>
151
152 Single Shift Select of G2 Character Set (SS2): affects next character
153 only I<unimplemented>
154
155 =item B<< C<ESC O> >>
156
157 Single Shift Select of G3 Character Set (SS3): affects next character
158 only I<unimplemented>
159
160 =item B<< C<ESC Z> >>
161
162 Obsolete form of returns: B<< C<ESC[?1;2C> >> I<rxvt-unicode compile-time option>
163
164 =item B<< C<ESC c> >>
165
166 Full reset (RIS)
167
168 =item B<< C<ESC n> >>
169
170 Invoke the G2 Character Set (LS2)
171
172 =item B<< C<ESC o> >>
173
174 Invoke the G3 Character Set (LS3)
175
176 =item B<< C<ESC> ( C> >>
177
178 Designate G0 Character Set (ISO 2022), see below for values of C<C>.
179
180 =item B<< C<ESC> ) C> >>
181
182 Designate G1 Character Set (ISO 2022), see below for values of C<C>.
183
184 =item B<< C<ESC * C> >>
185
186 Designate G2 Character Set (ISO 2022), see below for values of C<C>.
187
188 =item B<< C<ESC + C> >>
189
190 Designate G3 Character Set (ISO 2022), see below for values of C<C>.
191
192 =item B<< C<ESC $ C> >>
193
194 Designate Kanji Character Set
195
196 Where B<< C<C> >> is one of:
197
198 =begin table
199
200         C = C<0>        DEC Special Character and Line Drawing Set
201         C = C<A>        United Kingdom (UK)
202         C = C<B>        United States (USASCII)
203         C = C<< < >>    Multinational character set I<unimplemented>
204         C = C<5>        Finnish character set I<unimplemented>
205         C = C<C>        Finnish character set I<unimplemented>
206         C = C<K>        German character set I<unimplemented>
207
208 =end table
209
210 =back
211
212 X<CSI>
213
214 =head1 CSI (Command Sequence Introducer) Sequences
215
216 =over 4
217
218 =item B<< C<ESC [ Ps @> >>
219
220 Insert B<< C<Ps> >> (Blank) Character(s) [default: 1] (ICH)X<ESCOBPsA>
221
222 =item B<< C<ESC [ Ps A> >>
223
224 Cursor Up B<< C<Ps> >> Times [default: 1] (CUU)
225
226 =item B<< C<ESC [ Ps B> >>
227
228 Cursor Down B<< C<Ps> >> Times [default: 1] (CUD)X<ESCOBPsC>
229
230 =item B<< C<ESC [ Ps C> >>
231
232 Cursor Forward B<< C<Ps> >> Times [default: 1] (CUF)
233
234 =item B<< C<ESC [ Ps D> >>
235
236 Cursor Backward B<< C<Ps> >> Times [default: 1] (CUB)
237
238 =item B<< C<ESC [ Ps E> >>
239
240 Cursor Down B<< C<Ps> >> Times [default: 1] and to first column
241
242 =item B<< C<ESC [ Ps F> >>
243
244 Cursor Up B<< C<Ps> >> Times [default: 1] and to first columnX<ESCOBPsG>
245
246 =item B<< C<ESC [ Ps G> >>
247
248 Cursor to Column B<< C<Ps> >> (HPA)
249
250 =item B<< C<ESC [ Ps;Ps H> >>
251
252 Cursor Position [row;column] [default: 1;1] (CUP)
253
254 =item B<< C<ESC [ Ps I> >>
255
256 Move forward B<< C<Ps> >> tab stops [default: 1]
257
258 =item B<< C<ESC [ Ps J> >>
259
260 Erase in Display (ED)
261
262 =begin table
263
264         B<< C<Ps = 0> >>        Clear Below (default)
265         B<< C<Ps = 1> >>        Clear Above
266         B<< C<Ps = 2> >>        Clear All
267
268 =end table
269
270 =item B<< C<ESC [ Ps K> >>
271
272 Erase in Line (EL)
273
274 =begin table
275
276         B<< C<Ps = 0> >>        Clear to Right (default)
277         B<< C<Ps = 1> >>        Clear to Left
278         B<< C<Ps = 2> >>        Clear All
279
280 =end table
281
282 =item B<< C<ESC [ Ps L> >>
283
284 Insert B<< C<Ps> >> Line(s) [default: 1] (IL)
285
286 =item B<< C<ESC [ Ps M> >>
287
288 Delete B<< C<Ps> >> Line(s) [default: 1] (DL)
289
290 =item B<< C<ESC [ Ps P> >>
291
292 Delete B<< C<Ps> >> Character(s) [default: 1] (DCH)
293
294 =item B<< C<ESC [ Ps;Ps;Ps;Ps;Ps T> >>
295
296 Initiate . I<unimplemented> Parameters are
297 [func;startx;starty;firstrow;lastrow].
298
299 =item B<< C<ESC [ Ps W> >>
300
301 Tabulator functions
302
303 =begin table
304
305         B<< C<Ps = 0> >>        Tab Set (HTS)
306         B<< C<Ps = 2> >>        Tab Clear (TBC), Clear Current Column (default)
307         B<< C<Ps = 5> >>        Tab Clear (TBC), Clear All
308
309 =end table
310
311 =item B<< C<ESC [ Ps X> >>
312
313 Erase B<< C<Ps> >> Character(s) [default: 1] (ECH)
314
315 =item B<< C<ESC [ Ps Z> >>
316
317 Move backward B<< C<Ps> >> [default: 1] tab stops
318
319 =item B<< C<ESC [ Ps '> >>
320
321 See B<< C<ESC [ Ps G> >>
322
323 =item B<< C<ESC [ Ps a> >>
324
325 See B<< C<ESC [ Ps C> >>
326
327 =item B<< C<ESC [ Ps c> >>
328
329 Send Device Attributes (DA)
330 B<< C<Ps = 0> >> (or omitted): request attributes from terminal
331 returns: B<< C<ESC[?1;2c> >> (``I am a VT100 with Advanced Video
332 Option'')
333
334 =item B<< C<ESC [ Ps d> >>
335
336 Cursor to Line B<< C<Ps> >> (VPA)
337
338 =item B<< C<ESC [ Ps e> >>
339
340 See B<< C<ESC [ Ps A> >>
341
342 =item B<< C<ESC [ Ps;Ps f> >>
343
344 Horizontal and Vertical Position [row;column] (HVP) [default: 1;1]
345
346 =item B<< C<ESC [ Ps g> >>
347
348 Tab Clear (TBC)
349
350 =begin table
351
352         B<< C<Ps = 0> >>        Clear Current Column (default)
353         B<< C<Ps = 3> >>        Clear All (TBC)
354
355 =end table
356
357 =item B<< C<ESC [ Pm h> >>
358
359 Set Mode (SM). See B<< C<ESC [ Pm l> >> sequence for description of C<Pm>.
360
361 =item B<< C<ESC [ Ps i> >>
362
363 Printing. See also the C<print-pipe> resource.
364
365 =begin table
366
367         B<< C<Ps = 0> >>        print screen (MC0)
368         B<< C<Ps = 4> >>        disable transparent print mode (MC4)
369         B<< C<Ps = 5> >>        enable transparent print mode (MC5)
370
371 =end table
372
373 =item B<< C<ESC [ Pm l> >>
374
375 Reset Mode (RM)
376
377 =over 4
378
379 =item B<< C<Ps = 4> >>
380
381 =begin table
382
383         B<< C<h> >>     Insert Mode (SMIR)
384         B<< C<l> >>     Replace Mode (RMIR)
385
386 =end table
387
388 =item B<< C<Ps = 20> >> (partially implemented)
389
390 =begin table
391
392         B<< C<h> >>     Automatic Newline (LNM)
393         B<< C<l> >>     Normal Linefeed (LNM)
394
395 =end table
396
397 =back
398
399 =item B<< C<ESC [ Pm m> >>
400
401 Character Attributes (SGR)
402
403 =begin table
404
405         B<< C<Ps = 0> >>        Normal (default)
406         B<< C<Ps = 1 / 21> >>   On / Off Bold (bright fg)
407         B<< C<Ps = 3 / 23> >>   On / Off Italic
408         B<< C<Ps = 4 / 24> >>   On / Off Underline
409         B<< C<Ps = 5 / 25> >>   On / Off Slow Blink (bright bg)
410         B<< C<Ps = 6 / 26> >>   On / Off Rapid Blink (bright bg)
411         B<< C<Ps = 7 / 27> >>   On / Off Inverse
412         B<< C<Ps = 8 / 27> >>   On / Off Invisible (NYI)
413         B<< C<Ps = 30 / 40> >>  fg/bg Black
414         B<< C<Ps = 31 / 41> >>  fg/bg Red
415         B<< C<Ps = 32 / 42> >>  fg/bg Green
416         B<< C<Ps = 33 / 43> >>  fg/bg Yellow
417         B<< C<Ps = 34 / 44> >>  fg/bg Blue
418         B<< C<Ps = 35 / 45> >>  fg/bg Magenta
419         B<< C<Ps = 36 / 46> >>  fg/bg Cyan
420         B<< C<Ps = 38;5 / 48;5> >>      set fg/bg to color #m (ISO 8613-6)
421         B<< C<Ps = 37 / 47> >>  fg/bg White
422         B<< C<Ps = 39 / 49> >>  fg/bg Default
423         B<< C<Ps = 90 / 100> >> fg/bg Bright Black
424         B<< C<Ps = 91 / 101> >> fg/bg Bright Red
425         B<< C<Ps = 92 / 102> >> fg/bg Bright Green
426         B<< C<Ps = 93 / 103> >> fg/bg Bright Yellow
427         B<< C<Ps = 94 / 104> >> fg/bg Bright Blue
428         B<< C<Ps = 95 / 105> >> fg/bg Bright Magenta
429         B<< C<Ps = 96 / 106> >> fg/bg Bright Cyan
430         B<< C<Ps = 97 / 107> >> fg/bg Bright White
431         B<< C<Ps = 99 / 109> >> fg/bg Bright Default
432
433 =end table
434
435 =item B<< C<ESC [ Ps n> >>
436
437 Device Status Report (DSR)
438
439 =begin table
440
441         B<< C<Ps = 5> >>        Status Report B<< C<ESC [ 0 n> >> (``OK'')
442         B<< C<Ps = 6> >>        Report Cursor Position (CPR) [row;column] as B<< C<ESC [ r ; c R> >>
443         B<< C<Ps = 7> >>        Request Display Name
444         B<< C<Ps = 8> >>        Request Version Number (place in window title)
445
446 =end table
447
448 =item B<< C<ESC [ Ps;Ps r> >>
449
450 Set Scrolling Region [top;bottom]
451 [default: full size of window] (CSR)
452
453 =item B<< C<ESC [ s> >>
454
455 Save Cursor (SC)
456
457 =item B<< C<ESC [ Ps x> >>
458
459 Request Terminal Parameters (DECREQTPARM)
460
461 =item B<< C<ESC [ u> >>
462
463 Restore Cursor
464
465 =back
466
467 X<PrivateModes>
468
469 =head1 DEC Private Modes
470
471 =over 4
472
473 =item B<< C<ESC [ ? Pm h> >>
474
475 DEC Private Mode Set (DECSET)
476
477 =item B<< C<ESC [ ? Pm l> >>
478
479 DEC Private Mode Reset (DECRST)
480
481 =item B<< C<ESC [ ? Pm r> >>
482
483 Restore previously saved DEC Private Mode Values.
484
485 =item B<< C<ESC [ ? Pm s> >>
486
487 Save DEC Private Mode Values.
488
489 =item B<< C<ESC [ ? Pm t> >>
490
491 Toggle DEC Private Mode Values (rxvt extension). I<where>
492
493 =over 4
494
495 =item B<< C<Ps = 1> >> (DECCKM)
496
497 =begin table
498
499         B<< C<h> >>     Application Cursor Keys
500         B<< C<l> >>     Normal Cursor Keys
501
502 =end table
503
504 =item B<< C<Ps = 2> >> (ANSI/VT52 mode)
505
506 =begin table
507
508         B<< C<h> >>     Enter VT52 mode
509         B<< C<l> >>     Enter VT52 mode
510
511 =end table
512
513 =item B<< C<Ps = 3> >>
514
515 =begin table
516
517         B<< C<h> >>     132 Column Mode (DECCOLM)
518         B<< C<l> >>     80 Column Mode (DECCOLM)
519
520 =end table
521
522 =item B<< C<Ps = 4> >>
523
524 =begin table
525
526         B<< C<h> >>     Smooth (Slow) Scroll (DECSCLM)
527         B<< C<l> >>     Jump (Fast) Scroll (DECSCLM)
528
529 =end table
530
531 =item B<< C<Ps = 5> >>
532
533 =begin table
534
535         B<< C<h> >>     Reverse Video (DECSCNM)
536         B<< C<l> >>     Normal Video (DECSCNM)
537
538 =end table
539
540 =item B<< C<Ps = 6> >>
541
542 =begin table
543
544         B<< C<h> >>     Origin Mode (DECOM)
545         B<< C<l> >>     Normal Cursor Mode (DECOM)
546
547 =end table
548
549 =item B<< C<Ps = 7> >>
550
551 =begin table
552
553         B<< C<h> >>     Wraparound Mode (DECAWM)
554         B<< C<l> >>     No Wraparound Mode (DECAWM)
555
556 =end table
557
558 =item B<< C<Ps = 8> >> I<unimplemented>
559
560 =begin table
561
562         B<< C<h> >>     Auto-repeat Keys (DECARM)
563         B<< C<l> >>     No Auto-repeat Keys (DECARM)
564
565 =end table
566
567 =item B<< C<Ps = 9> >> X10 XTerm
568
569 =begin table
570
571         B<< C<h> >>     Send Mouse X & Y on button press.
572         B<< C<l> >>     No mouse reporting.
573
574 =end table
575
576 =item B<< C<Ps = 10> >> (B<rxvt>)
577
578 =begin table
579
580         B<< C<h> >>     menuBar visible
581         B<< C<l> >>     menuBar invisible
582
583 =end table
584
585 =item B<< C<Ps = 25> >>
586
587 =begin table
588
589         B<< C<h> >>     Visible cursor {cnorm/cvvis}
590         B<< C<l> >>     Invisible cursor {civis}
591
592 =end table
593
594 =item B<< C<Ps = 30> >>
595
596 =begin table
597
598         B<< C<h> >>     scrollBar visisble
599         B<< C<l> >>     scrollBar invisisble
600
601 =end table
602
603 =item B<< C<Ps = 35> >> (B<rxvt>)
604
605 =begin table
606
607         B<< C<h> >>     Allow XTerm Shift+key sequences
608         B<< C<l> >>     Disallow XTerm Shift+key sequences
609
610 =end table
611
612 =item B<< C<Ps = 38> >> I<unimplemented>
613
614 Enter Tektronix Mode (DECTEK)
615
616 =item B<< C<Ps = 40> >>
617
618 =begin table
619
620         B<< C<h> >>     Allow 80/132 Mode
621         B<< C<l> >>     Disallow 80/132 Mode
622
623 =end table
624
625 =item B<< C<Ps = 44> >> I<unimplemented>
626
627 =begin table
628
629         B<< C<h> >>     Turn On Margin Bell
630         B<< C<l> >>     Turn Off Margin Bell
631
632 =end table
633
634 =item B<< C<Ps = 45> >> I<unimplemented>
635
636 =begin table
637
638         B<< C<h> >>     Reverse-wraparound Mode
639         B<< C<l> >>     No Reverse-wraparound Mode
640
641 =end table
642
643 =item B<< C<Ps = 46> >> I<unimplemented>
644
645 =item B<< C<Ps = 47> >>
646
647 =begin table
648
649         B<< C<h> >>     Use Alternate Screen Buffer
650         B<< C<l> >>     Use Normal Screen Buffer
651
652 =end table
653
654 X<Priv66>
655
656 =item B<< C<Ps = 66> >>
657
658 =begin table
659
660         B<< C<h> >>     Application Keypad (DECPAM) == C<ESC =>
661         B<< C<l> >>     Normal Keypad (DECPNM) == C<< ESC > >>
662
663 =end table
664
665 =item B<< C<Ps = 67> >>
666
667 =begin table
668
669         B<< C<h> >>     Backspace key sends B<< C<BS> (DECBKM) >>
670         B<< C<l> >>     Backspace key sends B<< C<DEL> >>
671
672 =end table
673
674 =item B<< C<Ps = 1000> >> (X11 XTerm)
675
676 =begin table
677
678         B<< C<h> >>     Send Mouse X & Y on button press and release.
679         B<< C<l> >>     No mouse reporting.
680
681 =end table
682
683 =item B<< C<Ps = 1001> >> (X11 XTerm) I<unimplemented>
684
685 =begin table
686
687         B<< C<h> >>     Use Hilite Mouse Tracking.
688         B<< C<l> >>     No mouse reporting.
689
690 =end table
691
692 =item B<< C<Ps = 1010> >> (B<rxvt>)
693
694 =begin table
695
696         B<< C<h> >>     Don't scroll to bottom on TTY output
697         B<< C<l> >>     Scroll to bottom on TTY output
698
699 =end table
700
701 =item B<< C<Ps = 1011> >> (B<rxvt>)
702
703 =begin table
704
705         B<< C<h> >>     Scroll to bottom when a key is pressed
706         B<< C<l> >>     Don't scroll to bottom when a key is pressed
707
708 =end table
709
710 =item B<< C<Ps = 1047> >>
711
712 =begin table
713
714         B<< C<h> >>     Use Alternate Screen Buffer
715         B<< C<l> >>     Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
716
717 =end table
718
719 =item B<< C<Ps = 1048> >>
720
721 =begin table
722
723         B<< C<h> >>     Save cursor position
724         B<< C<l> >>     Restore cursor position
725
726 =end table
727
728 =item B<< C<Ps = 1049> >>
729
730 =begin table
731
732         B<< C<h> >>     Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
733         B<< C<l> >>     Use Normal Screen Buffer
734
735 =end table
736
737 =back
738
739 =back
740
741 X<XTerm>
742
743 =head1 XTerm Operating System Commands
744
745 =over 4
746
747 =item B<< C<ESC ] Ps;Pt ST> >>
748
749 Set XTerm Parameters. 8-bit ST: 0x9c, 7-bit ST sequence: ESC \ (0x1b,
750 0x5c), backwards compatible terminator BEL (0x07) is also accepted. any
751 B<octet> can be escaped by prefixing it with SYN (0x16, ^V).
752
753 =begin table
754
755         B<< C<Ps = 0> >>        Change Icon Name and Window Title to B<< C<Pt> >>
756         B<< C<Ps = 1> >>        Change Icon Name to B<< C<Pt> >>
757         B<< C<Ps = 2> >>        Change Window Title to B<< C<Pt> >>
758         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.
759         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
760         B<< C<Ps = 10> >>       Change colour of text foreground to B<< C<Pt> >> B<(NB: may change in future)>
761         B<< C<Ps = 11> >>       Change colour of text background to B<< C<Pt> >> B<(NB: may change in future)>
762         B<< C<Ps = 12> >>       Change colour of text cursor foreground to B<< C<Pt> >>
763         B<< C<Ps = 13> >>       Change colour of mouse foreground to B<< C<Pt> >>
764         B<< C<Ps = 17> >>       Change colour of highlight characters to B<< C<Pt> >>
765         B<< C<Ps = 18> >>       Change colour of bold characters to B<< C<Pt> >>
766         B<< C<Ps = 19> >>       Change colour of underlined characters to B<< C<Pt> >>
767         B<< C<Ps = 20> >>       Change default background to B<< C<Pt> >>
768         B<< C<Ps = 39> >>       Change default foreground colour to B<< C<Pt> >> I<rxvt compile-time option>
769         B<< C<Ps = 46> >>       Change Log File to B<< C<Pt> >> I<unimplemented>
770         B<< C<Ps = 49> >>       Change default background colour to B<< C<Pt> >> I<rxvt compile-time option>
771         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> >>
772         B<< C<Ps = 55> >>       Log all scrollback buffer and all of screen to B<< C<Pt> >>
773         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)
774         B<< C<Ps = 703> >>      Menubar command B<< C<Pt> >> I<rxvt compile-time option> (rxvt-unicode extension)
775         B<< C<Ps = 704> >>      Change colour of italic characters to B<< C<Pt> >>
776         B<< C<Ps = 705> >>      Change background pixmap tint colour to B<< C<Pt> >>
777         B<< C<Ps = 710> >>      Set normal fontset to B<< C<Pt> >>. Same as C<Ps = 50>.
778         B<< C<Ps = 711> >>      Set bold fontset to B<< C<Pt> >>. Similar to C<Ps = 50>.
779         B<< C<Ps = 712> >>      Set italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50>.
780         B<< C<Ps = 713> >>      Set bold-italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50>.
781
782 =end table
783
784 =back
785
786 X<menuBar>
787
788 =head1 menuBar
789
790 B<< The exact syntax used is I<almost> solidified. >>
791 In the menus, B<DON'T> try to use menuBar commands that add or remove a
792 menuBar.
793
794 Note that in all of the commands, the B<< I</path/> >> I<cannot> be
795 omitted: use B<./> to specify a menu relative to the current menu.
796
797 =head2 Overview of menuBar operation
798
799 For the menuBar XTerm escape sequence C<ESC ] 703 ; Pt ST>, the syntax
800 of C<Pt> can be used for a variety of tasks:
801
802 At the top level is the current menuBar which is a member of a circular
803 linked-list of other such menuBars.
804
805 The menuBar acts as a parent for the various drop-down menus, which in
806 turn, may have labels, separator lines, menuItems and subMenus.
807
808 The menuItems are the useful bits: you can use them to mimic keyboard
809 input or even to send text or escape sequences back to rxvt.
810
811 The menuBar syntax is intended to provide a simple yet robust method of
812 constructing and manipulating menus and navigating through the
813 menuBars.
814
815 The first step is to use the tag B<< [menu:I<name>] >> which creates
816 the menuBar called I<name> and allows access. You may now or menus,
817 subMenus, and menuItems. Finally, use the tag B<[done]> to set the
818 menuBar access as B<readonly> to prevent accidental corruption of the
819 menus. To re-access the current menuBar for alterations, use the tag
820 B<[menu]>, make the alterations and then use B<[done]>
821
822 X<menuBarCommands>
823
824 =head2 Commands
825
826 =over 4
827
828 =item B<< [menu:+I<name>] >>
829
830 access the named menuBar for creation or alteration. If a new menuBar
831 is created, it is called I<name> (max of 15 chars) and the current
832 menuBar is pushed onto the stack
833
834 =item B<[menu]>
835
836 access the current menuBar for alteration
837
838 =item B<< [title:+I<string>] >>
839
840 set the current menuBar's title to I<string>, which may contain the
841 following format specifiers:
842 B<%%> : literal B<%> character
843 B<%n> : rxvt name (as per the B<-name> command-line option)
844 B<%v> : rxvt version
845
846 =item B<[done]>
847
848 set menuBar access as B<readonly>.
849 End-of-file tag for B<< [read:+I<file>] >> operations.
850
851 =item B<< [read:+I<file>] >>
852
853 read menu commands directly from I<file> (extension ".menu" will be
854 appended if required.) Start reading at a line with B<[menu]> or B<<
855 [menu:+I<name> >> and continuing until B<[done]> is encountered.
856
857 Blank and comment lines (starting with B<#>) are ignored. Actually,
858 since any invalid menu commands are also ignored, almost anything could
859 be construed as a comment line, but this may be tightened up in the
860 future ... so don't count on it!.
861
862 =item B<< [read:+I<file>;+I<name>] >>
863
864 The same as B<< [read:+I<file>] >>, but start reading at a line with
865 B<< [menu:+I<name>] >> and continuing until B<< [done:+I<name>] >> or
866 B<[done]> is encountered.
867
868 =item B<[dump]>
869
870 dump all menuBars to the file B</tmp/rxvt-PID> in a format suitable for
871 later rereading.
872
873 =item B<[rm:name]>
874
875 remove the named menuBar
876
877 =item B<[rm] [rm:]>
878
879 remove the current menuBar
880
881 =item B<[rm*] [rm:*]>
882
883 remove all menuBars
884
885 =item B<[swap]>
886
887 swap the top two menuBars
888
889 =item B<[prev]>
890
891 access the previous menuBar
892
893 =item B<[next]>
894
895 access the next menuBar
896
897 =item B<[show]>
898
899 Enable display of the menuBar
900
901 =item B<[hide]>
902
903 Disable display of the menuBar
904
905 =item B<< [pixmap:+I<name>] >>
906
907 =item B<< [pixmap:+I<name>;I<scaling>] >>
908
909 (set the background pixmap globally
910
911 B<< A Future implementation I<may> make this local to the menubar >>)
912
913 =item B<< [:+I<command>:] >>
914
915 ignore the menu readonly status and issue a I<command> to or a menu or
916 menuitem or change the ; a useful shortcut for setting the quick arrows
917 from a menuBar.
918
919 =back
920
921 X<menuBarAdd>
922
923 =head2 Adding and accessing menus
924
925 The following commands may also be B<+> prefixed.
926
927 =over 4
928
929 =item B</+>
930
931 access menuBar top level
932
933 =item B<./+>
934
935 access current menu level
936
937 =item B<../+>
938
939 access parent menu (1 level up)
940
941 =item B<../../>
942
943 access parent menu (multiple levels up)
944
945 =item B<< I</path/>menu >>
946
947 add/access menu
948
949 =item B<< I</path/>menu/* >>
950
951 add/access menu and clear it if it exists
952
953 =item B<< I</path/>{-} >>
954
955 add separator
956
957 =item B<< I</path/>{item} >>
958
959 add B<item> as a label
960
961 =item B<< I</path/>{item} action >>
962
963 add/alter I<menuitem> with an associated I<action>
964
965 =item B<< I</path/>{item}{right-text} >>
966
967 add/alter I<menuitem> with B<right-text> as the right-justified text
968 and as the associated I<action>
969
970 =item B<< I</path/>{item}{rtext} action >>
971
972 add/alter I<menuitem> with an associated I<action> and with B<rtext> as
973 the right-justified text.
974
975 =back
976
977 =over 4
978
979 =item Special characters in I<action> must be backslash-escaped:
980
981 B<\a \b \E \e \n \r \t \octal>
982
983 =item or in control-character notation:
984
985 B<^@, ^A .. ^Z .. ^_, ^?>
986
987 =back
988
989 To send a string starting with a B<NUL> (B<^@>) character to the
990 program, start I<action> with a pair of B<NUL> characters (B<^@^@>),
991 the first of which will be stripped off and the balance directed to the
992 program. Otherwise if I<action> begins with B<NUL> followed by
993 non-+B<NUL> characters, the leading B<NUL> is stripped off and the
994 balance is sent back to rxvt.
995
996 As a convenience for the many Emacs-type editors, I<action> may start
997 with B<M-> (eg, B<M-$> is equivalent to B<\E$>) and a B<CR> will be
998 appended if missed from B<M-x> commands.
999
1000 As a convenience for issuing XTerm B<ESC]> sequences from a menubar (or
1001 quick arrow), a B<BEL> (B<^G>) will be appended if needed.
1002
1003 =over 4
1004
1005 =item For example,
1006
1007 B<M-xapropos> is equivalent to B<\Exapropos\r>
1008
1009 =item and
1010
1011 B<\E]703;mona;100> is equivalent to B<\E]703;mona;100\a>
1012
1013 =back
1014
1015 The option B<< {I<right-rtext>} >> will be right-justified. In the
1016 absence of a specified action, this text will be used as the I<action>
1017 as well.
1018
1019 =over 4
1020
1021 =item For example,
1022
1023 B</File/{Open}{^X^F}> is equivalent to B</File/{Open}{^X^F} ^X^F>
1024
1025 =back
1026
1027 The left label I<is> necessary, since it's used for matching, but
1028 implicitly hiding the left label (by using same name for both left and
1029 right labels), or explicitly hiding the left label (by preceeding it
1030 with a dot), makes it possible to have right-justified text only.
1031
1032 =over 4
1033
1034 =item For example,
1035
1036 B</File/{Open}{Open} Open-File-Action>
1037
1038 =item or hiding it
1039
1040 B</File/{.anylabel}{Open} Open-File-Action>
1041
1042 =back
1043
1044 X<menuBarRemove>
1045
1046 =head2 Removing menus
1047
1048 =over 4
1049
1050 =item B<< -/*+ >>
1051
1052 remove all menus from the menuBar, the same as B<[clear]>
1053
1054 =item B<< -+I</path>menu+ >>
1055
1056 remove menu
1057
1058 =item B<< -+I</path>{item}+ >>
1059
1060 remove item
1061
1062 =item B<< -+I</path>{-} >>
1063
1064 remove separator)
1065
1066 =item B<-/path/menu/*>
1067
1068 remove all items, separators and submenus from menu
1069
1070 =back
1071
1072 X<menuBarArrows>
1073
1074 =head2 Quick Arrows
1075
1076 The menus also provide a hook for I<quick arrows> to provide easier
1077 user access. If nothing has been explicitly set, the default is to
1078 emulate the curror keys. The syntax permits each arrow to be altered
1079 individually or all four at once without re-entering their common
1080 beginning/end text. For example, to explicitly associate cursor actions
1081 with the arrows, any of the following forms could be used:
1082
1083 =over 4
1084
1085 =item B<< <r>+I<Right> >>
1086
1087 =item B<< <l>+I<Left> >>
1088
1089 =item B<< <u>+I<Up> >>
1090
1091 =item B<< <d>+I<Down> >>
1092
1093 Define actions for the respective arrow buttons
1094
1095 =item B<< <b>+I<Begin> >>
1096
1097 =item B<< <e>+I<End> >>
1098
1099 Define common beginning/end parts for I<quick arrows> which used in
1100 conjunction with the above <r> <l> <u> <d> constructs
1101
1102 =back
1103
1104 =over 4
1105
1106 =item For example, define arrows individually,
1107
1108  <u>\E[A
1109
1110  <d>\E[B
1111
1112  <r>\E[C
1113
1114  <l>\E[D
1115
1116 =item or all at once
1117
1118  <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D
1119
1120 =item or more compactly (factoring out common parts)
1121
1122  <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D
1123
1124 =back
1125
1126 X<menuBarSummary>
1127
1128 =head2 Command Summary
1129
1130 A short summary of the most I<common> commands:
1131
1132 =over 4
1133
1134 =item [menu:name]
1135
1136 use an existing named menuBar or start a new one
1137
1138 =item [menu]
1139
1140 use the current menuBar
1141
1142 =item [title:string]
1143
1144 set menuBar title
1145
1146 =item [done]
1147
1148 set menu access to readonly and, if reading from a file, signal EOF
1149
1150 =item [done:name]
1151
1152 if reading from a file using [read:file;name] signal EOF
1153
1154 =item [rm:name]
1155
1156 remove named menuBar(s)
1157
1158 =item [rm] [rm:]
1159
1160 remove current menuBar
1161
1162 =item [rm*] [rm:*]
1163
1164 remove all menuBar(s)
1165
1166 =item [swap]
1167
1168 swap top two menuBars
1169
1170 =item [prev]
1171
1172 access the previous menuBar
1173
1174 =item [next]
1175
1176 access the next menuBar
1177
1178 =item [show]
1179
1180 map menuBar
1181
1182 =item [hide]
1183
1184 unmap menuBar
1185
1186 =item [pixmap;file]
1187
1188 =item [pixmap;file;scaling]
1189
1190 set a background pixmap
1191
1192 =item [read:file]
1193
1194 =item [read:file;name]
1195
1196 read in a menu from a file
1197
1198 =item [dump]
1199
1200 dump out all menuBars to /tmp/rxvt-PID
1201
1202 =item /
1203
1204 access menuBar top level
1205
1206 =item ./
1207
1208 =item ../
1209
1210 =item ../../
1211
1212 access current or parent menu level
1213
1214 =item /path/menu
1215
1216 add/access menu
1217
1218 =item /path/{-}
1219
1220 add separator
1221
1222 =item /path/{item}{rtext} action
1223
1224 add/alter menu item
1225
1226 =item -/*
1227
1228 remove all menus from the menuBar
1229
1230 =item -/path/menu
1231
1232 remove menu items, separators and submenus from menu
1233
1234 =item -/path/menu
1235
1236 remove menu
1237
1238 =item -/path/{item}
1239
1240 remove item
1241
1242 =item -/path/{-}
1243
1244 remove separator
1245
1246 =item <b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
1247
1248 menu quick arrows
1249
1250 =back
1251 X<XPM>
1252
1253 =head1 XPM
1254
1255 For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value
1256 of B<< C<Pt> >> can be the name of the background pixmap followed by a
1257 sequence of scaling/positioning commands separated by semi-colons. The
1258 scaling/positioning commands are as follows:
1259
1260 =over 4
1261
1262 =item query scale/position
1263
1264 B<?>
1265
1266 =item change scale and position
1267
1268 B<WxH+X+Y>
1269
1270 B<WxH+X> (== B<WxH+X+X>)
1271
1272 B<WxH> (same as B<WxH+50+50>)
1273
1274 B<W+X+Y> (same as B<WxW+X+Y>)
1275
1276 B<W+X> (same as B<WxW+X+X>)
1277
1278 B<W> (same as B<WxW+50+50>)
1279
1280 =item change position (absolute)
1281
1282 B<=+X+Y>
1283
1284 B<=+X> (same as B<=+X+Y>)
1285
1286 =item change position (relative)
1287
1288 B<+X+Y>
1289
1290 B<+X> (same as B<+X+Y>)
1291
1292 =item rescale (relative)
1293
1294 B<Wx0> -> B<W *= (W/100)>
1295
1296 B<0xH> -> B<H *= (H/100)>
1297
1298 =back
1299
1300 For example:
1301
1302 =over 4
1303
1304 =item B<\E]20;funky\a>
1305
1306 load B<funky.xpm> as a tiled image
1307
1308 =item B<\E]20;mona;100\a>
1309
1310 load B<mona.xpm> with a scaling of 100%
1311
1312 =item B<\E]20;;200;?\a>
1313
1314 rescale the current pixmap to 200% and display the image geometry in
1315 the title
1316
1317 =back
1318 X<Mouse>
1319
1320 =head1 Mouse Reporting
1321
1322 =over 4
1323
1324 =item B<< C<< ESC [ M <b> <x> <y> >> >>
1325
1326 report mouse position
1327
1328 =back
1329
1330 The lower 2 bits of B<< C<< <b> >> >> indicate the button:
1331
1332 =over 4
1333
1334 =item Button = B<< C<< (<b> - SPACE) & 3 >> >>
1335
1336 =begin table
1337
1338         0       Button1 pressed
1339         1       Button2 pressed
1340         2       Button3 pressed
1341         3       button released (X11 mouse report)
1342
1343 =end table
1344
1345 =back
1346
1347 The upper bits of B<< C<< <b> >> >> indicate the modifiers when the
1348 button was pressed and are added together (X11 mouse report only):
1349
1350 =over 4
1351
1352 =item State = B<< C<< (<b> - SPACE) & 60 >> >>
1353
1354 =begin table
1355
1356         4       Shift
1357         8       Meta
1358         16      Control
1359         32      Double Click I<(Rxvt extension)>
1360
1361 =end table
1362
1363 Col = B<< C<< <x> - SPACE >> >>
1364
1365 Row = B<< C<< <y> - SPACE >> >>
1366
1367 =back
1368 X<KeyCodes>
1369
1370 =head1 Key Codes
1371
1372 Note: B<Shift> + B<F1>-B<F10> generates B<F11>-B<F20>
1373
1374 For the keypad, use B<Shift> to temporarily override Application-Keypad
1375 setting use B<Num_Lock> to toggle Application-Keypad setting if
1376 B<Num_Lock> is off, toggle Application-Keypad setting. Also note that
1377 values of B<Home>, B<End>, B<Delete> may have been compiled differently on
1378 your system.
1379
1380 =begin table
1381
1382                 B<Normal>       B<Shift>        B<Control>      B<Ctrl+Shift>
1383         Tab     ^I      ESC [ Z ^I      ESC [ Z
1384         BackSpace       ^H      ^?      ^?      ^?
1385         Find    ESC [ 1 ~       ESC [ 1 $       ESC [ 1 ^       ESC [ 1 @
1386         Insert  ESC [ 2 ~       I<paste>        ESC [ 2 ^       ESC [ 2 @
1387         Execute ESC [ 3 ~       ESC [ 3 $       ESC [ 3 ^       ESC [ 3 @
1388         Select  ESC [ 4 ~       ESC [ 4 $       ESC [ 4 ^       ESC [ 4 @
1389         Prior   ESC [ 5 ~       I<scroll-up>    ESC [ 5 ^       ESC [ 5 @
1390         Next    ESC [ 6 ~       I<scroll-down>  ESC [ 6 ^       ESC [ 6 @
1391         Home    ESC [ 7 ~       ESC [ 7 $       ESC [ 7 ^       ESC [ 7 @
1392         End     ESC [ 8 ~       ESC [ 8 $       ESC [ 8 ^       ESC [ 8 @
1393         Delete  ESC [ 3 ~       ESC [ 3 $       ESC [ 3 ^       ESC [ 3 @
1394         F1      ESC [ 11 ~      ESC [ 23 ~      ESC [ 11 ^      ESC [ 23 ^
1395         F2      ESC [ 12 ~      ESC [ 24 ~      ESC [ 12 ^      ESC [ 24 ^
1396         F3      ESC [ 13 ~      ESC [ 25 ~      ESC [ 13 ^      ESC [ 25 ^
1397         F4      ESC [ 14 ~      ESC [ 26 ~      ESC [ 14 ^      ESC [ 26 ^
1398         F5      ESC [ 15 ~      ESC [ 28 ~      ESC [ 15 ^      ESC [ 28 ^
1399         F6      ESC [ 17 ~      ESC [ 29 ~      ESC [ 17 ^      ESC [ 29 ^
1400         F7      ESC [ 18 ~      ESC [ 31 ~      ESC [ 18 ^      ESC [ 31 ^
1401         F8      ESC [ 19 ~      ESC [ 32 ~      ESC [ 19 ^      ESC [ 32 ^
1402         F9      ESC [ 20 ~      ESC [ 33 ~      ESC [ 20 ^      ESC [ 33 ^
1403         F10     ESC [ 21 ~      ESC [ 34 ~      ESC [ 21 ^      ESC [ 34 ^
1404         F11     ESC [ 23 ~      ESC [ 23 $      ESC [ 23 ^      ESC [ 23 @
1405         F12     ESC [ 24 ~      ESC [ 24 $      ESC [ 24 ^      ESC [ 24 @
1406         F13     ESC [ 25 ~      ESC [ 25 $      ESC [ 25 ^      ESC [ 25 @
1407         F14     ESC [ 26 ~      ESC [ 26 $      ESC [ 26 ^      ESC [ 26 @
1408         F15 (Help)      ESC [ 28 ~      ESC [ 28 $      ESC [ 28 ^      ESC [ 28 @
1409         F16 (Menu)      ESC [ 29 ~      ESC [ 29 $      ESC [ 29 ^      ESC [ 29 @
1410         F17     ESC [ 31 ~      ESC [ 31 $      ESC [ 31 ^      ESC [ 31 @
1411         F18     ESC [ 32 ~      ESC [ 32 $      ESC [ 32 ^      ESC [ 32 @
1412         F19     ESC [ 33 ~      ESC [ 33 $      ESC [ 33 ^      ESC [ 33 @
1413         F20     ESC [ 34 ~      ESC [ 34 $      ESC [ 34 ^      ESC [ 34 @
1414                                         B<Application>
1415         Up      ESC [ A ESC [ a ESC O a ESC O A
1416         Down    ESC [ B ESC [ b ESC O b ESC O B
1417         Right   ESC [ C ESC [ c ESC O c ESC O C
1418         Left    ESC [ D ESC [ d ESC O d ESC O D
1419         KP_Enter        ^M                      ESC O M
1420         KP_F1   ESC O P                 ESC O P
1421         KP_F2   ESC O Q                 ESC O Q
1422         KP_F3   ESC O R                 ESC O R
1423         KP_F4   ESC O S                 ESC O S
1424         XK_KP_Multiply  *                       ESC O j
1425         XK_KP_Add       +                       ESC O k
1426         XK_KP_Separator ,                       ESC O l
1427         XK_KP_Subtract  -                       ESC O m
1428         XK_KP_Decimal   .                       ESC O n
1429         XK_KP_Divide    /                       ESC O o
1430         XK_KP_0 0                       ESC O p
1431         XK_KP_1 1                       ESC O q
1432         XK_KP_2 2                       ESC O r
1433         XK_KP_3 3                       ESC O s
1434         XK_KP_4 4                       ESC O t
1435         XK_KP_5 5                       ESC O u
1436         XK_KP_6 6                       ESC O v
1437         XK_KP_7 7                       ESC O w
1438         XK_KP_8 8                       ESC O x
1439         XK_KP_9 9                       ESC O y
1440
1441 =end table
1442
1443 =head1 CONFIGURE OPTIONS
1444
1445 General hint: if you get compile errors, then likely your configuration
1446 hasn't been tested well. Either try with --enable-everything or use the
1447 ./reconf script as a base for experiments. ./reconf is used by myself,
1448 so it should generally be a working config. Of course, you should always
1449 report when a combination doesn't work, so it can be fixed. Marc Lehmann
1450 <rxvt@schmorp.de>.
1451
1452 =over 4
1453
1454 =item --enable-everything
1455
1456 Add support for all non-multichoice options listed in "./configure
1457 --help". Note that unlike other enable options this is order dependant.
1458 You can specify this and then disable options which this enables by
1459 I<following> this with the appropriate commands.
1460
1461 =item --enable-xft
1462
1463 Add support for Xft (anti-aliases, among others) fonts. Xft fonts are
1464 slower and require lots of memory, but as long as you don't use them, you
1465 don't pay for them.
1466
1467 =item --enable-font-styles
1468
1469 Add support for B<bold>, I<italic> and B<< I<bold italic> >> font
1470 styles. The fonts can be set manually or automatically.
1471
1472 =item --with-codesets=NAME,...
1473
1474 Compile in support for additional codeset (encoding) groups (eu, vn are
1475 always compiled in, which includes most 8-bit character sets). These
1476 codeset tables are currently only used for driving X11 core fonts, they
1477 are not required for Xft fonts. Compiling them in will make your binary
1478 bigger (together about 700kB), but it doesn't increase memory usage unless
1479 you use an X11 font requiring one of these encodings.
1480
1481 =begin table
1482
1483         all     all available codeset groups
1484         cn      common chinese encodings
1485         cn_ext  rarely used but very big chinese encodigs
1486         jp      common japanese encodings
1487         jp_ext  rarely used but big japanese encodings
1488         kr      korean encodings
1489
1490 =end table
1491
1492 =item --enable-xim
1493
1494 Add support for XIM (X Input Method) protocol. This allows using
1495 alternative input methods (e.g. kinput2) and will also correctly
1496 set up the input for people using dead keys or compose keys.
1497
1498 =item --enable-unicode3
1499
1500 Enable direct support for displaying unicode codepoints above
1501 65535 (the basic multilingual page). This increases storage
1502 requirements per character from 2 to 4 bytes. X11 fonts do not yet
1503 support these extra characters, but Xft does.
1504
1505 Please note that rxvt-unicode can store unicode code points >65535
1506 even without this flag, but the number of such characters is
1507 limited to a view thousand (shared with combining characters,
1508 see next switch), and right now rxvt-unicode cannot display them
1509 (input/output and cut&paste still work, though).
1510
1511 =item --enable-combining
1512
1513 Enable automatic composition of combining characters into
1514 composite characters. This is required for proper viewing of text
1515 where accents are encoded as seperate unicode characters. This is
1516 done by using precomposited characters when available or creating
1517 new pseudo-characters when no precomposed form exists.
1518
1519 Without --enable-unicode3, the number of additional precomposed
1520 characters is rather limited (2048, if this is full, rxvt will use the
1521 private use area, extending the number of combinations to 8448). With
1522 --enable-unicode3, no practical limit exists. This will also enable
1523 storage of characters >65535.
1524
1525 The combining table also contains entries for arabic presentation forms,
1526 but these are not currently used. Bug me if you want these to be used.
1527
1528 =item --enable-fallback(=CLASS)
1529
1530 When reading resource settings, also read settings for class CLASS
1531 (default: Rxvt). To disable resource fallback use --disable-fallback.
1532
1533 =item --with-res-name=NAME
1534
1535 Use the given name (default: urxvt) as default application name when
1536 reading resources. Specify --with-res-name=rxvt to replace rxvt.
1537
1538 =item --with-res-class=CLASS
1539
1540 Use the given class (default: URxvt) as default application class
1541 when reading resources.  Specify --with-res-class=Rxvt to replace
1542 rxvt.
1543
1544 =item --enable-utmp
1545
1546 Write user and tty to utmp file (used by programs like F<w>) at
1547 start of rxvt execution and delete information when rxvt exits.
1548
1549 =item --enable-wtmp
1550
1551 Write user and tty to wtmp file (used by programs like F<last>) at
1552 start of rxvt execution and write logout when rxvt exits.  This
1553 option requires --enable-utmp to also be specified.
1554
1555 =item --enable-lastlog
1556
1557 Write user and tty to lastlog file (used by programs like
1558 F<lastlogin>) at start of rxvt execution.  This option requires
1559 --enable-utmp to also be specified.
1560
1561 =item --enable-xpm-background
1562
1563 Add support for XPM background pixmaps.
1564
1565 =item --enable-transparency
1566
1567 Add support for inheriting parent backgrounds thus giving a fake
1568 transparency to the term.
1569
1570 =item --enable-fading
1571
1572 Add support for fading the text when focus is lost.
1573
1574 =item --enable-tinting
1575
1576 Add support for tinting of transparent backgrounds.
1577
1578 =item --enable-menubar
1579
1580 Add support for our menu bar system (this interacts badly with
1581 dynamic locale switching currently).
1582
1583 =item --enable-rxvt-scroll
1584
1585 Add support for the original rxvt scrollbar.
1586
1587 =item --enable-next-scroll
1588
1589 Add support for a NeXT-like scrollbar.
1590
1591 =item --enable-xterm-scroll
1592
1593 Add support for an Xterm-like scrollbar.
1594
1595 =item --enable-plain-scroll
1596
1597 Add support for a very unobtrusive, plain-looking scrollbar that
1598 is the favourite of the rxvt-unicode author, having used it for
1599 many years.
1600
1601 =item --enable-half-shadow
1602
1603 Make shadows on the scrollbar only half the normal width & height.
1604 only applicable to rxvt scrollbars.
1605
1606 =item --enable-ttygid
1607
1608 Change tty device setting to group "tty" - only use this if
1609 your system uses this type of security.
1610
1611 =item --disable-backspace-key
1612
1613 Disable any handling of the backspace key by us - let the X server
1614 do it.
1615
1616 =item --disable-delete-key
1617
1618 Disable any handling of the delete key by us - let the X server
1619 do it.
1620
1621 =item --disable-resources
1622
1623 Remove all resources checking.
1624
1625 =item --enable-xgetdefault
1626
1627 Make resources checking via XGetDefault() instead of our small
1628 version which only checks ~/.Xdefaults, or if that doesn't exist
1629 then ~/.Xresources.
1630
1631 =item --enable-strings
1632
1633 Add support for our possibly faster memset() function and other
1634 various routines, overriding your system's versions which may
1635 have been hand-crafted in assembly or may require extra libraries
1636 to link in. (this breaks ANSI-C rules and has problems on many
1637 GNU/Linux systems).
1638
1639 =item --disable-swapscreen
1640
1641 Remove support for swap screen.
1642
1643 =item --enable-frills
1644
1645 Add support for many small features that are not essential but nice to
1646 have. Normally you want this, but for very small binaries you may want to
1647 disable this.
1648
1649 =item --enable-iso14755
1650
1651 Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
1652 F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by
1653 C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with
1654 this switch.
1655
1656 =item --enable-linespace
1657
1658 Add support to provide user specified line spacing between text rows.
1659
1660 =item --enable-keepscrolling
1661
1662 Add support for continual scrolling of the display when you hold
1663 the mouse button down on a scrollbar arrow.
1664
1665 =item --enable-mousewheel
1666
1667 Add support for scrolling via mouse wheel or buttons 4 & 5.
1668
1669 =item --enable-slipwheeling
1670
1671 Add support for continual scrolling (using the mouse wheel as an
1672 accelerator) while the control key is held down.  This option
1673 requires --enable-mousewheel to also be specified.
1674
1675 =item --disable-new-selection
1676
1677 Remove support for mouse selection style like that of xterm.
1678
1679 =item --enable-dmalloc
1680
1681 Use Gray Watson's malloc - which is good for debugging See
1682 http://www.letters.com/dmalloc/ for details If you use either this or the
1683 next option, you may need to edit src/Makefile after compiling to point
1684 DINCLUDE and DLIB to the right places.
1685
1686 You can only use either this option and the following (should
1687 you use either) .
1688
1689 =item --enable-dlmalloc
1690
1691 Use Doug Lea's malloc - which is good for a production version
1692 See L<http://g.oswego.edu/dl/html/malloc.html> for details.
1693
1694 =item --enable-smart-resize
1695
1696 Add smart growth/shrink behaviour when changing font size via from hot
1697 keys. This should keep in a fixed position the rxvt corner which is
1698 closest to a corner of the screen.
1699
1700 =item --enable-cursor-blink
1701
1702 Add support for a blinking cursor.
1703
1704 =item --enable-pointer-blank
1705
1706 Add support to have the pointer disappear when typing or inactive.
1707
1708 =item --with-name=NAME
1709
1710 Set the basename for the installed binaries (default: urxvt, resulting in
1711 urxvt, urxvtd etc.). Specify --with-name=rxvt to replace rxvt.
1712
1713 =item --with-term=NAME
1714
1715 Change the environmental variable for the terminal to NAME (default
1716 "rxvt")
1717
1718 =item --with-terminfo=PATH
1719
1720 Change the environmental variable for the path to the terminfo tree to
1721 PATH.
1722
1723 =item --with-x
1724
1725 Use the X Window System (pretty much default, eh?).
1726
1727 =item --with-xpm-includes=DIR
1728
1729 Look for the XPM includes in DIR.
1730
1731 =item --with-xpm-library=DIR
1732
1733 Look for the XPM library in DIR.
1734
1735 =item --with-xpm
1736
1737 Not needed - define via --enable-xpm-background.
1738
1739 =back
1740
1741 =head1 AUTHORS
1742
1743 Marc Lehmann <rxvt@schmorp.de> converted this document to pod and
1744 reworked it from the original Rxvt documentation, which was done by Geoff
1745 Wing <gcw@pobox.com>, who in turn used the XTerm documentation and other
1746 sources.
1747