*** empty log message ***
authorroot <root>
Sun, 16 Jan 2005 18:48:04 +0000 (18:48 +0000)
committerroot <root>
Sun, 16 Jan 2005 18:48:04 +0000 (18:48 +0000)
doc/rxvt.7.pod
src/keyboard.C

index 400eeb9..279adad 100644 (file)
@@ -68,13 +68,35 @@ OR you could this termcap entry:
            :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
            :vs=\E[?25h:
 
            :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
            :vs=\E[?25h:
 
-=item How can I configure rxvt-unicode so that it looks similar to the original rxvt?
+=item Why does C<ls> no longer have coloured output?
 
 
-Felix von Leitner says that these two lines, in your F<.Xdefaults>, will make rxvt-unicode
-behave similar to the original rxvt:
+The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to
+decide wether a terminal has colour, but uses it's own configuration
+file. Needless to say, C<rxvt-unicode> is not in it's default file (among
+with most other terminals supporting colour). Either add:
 
 
-   URxvt.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
-   URxvt.boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1
+   TERM rxvt-unicode
+
+to C</etc/DIR_COLORS> or simply add:
+
+   alias ls='ls --color=auto'
+
+to your C<.profile> or C<.bashrc>.
+
+=item Why doesn't vim/emacs etc. use the 88 colour mode?
+
+=item Why doesn't vim/emacs etc. make use of italic?
+
+=item Why are the secondary screen-related options not working properly?
+
+Make sure you are using C<TERM=rxvt-unicode>. Some pre-packaged
+distributions (most notably Debian GNU/Linux) break rxvt-unicode
+by setting C<TERM> to C<rxvt>, which doesn't have these extra
+features. Unfortunately, some of these (most notably, again, Debian
+GNU/Linux) furthermore fail to even install the C<rxvt-unicode> terminfo
+file, so you will need to install it on your own (See the question B<When
+I log-in to another system it tells me about missing terminfo data?> on
+how to do this).
 
 =item Rxvt-unicode does not seem to understand the selected encoding?
 
 
 =item Rxvt-unicode does not seem to understand the selected encoding?
 
@@ -172,9 +194,10 @@ box, and rxvt-unicode has no way of detecting this (the correct way is to
 ask for the character bounding box, which unfortunately is wrong in these
 cases).
 
 ask for the character bounding box, which unfortunately is wrong in these
 cases).
 
-It's not clear (to me at least), wether this is a bug in Xft, freetype, or
-the respective font. If you encounter this problem there is no way to work
-around this except by using a different font.
+It's not clear (to me at least), wether this is a bug in Xft, freetype,
+or the respective font. If you encounter this problem you might try using
+the C<-lsp> option to give the font more height. If that doesn't work, you
+might be forced to use a different font.
 
 All of this is not a problem when using X11 core fonts, as their bounding
 box data is correct.
 
 All of this is not a problem when using X11 core fonts, as their bounding
 box data is correct.
