ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.7.pod
Revision: 1.1
Committed: Thu Aug 12 20:42:12 2004 UTC (19 years, 10 months ago) by root
Branch: MAIN
Log Message:
*** empty log message ***

File Contents

# Content
1 =head1 Rxvt Technical Reference
2
3 Marc Lehmann <rxvt@schmorp.de>, converted to pod and reworked from the
4 original Rxvt documentation by Geoff Wing <gcw@pobox.com>, who in turn used
5 the XTerm documentation and other sources.
6
7 =head1 Definitions
8
9 =over 4
10
11 =item B<< C<c> >>
12
13 The literal character c.
14
15 =item B<< C<C> >>
16
17 A single (required) character.
18
19 =item B<< C<Ps> >>
20
21 A single (usually optional) numeric parameter, composed of one or more
22 digits.
23
24 =item B<< C<Pm> >>
25
26 A multiple numeric parameter composed of any number of single numeric
27 parameters, separated by C<;> character(s).
28
29 =item B<< C<Pt> >>
30
31 A text parameter composed of printable characters.
32
33 =back
34
35 =head1 Values
36
37 =over 4
38
39 =item B<< C<ENQ> >>
40
41 Enquiry (Ctrl-E) = Send Device Attributes (DA)
42 request attributes from terminal ==
43
44 =item B<< C<BEL> >>
45
46 Bell (Ctrl-G)
47
48 =item B<< C<BS> >>
49
50 Backspace (Ctrl-H)
51
52 =item B<< C<TAB> >>
53
54 Horizontal Tab (HT) (Ctrl-I)
55
56 =item B<< C<LF> >>
57
58 Line Feed or New Line (NL) (Ctrl-J)
59
60 =item B<< C<VT> >>
61
62 Vertical Tab (Ctrl-K) same as B<< C<LF> >>
63
64 =item B<< C<FF> >>
65
66 Form Feed or New Page (NP) (Ctrl-L) same as B<< C<LF> >>
67
68 =item B<< C<CR> >>
69
70 Carriage Return (Ctrl-M)
71
72 =item B<< C<SO> >>
73
74 Shift Out (Ctrl-N), invokes the G1 character set.
75 Switch to Alternate Character Set
76
77 =item B<< C<SI> >>
78
79 Shift In (Ctrl-O), invokes the G0 character set (the default).
80 Switch to Standard Character Set
81
82 =item B<< C<SPC> >>
83
84 Space Character
85
86 =back
87
88 =head1 Escape Sequences
89
90 =over 4
91
92 =item B<< C<ESC # 8> >>
93
94 DEC Screen Alignment Test (DECALN)
95
96 =item B<< C<ESC 7> >>
97
98 Save Cursor (SC)
99
100 =item B<< C<ESC 8> >>
101
102 Restore Cursor
103
104 =item B<< C<ESC => >>
105
106 Application Keypad (SMKX). See also next sequence.
107
108 =item B<<< C<< ESC >> >>>
109
110 Normal Keypad (RMKX)
111
112 B<Note:> If the numeric keypad is activated, eg, B<Num_Lock> has been
113 pressed, numbers or control functions are generated by the numeric keypad
114 (see Key Codes).
115
116 =item B<< C<ESC D> >>
117
118 Index (IND)
119
120 =item B<< C<ESC E> >>
121
122 Next Line (NEL)
123
124 =item B<< C<ESC H> >>
125
126 Tab Set (HTS)
127
128 =item B<< C<ESC M> >>
129
130 Reverse Index (RI)
131
132 =item B<< C<ESC N> >>
133
134 Single Shift Select of G2 Character Set (SS2): affects next character
135 only I<unimplemented>
136
137 =item B<< C<ESC O> >>
138
139 Single Shift Select of G3 Character Set (SS3): affects next character
140 only I<unimplemented>
141
142 =item B<< C<ESC Z> >>
143
144 Obsolete form of returns: B<< C<ESC[?1;2C> >> I<rxvt compile-time option>
145
146 =item B<< C<ESC c> >>
147
148 Full reset (RIS)
149
150 =item B<< C<ESC n> >>
151
152 Invoke the G2 Character Set (LS2)
153
154 =item B<< C<ESC o> >>
155
156 Invoke the G3 Character Set (LS3)
157
158 =item B<< C<ESC>(C<C> >>
159
160 Designate G0 Character Set (ISO 2022), see below for values of C<C>.
161
162 =item B<< C<ESC>)C<C> >>
163
164 Designate G1 Character Set (ISO 2022), see below for values of C<C>.
165
166 =item B<< C<ESC * C> >>
167
168 Designate G2 Character Set (ISO 2022), see below for values of C<C>.
169
170 =item B<< C<ESC + C> >>
171
172 Designate G3 Character Set (ISO 2022), see below for values of C<C>.
173
174 =item B<< C<ESC $ C> >>
175
176 Designate Kanji Character Set
177
178 Where B<< C<C> >> is one of:
179
180 =begin table
181
182 C = C<0> DEC Special Character and Line Drawing Set
183 C = C<A> United Kingdom (UK)
184 C = C<B> United States (USASCII)
185 C = C<< < >> Multinational character set I<unimplemented>
186 C = C<5> Finnish character set I<unimplemented>
187 C = C<C> Finnish character set I<unimplemented>
188 C = C<K> German character set I<unimplemented>
189
190 =end table
191
192 =back
193
194 X<CSI>
195
196 =head1 CSI (Code Sequence Introducer) Sequences
197
198 =over 4
199
200 =item B<< C<ESC [ Ps @> >>
201
202 Insert B<< C<Ps> >> (Blank) Character(s) [default: 1] (ICH)X<ESCOBPsA>
203
204 =item B<< C<ESC [ Ps A> >>
205
206 Cursor Up B<< C<Ps> >> Times [default: 1] (CUU)
207
208 =item B<< C<ESC [ Ps B> >>
209
210 Cursor Down B<< C<Ps> >> Times [default: 1] (CUD)X<ESCOBPsC>
211
212 =item B<< C<ESC [ Ps C> >>
213
214 Cursor Forward B<< C<Ps> >> Times [default: 1] (CUF)
215
216 =item B<< C<ESC [ Ps D> >>
217
218 Cursor Backward B<< C<Ps> >> Times [default: 1] (CUB)
219
220 =item B<< C<ESC [ Ps E> >>
221
222 Cursor Down B<< C<Ps> >> Times [default: 1] and to first column
223
224 =item B<< C<ESC [ Ps F> >>
225
226 Cursor Up B<< C<Ps> >> Times [default: 1] and to first columnX<ESCOBPsG>
227
228 =item B<< C<ESC [ Ps G> >>
229
230 Cursor to Column B<< C<Ps> >> (HPA)
231
232 =item B<< C<ESC [ Ps;Ps H> >>
233
234 Cursor Position [row;column] [default: 1;1] (CUP)
235
236 =item B<< C<ESC [ Ps I> >>
237
238 Move forward B<< C<Ps> >> tab stops [default: 1]
239
240 =item B<< C<ESC [ Ps J> >>
241
242 Erase in Display (ED)
243
244 =begin table
245
246 B<< C<Ps = 0> >> Clear Below (default)
247 B<< C<Ps = 1> >> Clear Above
248 B<< C<Ps = 2> >> Clear All
249
250 =end table
251
252 =item B<< C<ESC [ Ps K> >>
253
254 Erase in Line (EL)
255
256 =begin table
257
258 B<< C<Ps = 0> >> Clear to Right (default)
259 B<< C<Ps = 1> >> Clear to Left
260 B<< C<Ps = 2> >> Clear All
261
262 =end table
263
264 =item B<< C<ESC [ Ps L> >>
265
266 Insert B<< C<Ps> >> Line(s) [default: 1] (IL)
267
268 =item B<< C<ESC [ Ps M> >>
269
270 Delete B<< C<Ps> >> Line(s) [default: 1] (DL)
271
272 =item B<< C<ESC [ Ps P> >>
273
274 Delete B<< C<Ps> >> Character(s) [default: 1] (DCH)
275
276 =item B<< C<ESC [ Ps;Ps;Ps;Ps;Ps T> >>
277
278 Initiate . I<unimplemented> Parameters are
279 [func;startx;starty;firstrow;lastrow].
280
281 =item B<< C<ESC [ Ps W> >>
282
283 Tabulator functions
284
285 =begin table
286
287 B<< C<Ps = 0> >> Tab Set (HTS)
288 B<< C<Ps = 2> >> Tab Clear (TBC), Clear Current Column (default)
289 B<< C<Ps = 5> >> Tab Clear (TBC), Clear All
290
291 =end table
292
293 =item B<< C<ESC [ Ps X> >>
294
295 Erase B<< C<Ps> >> Character(s) [default: 1] (ECH)
296
297 =item B<< C<ESC [ Ps Z> >>
298
299 Move backward B<< C<Ps> >> [default: 1] tab stops
300
301 =item B<< C<ESC [ Ps '> >>
302
303 ==
304
305 =item B<< C<ESC [ Ps a> >>
306
307 ==X<ESCOBPsc>
308
309 =item B<< C<ESC [ Ps c> >>
310
311 Send Device Attributes (DA)
312 B<< C<Ps = 0> >> (or omitted): request attributes from terminal
313 returns: B<< C<ESC[?1;2c> >> (``I am a VT100 with Advanced Video
314 Option'')
315
316 =item B<< C<ESC [ Ps d> >>
317
318 Cursor to Line B<< C<Ps> >> (VPA)
319
320 =item B<< C<ESC [ Ps e> >>
321
322 ==
323
324 =item B<< C<ESC [ Ps;Ps f> >>
325
326 Horizontal and Vertical Position [row;column] (HVP) [default: 1;1]
327
328 =item B<< C<ESC [ Ps g> >>
329
330 Tab Clear (TBC)
331
332 =begin table
333
334 B<< C<Ps = 0> >> Clear Current Column (default)
335 B<< C<Ps = 3> >> Clear All (TBC)
336
337 =end table
338
339 =item B<< C<ESC [ Ps i> >>
340
341 Printing
342
343 =begin table
344
345 B<< C<Ps = 4> >> disable transparent print mode (MC4)
346 B<< C<Ps = 5> >> enable transparent print mode (MC5) I<unimplemented>
347
348 =end table
349
350 =item B<< C<ESC [ Pm h> >>
351
352 Set Mode (SM). See next sequence for description of C<Pm>.
353
354 =item B<< C<ESC [ Pm l> >>
355
356 Reset Mode (RM)
357
358 =over 4
359
360 =item B<< C<Ps = 4> >>
361
362 =begin table
363
364 B<< C<h> >> Insert Mode (SMIR)
365 B<< C<l> >> Replace Mode (RMIR)
366
367 =end table
368
369 =item B<< C<Ps = 20> >> I<unimplemented>
370
371 =begin table
372
373 B<< C<h> >> Automatic Newline (LNM)
374 B<< C<h> >> Normal Linefeed (LNM)
375
376 =end table
377
378 =back
379
380 =item B<< C<ESC [ Pm m> >>
381
382 Character Attributes (SGR)
383
384 =begin table
385
386 B<< C<Ps = 0> >> Normal (default)
387 B<< C<Ps = 1 / 22> >> On / Off Bold (bright fg)
388 B<< C<Ps = 4 / 24> >> On / Off Underline
389 B<< C<Ps = 5 / 25> >> On / Off Blink (bright bg)
390 B<< C<Ps = 7 / 27> >> On / Off Inverse
391 B<< C<Ps = 30 / 40> >> fg/bg Black
392 B<< C<Ps = 31 / 41> >> fg/bg Red
393 B<< C<Ps = 32 / 42> >> fg/bg Green
394 B<< C<Ps = 33 / 43> >> fg/bg Yellow
395 B<< C<Ps = 34 / 44> >> fg/bg Blue
396 B<< C<Ps = 35 / 45> >> fg/bg Magenta
397 B<< C<Ps = 36 / 46> >> fg/bg Cyan
398 B<< C<Ps = 37 / 47> >> fg/bg White
399 B<< C<Ps = 39 / 49> >> fg/bg Default
400
401 =end table
402
403 =item B<< C<ESC [ Ps n> >>
404
405 Device Status Report (DSR)
406
407 =begin table
408
409 B<< C<Ps = 5> >> Status Report B<< C<ESC [ 0 n> >> (``OK'')
410 B<< C<Ps = 6> >> Report Cursor Position (CPR) [row;column] as B<< C<ESC [ r ; c R> >>
411 B<< C<Ps = 7> >> Request Display Name
412 B<< C<Ps = 8> >> Request Version Number (place in window title)
413
414 =end table
415
416 =item B<< C<ESC [ Ps;Ps r> >>
417
418 Set Scrolling Region [top;bottom]
419 [default: full size of window] (CSR)
420
421 =item B<< C<ESC [ s> >>
422
423 Save Cursor (SC)
424
425 =item B<< C<ESC [ Ps x> >>
426
427 Request Terminal Parameters (DECREQTPARM)
428
429 =item B<< C<ESC [ u> >>
430
431 Restore Cursor
432
433 =back
434
435 X<PrivateModes>
436
437 =head1 DEC Private Modes
438
439 =over 4
440
441 =item B<< C<ESC [ ? Pm h> >>
442
443 DEC Private Mode Set (DECSET)
444
445 =item B<< C<ESC [ ? Pm l> >>
446
447 DEC Private Mode Reset (DECRST)
448
449 =item B<< C<ESC [ ? Pm r> >>
450
451 Restore previously saved DEC Private Mode Values.
452
453 =item B<< C<ESC [ ? Pm s> >>
454
455 Save DEC Private Mode Values.
456
457 =item B<< C<ESC [ ? Pm t> >>
458
459 Toggle DEC Private Mode Values (rxvt extension). I<where>
460
461 =over 4
462
463 =item B<< C<Ps = 1> >> (DECCKM)
464
465 =begin table
466
467 B<< C<h> >> Application Cursor Keys
468 B<< C<l> >> Normal Cursor Keys
469
470 =end table
471
472 =item B<< C<Ps = 2> >> (ANSI/VT52 mode)
473
474 =begin table
475
476 B<< C<h> >> Enter VT52 mode
477 B<< C<l> >> Enter VT52 mode
478
479 =end table
480
481 =item B<< C<Ps = 3> >>
482
483 =begin table
484
485 B<< C<h> >> 132 Column Mode (DECCOLM)
486 B<< C<l> >> 80 Column Mode (DECCOLM)
487
488 =end table
489
490 =item B<< C<Ps = 4> >>
491
492 =begin table
493
494 B<< C<h> >> Smooth (Slow) Scroll (DECSCLM)
495 B<< C<l> >> Jump (Fast) Scroll (DECSCLM)
496
497 =end table
498
499 =item B<< C<Ps = 5> >>
500
501 =begin table
502
503 B<< C<h> >> Reverse Video (DECSCNM)
504 B<< C<l> >> Normal Video (DECSCNM)
505
506 =end table
507
508 =item B<< C<Ps = 6> >>
509
510 =begin table
511
512 B<< C<h> >> Origin Mode (DECOM)
513 B<< C<l> >> Normal Cursor Mode (DECOM)
514
515 =end table
516
517 =item B<< C<Ps = 7> >>
518
519 =begin table
520
521 B<< C<h> >> Wraparound Mode (DECAWM)
522 B<< C<l> >> No Wraparound Mode (DECAWM)
523
524 =end table
525
526 =item B<< C<Ps = 8> >> I<unimplemented>
527
528 =begin table
529
530 B<< C<h> >> Auto-repeat Keys (DECARM)
531 B<< C<l> >> No Auto-repeat Keys (DECARM)
532
533 =end table
534
535 =item B<< C<Ps = 9> >> X10 XTerm
536
537 =begin table
538
539 B<< C<h> >> Send Mouse X & Y on button press.
540 B<< C<l> >> No mouse reporting.
541
542 =end table
543
544 )X<Priv10>
545
546 =item B<< C<Ps = 10> >> (B<rxvt>)
547
548 =begin table
549
550 B<< C<h> >> visible
551 B<< C<l> >> invisible
552
553 =end table
554
555 =item B<< C<Ps = 25> >>
556
557 =begin table
558
559 B<< C<h> >> Visible cursor {cnorm/cvvis}
560 B<< C<l> >> Invisible cursor {civis}
561
562 =end table
563
564 =item B<< C<Ps = 30> >>
565
566 =begin table
567
568 B<< C<h> >> scrollBar visisble
569 B<< C<l> >> scrollBar invisisble
570
571 =end table
572
573 =item B<< C<Ps = 35> >> (B<rxvt>)
574
575 =begin table
576
577 B<< C<h> >> Allow XTerm Shift+key sequences
578 B<< C<l> >> Disallow XTerm Shift+key sequences
579
580 =end table
581
582 =item B<< C<Ps = 38> >> I<unimplemented>
583
584 Enter Tektronix Mode (DECTEK)
585
586 =item B<< C<Ps = 40> >>
587
588 =begin table
589
590 B<< C<h> >> Allow 80/132 Mode
591 B<< C<l> >> Disallow 80/132 Mode
592
593 =end table
594
595 =item B<< C<Ps = 44> >> I<unimplemented>
596
597 =begin table
598
599 B<< C<h> >> Turn On Margin Bell
600 B<< C<l> >> Turn Off Margin Bell
601
602 =end table
603
604 =item B<< C<Ps = 45> >> I<unimplemented>
605
606 =begin table
607
608 B<< C<h> >> Reverse-wraparound Mode
609 B<< C<l> >> No Reverse-wraparound Mode
610
611 =end table
612
613 =item B<< C<Ps = 46> >> I<unimplemented>
614
615 =item B<< C<Ps = 47> >>
616
617 =begin table
618
619 B<< C<h> >> Use Alternate Screen Buffer
620 B<< C<l> >> Use Normal Screen Buffer
621
622 =end table
623
624 X<Priv66>
625
626 =item B<< C<Ps = 66> >>
627
628 =begin table
629
630 B<< C<h> >> Application Keypad (DECPAM) ==
631 B<< C<l> >> Normal Keypad (DECPNM) ==
632
633 =end table
634
635 =item B<< C<Ps = 67> >>
636
637 =begin table
638
639 B<< C<h> >> Backspace key sends B<< C<BS> (DECBKM) >>
640 B<< C<l> >> Backspace key sends B<< C<DEL> >>
641
642 =end table
643
644 =item B<< C<Ps = 1000> >> (X11 XTerm)
645
646 =begin table
647
648 B<< C<h> >> Send Mouse X & Y on button press and release.
649 B<< C<l> >> No mouse reporting.
650
651 =end table
652
653 =item B<< C<Ps = 1001> >> (X11 XTerm) I<unimplemented>
654
655 =begin table
656
657 B<< C<h> >> Use Hilite Mouse Tracking.
658 B<< C<l> >> No mouse reporting.
659
660 =end table
661
662 =item B<< C<Ps = 1010> >>
663
664 =begin table
665
666 B<< C<h> >> Don't scroll to bottom on TTY output
667 B<< C<l> >> Scroll to bottom on TTY output
668
669 =end table
670
671 =item B<< C<Ps = 1011> >>
672
673 =begin table
674
675 B<< C<h> >> Scroll to bottom when a key is pressed
676 B<< C<l> >> Don't scroll to bottom when a key is pressed
677
678 =end table
679
680 =item B<< C<Ps = 1047> >>
681
682 =begin table
683
684 B<< C<h> >> Use Alternate Screen Buffer
685 B<< C<l> >> Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
686
687 =end table
688
689 =item B<< C<Ps = 1048> >>
690
691 =begin table
692
693 B<< C<h> >> Save cursor position
694 B<< C<l> >> Restore cursor position
695
696 =end table
697
698 =back
699
700 =back
701
702 X<XTerm>
703
704 =head1 XTerm Operating System Commands
705
706 =over 4
707
708 =item B<< C<ESC ] Ps;Pt ST> >>
709
710 Set XTerm Parameters. 8-bit ST: 0x9c, 7-bit ST sequence: ESC \ (0x1b,
711 0x5c), backwards compatible terminator BEL (0x07) is also accepted. any
712 B<octet> can be escaped by prefixing it with SYN (0x16, ^V).
713
714 =begin table
715
716 B<< C<Ps = 0> >> Change Icon Name and Window Title to B<< C<Pt> >>
717 B<< C<Ps = 1> >> Change Icon Name to B<< C<Pt> >>
718 B<< C<Ps = 2> >> Change Window Title to B<< C<Pt> >>
719 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.
720 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
721 B<< C<Ps = 10> >> Change colour of text foreground to B<< C<Pt> >> B<(NB: may change in future)>
722 B<< C<Ps = 11> >> Change colour of text background to B<< C<Pt> >> B<(NB: may change in future)>
723 B<< C<Ps = 12> >> Change colour of text cursor foreground to B<< C<Pt> >>
724 B<< C<Ps = 13> >> Change colour of mouse foreground to B<< C<Pt> >>
725 B<< C<Ps = 17> >> Change colour of highlight characters to B<< C<Pt> >>
726 B<< C<Ps = 18> >> Change colour of bold characters to B<< C<Pt> >>
727 B<< C<Ps = 19> >> Change colour of underlined characters to B<< C<Pt> >>
728 B<< C<Ps = 20> >> Change default background to B<< C<Pt> >>
729 B<< C<Ps = 39> >> Change default foreground colour to B<< C<Pt> >> I<rxvt compile-time option>
730 B<< C<Ps = 46> >> Change Log File to B<< C<Pt> >> I<unimplemented>
731 B<< C<Ps = 49> >> Change default background colour to B<< C<Pt> >> I<rxvt compile-time option>
732 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> >>
733 B<< C<Ps = 55> >> Log all scrollback buffer and all of screen to B<< C<Pt> >>
734 B<< C<Ps = 701> >> Change current locale to B<< C<Pt> >>, or, if B<< C<Pt> >> is B<< C<?> >>, return the current locale (@@RXVTNAME@@ extension)
735 B<< C<Ps = 702> >> find font for character, used for debugging (@@RXVTNAME@@ extension)
736 B<< C<Ps = 703> >> command B<< C<Pt> >> I<rxvt compile-time option> (@@RXVTNAME@@ extension)
737
738 =end table
739
740 =back
741
742 X<menuBar>
743
744 =head1 menuBar
745
746 B<< The exact syntax used is I<almost> solidified. >>
747 In the menus, B<DON'T> try to use menuBar commands that add or remove a
748 menuBar.
749
750 Note that in all of the commands, the B<< I</path/> >> I<cannot> be
751 omitted: use B<./> to specify a menu relative to the current menu.
752
753 =head2 Overview of menuBar operation
754
755 For the menuBar XTerm escape sequence C<ESC ] 703 ; Pt ST>, the syntax
756 of C<Pt> can be used for a variety of tasks:
757
758 At the top level is the current menuBar which is a member of a circular
759 linked-list of other such menuBars.
760
761 The menuBar acts as a parent for the various drop-down menus, which in
762 turn, may have labels, separator lines, menuItems and subMenus.
763
764 The menuItems are the useful bits: you can use them to mimic keyboard
765 input or even to send text or escape sequences back to rxvt.
766
767 The menuBar syntax is intended to provide a simple yet robust method of
768 constructing and manipulating menus and navigating through the
769 menuBars.
770
771 The first step is to use the tag B<< [menu:I<name>] >> which creates
772 the menuBar called I<name> and allows access. You may now or menus,
773 subMenus, and menuItems. Finally, use the tag B<[done]> to set the
774 menuBar access as B<readonly> to prevent accidental corruption of the
775 menus. To re-access the current menuBar for alterations, use the tag
776 B<[menu]>, make the alterations and then use B<[done]>
777
778 X<menuBarCommands>
779
780 =head2 Commands
781
782 =over 4
783
784 =item B<< [menu:+I<name>] >>
785
786 access the named menuBar for creation or alteration. If a new menuBar
787 is created, it is called I<name> (max of 15 chars) and the current
788 menuBar is pushed onto the stack
789
790 =item B<[menu]>
791
792 access the current menuBar for alteration
793
794 =item B<< [title:+I<string>] >>
795
796 set the current menuBar's title to I<string>, which may contain the
797 following format specifiers:
798 B<%%> : literal B<%> character
799 B<%n> : rxvt name (as per the B<-name> command-line option)
800 B<%v> : rxvt version
801
802 =item B<[done]>
803
804 set menuBar access as B<readonly>.
805 End-of-file tag for B<< [read:+I<file>] >> operations.
806
807 =item B<< [read:+I<file>] >>
808
809 read menu commands directly from I<file> (extension ".menu" will be
810 appended if required.) Start reading at a line with B<[menu]> or B<<
811 [menu:+I<name> >> and continuing until B<[done]> is encountered.
812
813 Blank and comment lines (starting with B<#>) are ignored. Actually,
814 since any invalid menu commands are also ignored, almost anything could
815 be construed as a comment line, but this may be tightened up in the
816 future ... so don't count on it!.
817
818 =item B<< [read:+I<file>;+I<name>] >>
819
820 The same as B<< [read:+I<file>] >>, but start reading at a line with
821 B<< [menu:+I<name>] >> and continuing until B<< [done:+I<name>] >> or
822 B<[done]> is encountered.
823
824 =item B<[dump]>
825
826 dump all menuBars to the file B</tmp/rxvt-PID> in a format suitable for
827 later rereading.
828
829 =item B<[rm:name]>
830
831 remove the named menuBar
832
833 =item B<[rm] [rm:]>
834
835 remove the current menuBar
836
837 =item B<[rm*] [rm:*]>
838
839 remove all menuBars
840
841 =item B<[swap]>
842
843 swap the top two menuBars
844
845 =item B<[prev]>
846
847 access the previous menuBar
848
849 =item B<[next]>
850
851 access the next menuBar
852
853 =item B<[show]>
854
855 Enable display of the menuBar
856
857 =item B<[hide]>
858
859 Disable display of the menuBar
860
861 =item B<< [pixmap:+I<name>] >>
862
863 =item B<< [pixmap:+I<name>;I<scaling>] >>
864
865 (set the background pixmap globally
866
867 B<< A Future implementation I<may> make this local to the menubar >>)
868
869 =item B<< [:+I<command>:] >>
870
871 ignore the menu readonly status and issue a I<command> to or a menu or
872 menuitem or change the ; a useful shortcut for setting the quick arrows
873 from a menuBar.
874
875 =back
876
877 X<menuBarAdd>
878
879 =head2 Adding and accessing menus
880
881 The following commands may also be B<+> prefixed.
882
883 =over 4
884
885 =item B</+>
886
887 access menuBar top level
888
889 =item B<./+>
890
891 access current menu level
892
893 =item B<../+>
894
895 access parent menu (1 level up)
896
897 =item B<../../>
898
899 access parent menu (multiple levels up)
900
901 =item B<< I</path/>menu >>
902
903 add/access menu
904
905 =item B<< I</path/>menu/* >>
906
907 add/access menu and clear it if it exists
908
909 =item B<< I</path/>{-} >>
910
911 add separator
912
913 =item B<< I</path/>{item} >>
914
915 add B<item> as a label
916
917 =item B<< I</path/>{item} action >>
918
919 add/alter I<menuitem> with an associated I<action>
920
921 =item B<< I</path/>{item}{right-text} >>
922
923 add/alter I<menuitem> with B<right-text> as the right-justified text
924 and as the associated I<action>
925
926 =item B<< I</path/>{item}{rtext} action >>
927
928 add/alter I<menuitem> with an associated I<action> and with B<rtext> as
929 the right-justified text.
930
931 =back
932
933 =over 4
934
935 =item Special characters in I<action> must be backslash-escaped:
936
937 B<\a \b \E \e \n \r \t \octal>
938
939 =item or in control-character notation:
940
941 B<^@, ^A .. ^Z .. ^_, ^?>
942
943 =back
944
945 To send a string starting with a B<NUL> (B<^@>) character to the
946 program, start I<action> with a pair of B<NUL> characters (B<^@^@>),
947 the first of which will be stripped off and the balance directed to the
948 program. Otherwise if I<action> begins with B<NUL> followed by
949 non-+B<NUL> characters, the leading B<NUL> is stripped off and the
950 balance is sent back to rxvt.
951
952 As a convenience for the many Emacs-type editors, I<action> may start
953 with B<M-> (eg, B<M-$> is equivalent to B<\E$>) and a B<CR> will be
954 appended if missed from B<M-x> commands.
955
956 As a convenience for issuing XTerm B<ESC]> sequences from a menubar (or
957 quick arrow), a B<BEL> (B<^G>) will be appended if needed.
958
959 =over 4
960
961 =item For example,
962
963 B<M-xapropos> is equivalent to B<\Exapropos\r>
964
965 =item and
966
967 B<\E]703;mona;100> is equivalent to B<\E]703;mona;100\a>
968
969 =back
970
971 The option B<< {I<right-rtext>} >> will be right-justified. In the
972 absence of a specified action, this text will be used as the I<action>
973 as well.
974
975 =over 4
976
977 =item For example,
978
979 B</File/{Open}{^X^F}> is equivalent to B</File/{Open}{^X^F} ^X^F>
980
981 =back
982
983 The left label I<is> necessary, since it's used for matching, but
984 implicitly hiding the left label (by using same name for both left and
985 right labels), or explicitly hiding the left label (by preceeding it
986 with a dot), makes it possible to have right-justified text only.
987
988 =over 4
989
990 =item For example,
991
992 B</File/{Open}{Open} Open-File-Action>
993
994 =item or hiding it
995
996 B</File/{.anylabel}{Open} Open-File-Action>
997
998 =back
999
1000 X<menuBarRemove>
1001
1002 =head2 Removing menus
1003
1004 =over 4
1005
1006 =item B<< -/*+ >>
1007
1008 remove all menus from the menuBar, the same as B<[clear]>
1009
1010 =item B<< -+I</path>menu+ >>
1011
1012 remove menu
1013
1014 =item B<< -+I</path>{item}+ >>
1015
1016 remove item
1017
1018 =item B<< -+I</path>{-} >>
1019
1020 remove separator)
1021
1022 =item B<-/path/menu/*>
1023
1024 remove all items, separators and submenus from menu
1025
1026 =back
1027
1028 X<menuBarArrows>
1029
1030 =head2 Quick Arrows
1031
1032 The menus also provide a hook for I<quick arrows> to provide easier
1033 user access. If nothing has been explicitly set, the default is to
1034 emulate the curror keys. The syntax permits each arrow to be altered
1035 individually or all four at once without re-entering their common
1036 beginning/end text. For example, to explicitly associate cursor actions
1037 with the arrows, any of the following forms could be used:
1038
1039 =over 4
1040
1041 =item B<< <r>+I<Right> >>
1042
1043 =item B<< <l>+I<Left> >>
1044
1045 =item B<< <u>+I<Up> >>
1046
1047 =item B<< <d>+I<Down> >>
1048
1049 Define actions for the respective arrow buttons
1050
1051 =item B<< <b>+I<Begin> >>
1052
1053 =item B<< <e>+I<End> >>
1054
1055 Define common beginning/end parts for I<quick arrows> which used in
1056 conjunction with the above <r> <l> <u> <d> constructs
1057
1058 =back
1059
1060 =over 4
1061
1062 =item For example, define arrows individually,
1063
1064 <u>\E[A
1065
1066 <d>\E[B
1067
1068 <r>\E[C
1069
1070 <l>\E[D
1071
1072 =item or all at once
1073
1074 <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D
1075
1076 =item or more compactly (factoring out common parts)
1077
1078 <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D
1079
1080 =back
1081
1082 X<menuBarSummary>
1083
1084 =head2 Command Summary
1085
1086 A short summary of the most I<common> commands:
1087
1088 =over 4
1089
1090 =item [menu:name]
1091
1092 use an existing named menuBar or start a new one
1093
1094 =item [menu]
1095
1096 use the current menuBar
1097
1098 =item [title:string]
1099
1100 set menuBar title
1101
1102 =item [done]
1103
1104 set menu access to readonly and, if reading from a file, signal EOF
1105
1106 =item [done:name]
1107
1108 if reading from a file using [read:file;name] signal EOF
1109
1110 =item [rm:name]
1111
1112 remove named menuBar(s)
1113
1114 =item [rm] [rm:]
1115
1116 remove current menuBar
1117
1118 =item [rm*] [rm:*]
1119
1120 remove all menuBar(s)
1121
1122 =item [swap]
1123
1124 swap top two menuBars
1125
1126 =item [prev]
1127
1128 access the previous menuBar
1129
1130 =item [next]
1131
1132 access the next menuBar
1133
1134 =item [show]
1135
1136 map menuBar
1137
1138 =item [hide]
1139
1140 unmap menuBar
1141
1142 =item [pixmap;file]
1143
1144 =item [pixmap;file;scaling]
1145
1146 set a background pixmap
1147
1148 =item [read:file]
1149
1150 =item [read:file;name]
1151
1152 read in a menu from a file
1153
1154 =item [dump]
1155
1156 dump out all menuBars to /tmp/rxvt-PID
1157
1158 =item /
1159
1160 access menuBar top level
1161
1162 =item ./
1163
1164 =item ../
1165
1166 =item ../../
1167
1168 access current or parent menu level
1169
1170 =item /path/menu
1171
1172 add/access menu
1173
1174 =item /path/{-}
1175
1176 add separator
1177
1178 =item /path/{item}{rtext} action
1179
1180 add/alter menu item
1181
1182 =item -/*
1183
1184 remove all menus from the menuBar
1185
1186 =item -/path/menu
1187
1188 remove menu items, separators and submenus from menu
1189
1190 =item -/path/menu
1191
1192 remove menu
1193
1194 =item -/path/{item}
1195
1196 remove item
1197
1198 =item -/path/{-}
1199
1200 remove separator
1201
1202 =item <b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
1203
1204 menu quick arrows
1205
1206 =back
1207 X<XPM>
1208
1209 =head1 XPM
1210
1211 For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value
1212 of B<< C<Pt> >> can be the name of the background pixmap followed by a
1213 sequence of scaling/positioning commands separated by semi-colons. The
1214 scaling/positioning commands are as follows:
1215
1216 =over 4
1217
1218 =item query scale/position
1219
1220 B<?>
1221
1222 =item change scale and position
1223
1224 B<WxH+X+Y>
1225
1226 B<WxH+X> (== B<WxH+X+X>)
1227
1228 B<WxH> (same as B<WxH+50+50>)
1229
1230 B<W+X+Y> (same as B<WxW+X+Y>)
1231
1232 B<W+X> (same as B<WxW+X+X>)
1233
1234 B<W> (same as B<WxW+50+50>)
1235
1236 =item change position (absolute)
1237
1238 B<=+X+Y>
1239
1240 B<=+X> (same as B<=+X+Y>)
1241
1242 =item change position (relative)
1243
1244 B<+X+Y>
1245
1246 B<+X> (same as B<+X+Y>)
1247
1248 =item rescale (relative)
1249
1250 B<Wx0> -> B<W *= (W/100)>
1251
1252 B<0xH> -> B<H *= (H/100)>
1253
1254 =back
1255
1256 For example:
1257
1258 =over 4
1259
1260 =item B<\E]20;funky\a>
1261
1262 load B<funky.xpm> as a tiled image
1263
1264 =item B<\E]20;mona;100\a>
1265
1266 load B<mona.xpm> with a scaling of 100%
1267
1268 =item B<\E]20;;200;?\a>
1269
1270 rescale the current pixmap to 200% and display the image geometry in
1271 the title
1272
1273 =back
1274 X<Mouse>
1275
1276 =head1 Mouse Reporting
1277
1278 =over 4
1279
1280 =item B<< C<< ESC [ M <b> <x> <y> >> >>
1281
1282 report mouse position
1283
1284 =back
1285
1286 The lower 2 bits of B<< C<< <b> >> >> indicate the button:
1287
1288 =over 4
1289
1290 =item Button = B<< C<< (<b> - SPACE) & 3 >> >>
1291
1292 =begin table
1293
1294 0 Button1 pressed
1295 1 Button2 pressed
1296 2 Button3 pressed
1297 3 button released (X11 mouse report)
1298
1299 =end table
1300
1301 =back
1302
1303 The upper bits of B<< C<< <b> >> >> indicate the modifiers when the
1304 button was pressed and are added together (X11 mouse report only):
1305
1306 =over 4
1307
1308 =item State = B<< C<< (<b> - SPACE) & 60 >> >>
1309
1310 =begin table
1311
1312 4 Shift
1313 8 Meta
1314 16 Control
1315 32 Double Click I<(Rxvt extension)>
1316
1317 =end table
1318
1319 Col = B<< C<< <x> - SPACE >> >>
1320
1321 Row = B<< C<< <y> - SPACE >> >>
1322
1323 =back
1324 X<KeyCodes>
1325
1326 =head1 ISO 14755 support
1327
1328 Partial ISO 14755-support is implemented. that means that pressing
1329
1330 section 5.1: Control and Shift together enters unicode input
1331 mode. Entering hex digits composes a Unicode character, pressing space or
1332 releasing the modifiers commits the keycode and every other key cancels
1333 the current input character.
1334
1335 section 5.2: Pressing and immediately releasing Control and Shift together
1336 enters keycap entry mode for the next key: pressing a function key (tab,
1337 return etc..) will enter the unicode character corresponding to the given
1338 key.
1339
1340 =head1 Key Codes
1341
1342 Note: B<Shift> + B<F1>-B<F10> generates B<F11>-B<F20>
1343
1344 For the keypad, use B<Shift> to temporarily override Application-Keypad
1345 setting use B<Num_Lock> to toggle Application-Keypad setting if
1346 B<Num_Lock> is off, toggle Application-Keypad setting. Also note that
1347 values of B<Home>, B<End>, B<Delete> may have been compiled differently on
1348 your system.
1349
1350 =begin table
1351
1352 B<Normal> B<Shift> B<Control> B<Ctrl+Shift>
1353 Tab ^I ESC [ Z ^I ESC [ Z
1354 BackSpace ^H ^? ^? ^?
1355 Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @
1356 Insert ESC [ 2 ~ I<paste> ESC [ 2 ^ ESC [ 2 @
1357 Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
1358 Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @
1359 Prior ESC [ 5 ~ I<scroll-up> ESC [ 5 ^ ESC [ 5 @
1360 Next ESC [ 6 ~ I<scroll-down> ESC [ 6 ^ ESC [ 6 @
1361 Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @
1362 End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @
1363 Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
1364 F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^
1365 F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^
1366 F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^
1367 F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^
1368 F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^
1369 F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^
1370 F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^
1371 F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^
1372 F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^
1373 F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^
1374 F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @
1375 F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @
1376 F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @
1377 F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @
1378 F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @
1379 F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @
1380 F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @
1381 F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @
1382 F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @
1383 F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @
1384 B<Application>
1385 Up ESC [ A ESC [ a ESC O a ESC O A
1386 Down ESC [ B ESC [ b ESC O b ESC O B
1387 Right ESC [ C ESC [ c ESC O c ESC O C
1388 Left ESC [ D ESC [ d ESC O d ESC O D
1389 KP_Enter ^M ESC O M
1390 KP_F1 ESC O P ESC O P
1391 KP_F2 ESC O Q ESC O Q
1392 KP_F3 ESC O R ESC O R
1393 KP_F4 ESC O S ESC O S
1394 XK_KP_Multiply * ESC O j
1395 XK_KP_Add + ESC O k
1396 XK_KP_Separator , ESC O l
1397 XK_KP_Subtract - ESC O m
1398 XK_KP_Decimal . ESC O n
1399 XK_KP_Divide / ESC O o
1400 XK_KP_0 0 ESC O p
1401 XK_KP_1 1 ESC O q
1402 XK_KP_2 2 ESC O r
1403 XK_KP_3 3 ESC O s
1404 XK_KP_4 4 ESC O t
1405 XK_KP_5 5 ESC O u
1406 XK_KP_6 6 ESC O v
1407 XK_KP_7 7 ESC O w
1408 XK_KP_8 8 ESC O x
1409 XK_KP_9 9 ESC O y
1410
1411 =end table
1412