-
Notifications
You must be signed in to change notification settings - Fork 1
/
FAQ
930 lines (683 loc) · 30.2 KB
/
FAQ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
--------------------------------------------------------------------------
Frequently Asked Questions (FAQ)
Hint: please set tab stop to 4 for a best display of this file.
$Id: FAQ,v 1.67 2005/04/25 04:36:05 cvs Exp $
--------------------------------------------------------------------------
-----
Q: I have a question...
A: Have you read the README, README.configure, INSTALL, FAQ,
TIPS, man page...? Before asking a question, please read through
these documents for potential answers.
Here is a good tutorial to ask questions:
http://www.catb.org/~esr/faqs/smart-questions.html
-----
Q: What exactly is the name of this project, materm or mrxvt?
A: The current official name of this project is mrxvt (I honestly
hope Rui Carmo will not reclaim the ownership of mrxvt because he
is the first person who tried to hack a multi-tab rxvt on Cygwin
and got this name for his project. Here is the link of his work:
http://the.taoofmac.com/space/Projects/mrxvt). As stated in README,
in the beginning, the project name was materm - derived from the
project multi-aterm. And this was the name when I registered the
project at sourceforge. Unfortunately it is not easy to rename
materm to mrxvt at sourceforge. This is why we keep materm as the
name at sourceforge.
-----
Q: Why not use GNU screen? It has provided the multi-screen
features!
A: Because I do not like GNU screen. ;-) People have their own
flavors. Plus, mrxvt provides some features that GNU screen lacks,
e.g., use mouse click to switch from different tabs... :p
-----
Q: Why not use gnome-terminal/konsole? They have provided the
functionality of mrxvt!
A: Because they are heavy, slow, and depend on too many libraries.
For example, gnome-terminal 2.6.1 in the Slackware -current tree
depends on 58 libraries, konsole of KDE 3.3 in the gentoo depends
on 41 libraries, mrxvt with all features only depends on 19
libraries, and this number can be further reduced to 5 (of course
you need to strip out some features, like background image ;-))!!
Since all I need is a fast and lightweight X terminal emulator
supporting multi-tabs, I decide to create mrxvt by myself.
-----
Q: How to build mrxvt, since I cannot find the configure script
as usual!?
A: Have you read the INSTALL file?
-----
Q: When I run mrxvt from command line, it outputs lots of verbose
text. How to disable it?
A: You probably have configured mrxvt with debug support. You
need to reconfigure mrxvt to disable debug support and rebuild
it, like the following:
$ ./configure --enable-whatever-options --disable-debug
$ make
-----
Q: I do not have root privilege on my system. Can I install mrxvt,
and what are the restrictions if I install it as normal user?
A: Surely you can install mrxvt without root privilege. You can
configure mrxvt with --prefix=/home/youraccount and install it.
Or you can simply copy the mrxvt program to anywhere you wish.
Mrxvt requires setuid root in order to write to utmp/wtmp/lastlog.
Since you do not have root privilege, you will lose these logging
features.
-----
Q: When I run mrxvt with multiple tabs, why does the output of
the `w' command shows many users are using the system?
A: This is because each mrxvt tab logs itself in an entry of the
utmp file. If you do not want this feature, remove the setuid
permission from mrxvt binary and do not build mrxvt with utempter
support.
-----
Q: I dislike the default mrxvt font, so I have installed some
new fonts, like the Verdana font. But when I run mrxvt with option
`-fn verdana', mrxvt complains that it cannot find the verdana
font! What is wrong?
A: There are two types of fonts in X Window System, the ancient
X11 bitmap fonts and the new freetype fonts. Mrxvt is capable to
use either type of fonts.
The X11 bitmap fonts have a special format of names. You can
execute command `xlsfonts | more' to get a complete list of all
X11 bitmap fonts installed in your system, and pick one you like.
Or you can execute program `xfontsel' to pick one, which shows
you the look of the font nicely. As you can see, the font name
is in a special format like the following example. That is why
mrxvt complains if you only provide the name of the font:
-adobe-courier-bold-o-normal--14-140-75-75-m-90-iso8859-1
The freetype fonts are much simpler to handle. You only need to
give the font family name to `-xftfn' option, there is not a
magic format like X11 font. You can specify other characteristics
of the freetype font using other related options.
-----
Q: When I want to use Chinese (or Korea/Japanese) encoding and
font, executing command `mrxvt -km gb -mfont fontname' is not
working! For example, it complains that -km is a bad option.
A: Most probably, you have not enabled gb/big5/kanji/korea options
when you configure the mrxvt. These options are turned off by
default. Reconfigure mrxvt to enable these options and rebuild it
like the following:
$ ./configure --enable-gb --enable-whatever-other-options
$ make
$ su
# make install
-----
Q: I have ~/.Xdefaults and ~/.mrxvtrc, which one is the first
to be read?
A: ~/.mrxvtrc will be the one to be read, and ~/.Xdefaults is
ignored. Mrxvt tries to read three resources files in sequence:
~/.mrxvtrc, ~/.Xdefaults and ~/.Xresources. If either one is
successfully opened, the rest are ignored.
-----
Q: How do I input Chinese (or Korea/Japanese) in mrxvt?
A: First of all, you need to to enable the language options for
Chinese/Korea/Japanese as the above question when you configure
mrxvt. You also needs to enable the XIM option (--enable-xim).
Then make sure you have correctly setup and started the XIM server,
like SCIM, Chinput, fcitx, etc.
Next, set the correct locale for mrxvt. You only need to set the
environment variable LC_CTYPE. But after you set it, make sure
that the environment variable LC_ALL is not set.
Finally, set the correct X resources in ~/.mrxvtrc file as the
followling. Remember the value of inputMethod is case sensitive.
mrxvt*multichar_encoding: GB
mrxvt*inputMethod: SCIM
-----
Q: I execute mrxvt with CJK encoding and X11 fonts. But sometimes
CJK characters are not display completely, or there are some extra
pixels left after the CJK characters.
A: This is a known issue for displaying CJK characters using X11
fonts. Mrxvt requires that the width of each CJK character (mfont)
be twice as the width of each english character (font). If this
condition is not met, mrxvt may display CJK characters with some
problems. For example, if you choose 6x12 as the font, and the
SimSun font as the mfont, but the width of the SimSun font is 13,
you will get in trouble. In particular, let us assume that you
want to display a string "XXabc", where "XX" represents a single
Chinese character. With SimSun font, the width of "XX" is 13, but
mrxvt thinks it is 12 (= 2 * 6)!!! Thus, when "abc" is displayed,
two pixels of "XX" will be overwritten by "a"! There are two
solutions to this issue. One is to carefully choose the font and
mfont such that the width of mfont is twice of the font. The other
is to use freetype font, where we have a special handling to avoid
this problem.
-----
Q: Does mrxvt support UTF-8 locale/encoding method?
A: Not now. This is a planned work and hopefully will be supported
in the next development branch (0.5.x).
-----
Q: I use UTF-8 as default encoding method, but mrxvt does not
support it. So can I start mrxvt with other encoding method, e.g.,
zh_CN.GB2312 without changing the default encoding method?
A: No problem! You can start mrxvt like the following if you use
bash/ksh/sh:
LC_CTYPE=zh_CN.GB2312 mrxvt &
If you use csh, try the following
env LC_CTYPE=zh_CN.GB2312 mrxvt &
-----
Q: I run mrxvt with `-o 25' option, but the window is not
translucent!
A: First make sure your X server support translucent, such as
Xorg 6.8.1. Next, make sure the translucent extension is enabled
in the X server. You can use command `xdpyinfo' to check whether
the Composite extension is in the extension list. Then make sure
you have run the program `xcompmgr' to enable translucent.
-----
Q: When I run mrxvt in transparent mode or background image mode,
can I make the background a little darker?
A: Yes, you can. This feature is called background fading. You
can specify the darker number in the backgroundFade X resource
or the -bgfade command line option. Notice that background fading
does not work for solid color background. Furthermore, background
fading is different from off-focus fading, which fades the
background only when mrxvt loses focus.
-----
Q: Why the tinting does not work after I set the tint color in
command line or ~/.mrxvtrc?
A: First, tinting only works for user supplied background image
or transparent background. Secondly, you have to set the shade
option as well.
-----
Q: I am tired with the current tinting color, can I change the
color without restart mrxvt?
A: Yes, you can. You can run the following command in a mrxvt
terminal:
$ echo "\e]66;red\a"
Alternatively, you can compile the settitle.c in doc/ directory
and use it to change the tinting color:
$ settitle -g red
-----
Q: How to start mrxvt with multiple tabs initially?
A You can set the number of tabs you want in ~/.mrxvtrc as
the following example:
mrxvt*initTermNumber: 3
Alternatively, you can set it using command line option -tnum.
-----
Q: How to set the title of each tab when mrxvt starts?
A: You can set title for each tab in ~/.mrxvtrc as the following
example:
mrxvt*vt0*tabTitle: term1
mrxvt*vt1*tabTitle: term2
mrxvt*vt2*tabTitle: term3
mrxvt*vt3*tabTitle: term4
Alternatively, you can set title for each tab using command line
options:
$ mrxvt -vt0.tt "term1" -vt1.tt "term2" -tnum 2
-----
Q: How to let each tab execute different applications when mrxvt
starts?
A: You can set command for each tab in ~/.mrxvtrc as the
following example:
mrxvt*vt0*command: /bin/bash
mrxvt*vt1*command: /bin/tcsh
mrxvt*vt2*command: /bin/bash -c "/usr/bin/mc"
mrxvt*vt3*command: /usr/bin/telnet www.mitbbs.com
Alternatively, you can set command for each tab using command line
options:
$ mrxvt -vt0.e "/bin/bash" -vt1.e '/bin/bash -c "telnet www.mitbbs.com"' -tnum 2
Notice that by default, -e command will override the first command
command. You can change this behavior to let -e command override
all tab commands by -at option or cmdAllSession resource.
-----
Q: How to change the title of a tab after mrxvt starts?
A: You can select some text in the mrxvt terminal and press the
hot key combinations: Ctrl_Meta_s or Shift_Delete. The tab title
will be changed to the selected text. Currently, the selected text
must be in the same mrxvt terminal.
You can also change the tab title through escape sequence. Please
compile the sample settitle.c in doc/ directory and run it as
follows:
$ settitle new_tab_title
The most convenient way to change tab title is to select text in
the mrxvt terminal and click the middle button of your mouse on
the tab that you want to change the title. If you click on blank
area of the tabbar, the title of the active tab will be changed.
Of course, this requires middle button support by your X Window
System.
-----
My Control+Right/Left keys works OK in Konsole and gnome-terminal
(Fedora Core 3). They didn't work under mrxvt. When i start vi
from mrxvt Home and End keys do not work also. How i can make my
keys works as expected in all applications started in mrxvt?
A: Put the following lines into your /etc/inputrc or ~/.inputrc:
# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# for rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
This question and answer are contributed by Sergey Porfiriev. Many
thanks to him!
-----
Q: How to change the title of a tab to the current directory
automatically?
A: You can achieve it by hack the prompt of your shell. For
example, if you use bash, you can set PS1 as this (thanks to
Watson@mitbbs.com and Jacques Bouchard AT onera.fr):
export PS1="\[\033]61;\w\007\]\u@\h:\w\\$ "
Notice that `\w' shows the full path of current directory. If you
only want the basename of current directory, use `\W' instead.
For C shell, you can hack `prompt' as this (thanks to Necholas
Carrasco for the solution. Sorry folks, there is no fun for this
homework any more):
set prompt="%{\033]61;%C\007%}$prompt"
You can also use `%c#' where `#' is the path depth to display
instead of `%C' which works like `\W' in bash.
-----
Q: How to use the Home/End key to move the cursor to the beginning/
end of the current command line? When I press the Home/End key, a
~ character is displayed.
A: It depends on your shell setting. If you set the terminal type
is set to `xterm' (mrxvt default since 0.4.0), put the following
lines in ~/.cshrc (if your shell is tcsh) or ~/.zshrc (if your
shell is zsh):
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
Put the following lines into ~/.inputrc (if your shell is bash):
"\e[1~": beginning-of-line
"\e[4~": end-of-line
If your terminal type is set to `rxvt', replace `1' with `7', and
`4' with `8' in the above lines.
Thanks to Jowex at users.sourceforge.net for contributing the
answer.
-----
Q: How to dynamically change the title of the mrxvt window so
that it is the same as the current active tab when I switch to
a new tab?
A: You can set X resources `syncTabTitle' to true or run mrxvt
with -stt option.
-----
Q: Why cannot I close a tab? The close button is grey!
A: Most probably, you have enabled the protectSecondary resource
and you are running an application, like vi and mc that is using
the secondary screen in the current tab. Mrxvt considers this
tab being protected and disallows you to close it. To close the
tab, please exit the application first. To disable this option,
you can modify the ~/.mrxvtrc file or run mrxvt with +ps option.
-----
Q: Is there any keyboard combination to manipulate the tabs?
A: Yes. Please read the TIPS file in the doc/ directory. Mrxvt
currently support the default gnome-terminal and konsole hotkey
combinations. If you prefer your own hotkey, you can define them
in the configuration file as well. Please refer to the man page
for details.
-----
Q: How to enable freetype font, or, say the XFT support?
A: You can either use the -xft command line option or the `xft'
X resource option in the ~/.mrxvtrc file. Check the sample
configuration file doc/xdefaults-sample.txt and man page for
more details.
-----
Q: After I use freetype font, the text rendering speed seems to
slow down a lot! How to improve the speed?
A: Yes, this is a known problem with XFT support. One way to fix
it is to disable antialias (and autohinting or hinting). But it
may make the font look ugly. If you do not like it, disable XFT
support and use X11 font instead.
-----
Q: After I use freetype font, the line space seems too large. Is
there any way to narrow down the line space?
A: This is probably because you have enabled the multichar support
when you configure mrxvt. In this case, mrxvt loads two fonts, one
the normal font, and one the multichar font. But due to some
problems with XFT library, the font loading function does not
follow our instructions to load the two fonts at specified size.
Thus, the size of two fonts are often different. To get a better
rendering result, mrxvt picks the large size, which is usually the
multichar font. But normal text are usually displayed using normal
font at a smaller size. So it appears that the line space is too
large. To solve this problem, you can specify the multichar font
be the same as the normal font since mrxvt 0.3.9, or specify the
-xftnfm option to not to load multichar font, or build mrxvt
without multichar support.
-----
Q: Why a feature, an X resource, a command line option, or a
hotkey combination does not work anymore as it worked before?
A: Don't panic! Most probably, it has been changed to another name,
but not disappearing. Current branch (0.3.x) is not considered as a
stable branch, so features may subject to changes. Please read the
documents for more details, they should have been updated
accordingly.
-----
Q: Can I change the color of tab background and text?
A: Yes you can. You can use command line option to set foreground
and background color of active or inactive tabs like this:
$ mrxvt -tabfg blue -tabbg grey -itabfg black -itabbg dark
Or you can set them in ~/.mrxvtrc like this:
! text color of active tab
mrxvt*tabForeground: blue
! background color of active tab
mrxvt*tabBackground: grey
! text color of inactive tab
mrxvt*itabForeground: black
! background color of inactive tab
mrxvt*itabBackground: dark
-----
Q: I notice that sometimes there is a dash-dot frame around the
title of inactive tabs. What has happened? Is it a bug?
A: This is a new feature introduced from 0.3.9. This indicates
that something has happened in the inactive tab, and you probably
should check it. But keep in mind that the dash-dot frame is not
persistent. If something happens that refresh the entire tabbar,
for example, a new tab is created, an existing tab is removed, or
the title of a visible tab is changed, the frame of a irrelevant
inactive tab will disappear. We could make the frame persistent.
But if most users think the current feature is enough, we just
keep it.
-----
Q: I notice that the inactive tab is highlighted by the dash-dot
frame, but after I switch to it, I see nothing happened. What is
wrong with it?
A: This is because you might be running some programs in the
inactive tab, like pine. These programs have some features to
refresh the screen periodly, though the content of the screen
has not changed. Mrxvt detects the refresh and thinks the screen
has changed. It is difficult to tell whether the content of the
screen is truly changed in this case.
-----
Q: I like to use command line options to create a new tab in the
current mrxvt terminal and execute some commands. For example,
if I run command `mrxvt --new-tab -e pine' in a mrxvt terminal,
the current terminal will open a new tab and run pine in it.
Can you implement it for me?
A: Unfortunately, no. This is a dangerous feature that can cause
serious security problems. By now, you can only use escape sequence
to create a new tab and execute the default program specified by
the ~/.mrxvtrc or the default shell in it. For details about
the security problem, consult to the following link:
http://www.digitaldefense.net/labs/papers/Termulation.txt
-----
Q: I like to use context menu when I right click in the terminal
window. For example, to copy/paste text. Can you support it?
A: To implement context menu using plain Xlib is very difficult.
If using GTK/QT, it is relative easy. So there is a trade off
between the features and library dependency, and I do not want to
let mrxvt depend on GTK/QT by now. So probably context menu will
not be supported in the near future.
-----
Q: Will you rewrite mrxvt using C++? The object oriented feature
of C++ can make mrxvt much modular.
A: No! Because I do not like C++. C does not mean to be less
modular or non-object oriented. It depends on how you do it. If
you really like a C++ implementation of rxvt, check out the
rxvt-unicode project.
-----
Q: How do I know which mrxvt version I'm using?
A: The version number is displayed with the usage (-h).
For rxvt version 2.14 and later, the escape sequence `ESC[8n'
sets the window title to the version number.
-----
Q: Mouse cut/paste suddenly no longer works.
A: Make sure that mouse reporting is actually turned off since
killing some editors prematurely may leave the mouse in mouse
report mode. I've heard that tcsh may use mouse reporting
unless it otherwise specified. A quick check is to see if
cut/paste works when the Alt or Shift keys are depressed. See
doc/refer.txt
-----
Q: What's with this bold/blink stuff? I can never get blinking
text!
A: It is not possible, and likely will never be, for mrxvt to have
actual blinking text. Instead (if mrxvt was compiled without
NO_BOLDCOLOR), bold/blink attributes are used to set high-intensity
foreground/background colors ... like what you'd see on a PC video
adapter. There are programs, notably John Davis' SLang-based ones
<ftp://space.mit.edu/pub/davis>, that use bold/blink attributes to
permit 16 colors.
color0-7 are the low-intensity colors.
color8-15 are the corresponding high-intensity colors.
A side issue of this bold/blink stuff is the question of how the
normal default foreground/background colors are to be treated. If
the default foreground/background match one of the low-intensity
colors (color0-7), the bold/blink attribute will invoke the
appropriate high-intensity color (color8-15).
In the case that the default foreground doesn't match one of the
low-intensity colors, the bold attribute will use an `overstrike'
to simulate a bold font. But note this leaves pixel-droppings and
so, rather than wasting an inordinate amounts of energy to fix it,
its use is simply deprecated.
In the case that the default background doesn't match one of the
low-intensity colors, the blink attribute is simply ignored
(rather than representing it as bold as xterm does).
-----
Q: I don't like the screen colors. How do I change them?
A: You can change the screen colors at run-time using ~/.mrxvtrc
resources (or as long-options) ... see the man-page.
Here are values that are supposed to resemble a VGA screen,
including the murky brown that passes for low-intensity yellow:
Mrxvt*color0: #000000
Mrxvt*color1: #A80000
Mrxvt*color2: #00A800
Mrxvt*color3: #A8A800
Mrxvt*color4: #0000A8
Mrxvt*color5: #A800A8
Mrxvt*color6: #00A8A8
Mrxvt*color7: #A8A8A8
Mrxvt*color8: #000054
Mrxvt*color9: #FF0054
Mrxvt*color10: #00FF54
Mrxvt*color11: #FFFF54
Mrxvt*color12: #0000FF
Mrxvt*color13: #FF00FF
Mrxvt*color14: #00FFFF
Mrxvt*color15: #FFFFFF
-----
Q: What's with the strange Backspace/Delete key behaviour?
A: Assuming that the physical Backspace key corresponds to the
BackSpace keysym (not likely for Linux ... see the following
question) there are two standard values that can be used for
Backspace: ^H and ^?.
Mrxvt tries to inherit the current stty settings and uses the value
of `erase' to guess the value for backspace. If mrxvt wasn't
started from a terminal (say, from a menu or by remote shell),
then the system value of `erase', which corresponds to CERASE in
<termios.h>, will be used (which may not be the same as your stty
setting).
For starting a new mrxvt:
use Backspace = ^H
$ stty erase ^H
$ mrxvt
or
$ mrxvt --backspacekey ^H -e bash
use Backspace = ^?
$ stty erase ^?
$ mrxvt
$ mrxvt --backspacekey ^? -e bash
NB: generate either value with BackSpace and Ctrl/Shift-BackSpace.
Toggle with "ESC[36h" / "ESC[36l" as documented in "doc/refer.txt"
For an existing mrxvt:
use Backspace = ^H
$ stty erase ^H
$ echo -n "^[[36h"
use Backspace = ^?
$ stty erase ^?
$ echo -n "^[[36l"
This helps satisfy some of the Backspace discrepancies that occur,
but if you use Backspace = ^?, make sure that the termcap/terminfo
value properly reflects that.
The Delete key (which one would expect to emit ^?) is a another
casualty of the ill-defined Backspace problem. To avoid confusion
between the Backspace and Delete keys, the Delete key has been
assigned an escape sequence to match the vt100 for Execute (ESC[3~)
and is in the supplied termcap/terminfo.
Some other Backspace problems:
some editors use termcap/terminfo,
some editors (vim I'm told) expect Backspace = ^H,
GNU Emacs (and Emacs-like editors) use ^H for help.
Perhaps someday this will all be resolved in a consistent manner
... and maybe xterm will have Home/End values too!
-----
Q: Why doesn't the Backspace key work on my Linux machine?
A: The XFree86 server has a notorious problem of mapping the
Backspace key as Delete in order to match the Linux console.
The correct way to fix this:
0 - Complain to your Linux distributer and the XFree86 team,
maybe they'll fix it.
1 - Use xmodmap to correct the Backspace mapping
! ~/.Xmodmap
! a correctly-mapped BackSpace
keycode 22 = BackSpace
*** Make sure the keycode above matches the physical
Backspace key on your machine!! (use xev) ***
This will also fix the BackSpace problem with Motif applications,
such as ``why doesn't Backspace work for Netscape?''
You now have a Backspace key that functions as described in the
previous question.
1a - You may also want to fix the regular xterm if it doesn't
generates the desired value for BackSpace
xterm*vt100.translations: #override \
<Key>BackSpace: string(\010) \n
or
xterm*vt100.translations: #override \
<Key>BackSpace: string(\177) \n
while you are at it, you may also want to have consistent
values to Home/End/Delete
xterm*vt100.translations: #override \
<Key>Home: string("\033[7~") \n\
<Key>End: string("\033[8~") \n\
<Key>Delete: string("\033[3~") \n
Finally, you can also remap the mrxvt key-binding at run-time (next
question) but you'll lose the ability to have Ctrl/Shift-Backspace
work differently as well as losing the escape sequence toggling of
Backspace.
-----
Q: I don't like the key-bindings. How do I change them?
A: There are some compile-time selections available via configure.
Unless you have run "configure" with the "--disable-resources"
option you can use the `keysym' resource to alter the keystrings
associated with keysym 0xFF00 - 0xFFFF (function, cursor keys, etc).
Here's an example for a tn3270 session started using
`mrxvt -name tn3270'
!# ----- special uses ------:
! tn3270 login, remap function and arrow keys.
tn3270*font: *clean-bold-*-*--15-*
! keysym - used by mrxvt only
! Delete - ^D
tn3270*keysym.0xFFFF: \004
! Home - ^A
tn3270*keysym.0xFF50: \001
! Left - ^B
tn3270*keysym.0xFF51: \002
! Up - ^P
tn3270*keysym.0xFF52: \020
! Right - ^F
tn3270*keysym.0xFF53: \006
! Down - ^N
tn3270*keysym.0xFF54: \016
! End - ^E
tn3270*keysym.0xFF57: \005
! F1 - F12
tn3270*keysym.0xFFBE: \e1
tn3270*keysym.0xFFBF: \e2
tn3270*keysym.0xFFC0: \e3
tn3270*keysym.0xFFC1: \e4
tn3270*keysym.0xFFC2: \e5
tn3270*keysym.0xFFC3: \e6
tn3270*keysym.0xFFC4: \e7
tn3270*keysym.0xFFC5: \e8
tn3270*keysym.0xFFC6: \e9
tn3270*keysym.0xFFC7: \e0
tn3270*keysym.0xFFC8: \e-
tn3270*keysym.0xFFC9: \e=
! map Prior/Next to F7/F8
tn3270*keysym.0xFF55: \e7
tn3270*keysym.0xFF56: \e8
-----
Q: I'm using keyboard model XXX that has extra Prior/Next/Insert
keys. How do I make use of them? For example, the Sun Keyboard
type 4 has the following mappings that mrxvt doesn't recognize.
KP_Insert == Insert
F22 == Print
F27 == Home
F29 == Prior
F33 == End
F35 == Next
A: Rather than have mrxvt try to accomodate all the various
possible keyboard mappings, it is better to use `xmodmap' to
remap the keys as required for your particular machine.
-----
Q: How do I distinguish if I'm running mrxvt or a regular xterm?
I need this to decide about setting colors etc.
A: mrxvt always exports the variable "COLORTERM", so you can check
and see if that is set. Note that several programs, JED, slrn,
Midnight Commander automatically check this variable to decide
whether or not to use color.
-----
Q: How do I set the correct, full IP address for the DISPLAY
variable?
A: If you've compiled mrxvt with DISPLAY_IS_IP then it is
possible to use the following shell script snippets to correctly set
the display. If your version of mrxvt wasn't also compiled with
ESCZ_ANSWER (as assumed in these snippets) then the COLORTERM
variable can be used to distinguish mrxvt from a regular xterm.
Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell
script snippets:
# Bourne/Korn/POSIX family of shells:
# assume an xterm if we don't know
[ ${TERM:-foo} = foo ] && TERM=xterm
if [ ${TERM:-foo} = xterm ]; then
# see if enhanced mrxvt or not
stty -icanon -echo min 0 time 15
echo -n '^[Z'
read term_id
stty icanon echo
if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
# query the mrxvt we are in for the DISPLAY string
echo -n '^[[7n'
# set it in our local shell
read DISPLAY
fi
fi
csh/tcsh family of shells:
# if term is unset, we are probably in an xterm
if ( !(${?TERM}) ) then
TERM = xterm
endif
if ( ${TERM} =~ xterm ) then
# see if enhanced mrxvt or not
stty -icanon -echo min 0 time 15
echo -n '^[Z'
set term_id=$<
stty icanon echo
if ( ""${term_id} == "^[[?1;2C" && ${?DISPLAY} == 0 ) then
# query the mrxvt we're in for the DISPLAY string
echo -n '^[[7n'
# set it in our local shell
setenv DISPLAY "$<"
endif
endif
-----
Q: Where is the CVS repository of mrxvt? I cannot find it on
sourceforge!
A: By now (0.3.5) mrxvt CVS repository is still private. We will
upload it to sourceforge when we feel mrxvt is stable enough and
the features are almost ready. It may happen when we reach version
0.4.0.
-----
Q: I find a bug, or I would like to see a new feature in mrxvt, how
to report it?
A: You can go to http://sourceforge.net/projects/materm and report
the bug using tracker system. Alternatively, you can send e-mail to
my sourceforge address: jimmyzhou@users.sourceforge.net. Sourceforge
tracker system is preferred.
Also, please describe the details of the bug you find as much as
you can so that I can be sure to understand the bug and replicate
it by myself. For example, the version of mrxvt, system you are
running, operation steps to replicate the bug. Otherwise, I have
no way to fix the bug, especially those tricky ones.
--
EOF