@@ -501,49 +524,30 @@ Perhaps someday this will all be resolved in a consistent manner.
 
 There are some compile-time selections available via configure. Unless
 you have run "configure" with the C<--disable-resources> option you can
 
 There are some compile-time selections available via configure. Unless
 you have run "configure" with the C<--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 `@@RXVT_NAME@@ -name tn3270'
-
-   !#  ----- special uses ------:
-   ! tn3270 login, remap function and arrow keys.
-   tn3270*font:      *clean-bold-*-*--15-*
-
-   ! keysym - used by rxvt 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
+use the `keysym' resource to alter the keystrings associated with keysyms.
+
+Here's an example for a URxvt session started using `@@RXVT_NAME@@ -name URxvt'
+
+        URxvt*keysym.Home:          \e[1~
+        URxvt*keysym.End:           \e[4~
+        URxvt*keysym.C-apostrophe:  \e<C-'>
+        URxvt*keysym.C-slash:       \e<C-/>
+        URxvt*keysym.C-semicolon:   \e<C-;>
+        URxvt*keysym.C-grave:       \e<C-`>
+        URxvt*keysym.C-comma:       \e<C-,>
+        URxvt*keysym.C-period:      \e<C-.>
+        URxvt*keysym.C-0x60:        \e<C-`>
+        URxvt*keysym.C-Tab:         \e<C-Tab>
+        URxvt*keysym.C-Return:      \e<C-Return>
+        URxvt*keysym.S-Return:      \e<S-Return>
+        URxvt*keysym.S-space:       \e<S-Space>
+        URxvt*keysym.M-Up:          \e<M-Up>
+        URxvt*keysym.M-Down:        \e<M-Down>
+        URxvt*keysym.M-Left:        \e<M-Left>
+        URxvt*keysym.M-Right:       \e<M-Right>
+        URxvt*keysym.M-C-0:         list.0123456789.\e<M-C-.>
+        URxvt*keysym.M-C-a:         list.abcdefghijklmnopqrstuvwxyz.\033<M-C-.>
+        URxvt*keysym.F12:           proto:\033]701;zh_CN.GBK\007
 
 =item 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
 
 =item 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
@@ -2251,6 +2255,20 @@ Add support for many small features that are not essential but nice to
 have. Normally you want this, but for very small binaries you may want to
 disable this.
 
 have. Normally you want this, but for very small binaries you may want to
 disable this.
 
+A non-exhaustive list of features enabled by C<--enable-frills> (possibly
+in combination with other switches) is:
+
+  MWM-hints
+  seperate underline colour
+  settable border widths and borderless switch
+  settable extra linespacing
+  extra window properties (e.g. UTF-8 window names and PID)
+  iso-14755-2 and -3, and visual feedback
+  backindex and forwardindex escape sequence
+  window op and locale change escape sequences
+  tripleclickwords
+  settable insecure mode
+
 =item --enable-iso14755
 
 Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
 =item --enable-iso14755
 
 Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
@@ -2258,10 +2276,6 @@ F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by
 C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with
 this switch.
 
 C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with
 this switch.
 
-=item --enable-linespace
-
-Add support to provide user specified line spacing between text rows.
-
 =item --enable-keepscrolling
 
 Add support for continual scrolling of the display when you hold
 =item --enable-keepscrolling
 
 Add support for continual scrolling of the display when you hold
@@ -2312,13 +2326,14 @@ Add support to have the pointer disappear when typing or inactive.
 
 =item --with-name=NAME
 
 
 =item --with-name=NAME
 
-Set the basename for the installed binaries (default: urxvt, resulting in
-urxvt, urxvtd etc.). Specify --with-name=rxvt to replace rxvt.
+Set the basename for the installed binaries (default: C<urxvt>, resulting
+in C<urxvt>, C<urxvtd> etc.). Specify C<--with-name=rxvt> to replace with
+C<rxvt>.
 
 =item --with-term=NAME
 
 Change the environmental variable for the terminal to NAME (default
 
 =item --with-term=NAME
 
 Change the environmental variable for the terminal to NAME (default
-"rxvt")
+C<rxvt-unicode>)
 
 =item --with-terminfo=PATH
 
 
 =item --with-terminfo=PATH
 
index 4fdf020..bda85f1 100644 (file)
@@ -230,29 +230,6 @@ keyboard_manager::register_done ()
 
   purge_duplicate_keymap ();
 
 
   purge_duplicate_keymap ();
 
-#if TO_BE_DONE_INSIDE_dispatch
-  for (i = 0; i < keymap.size (); ++i)
-    {
-      keysym_t *key = keymap[i];
-
-      assert (bitcount (term_->ModMetaMask) == 1 && "call me after ModMetaMask was set!");
-
-      if (key->state & MetaMask)
-        {
-          //key->state &= ~MetaMask;
-          key->state |= term_->ModMetaMask;
-        }
-
-      assert (bitcount (term_->ModNumLockMask) == 1 && "call me after ModNumLockMask was set!");
-
-      if (key->state & NumLockMask)
-        {
-          //key->state &= ~NumLockMask;
-          key->state |= term_->ModNumLockMask;
-        }
-    }
-#endif
-
   setup_hash ();
 }
 
   setup_hash ();
 }
 
@@ -261,6 +238,15 @@ keyboard_manager::dispatch (rxvt_term *term, KeySym keysym, unsigned int state)
 {
   assert (hash[0] == 0 && "register_done() need to be called");
 
 {
   assert (hash[0] == 0 && "register_done() need to be called");
 
+  if (state & term->ModMetaMask)
+    state |= MetaMask;
+
+  if (state & term->ModNumLockMask)
+    state |= NumLockMask;
+
+  if (!!(term->priv_modes & PrivMode_aplKP) != !!(state & ShiftMask))
+    state |= AppKeypadMask;
+
   int index = find_keysym (keysym, state);
 
   if (index >= 0)
   int index = find_keysym (keysym, state);
 
   if (index >= 0)