Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#21235 - [rxvt-unicode-256color] 9.07-9 default backspace key conflict with terminfo ($TERM) as rxvt-256color
Attached to Project:
Community Packages
Opened by Linus Arver (firepotion) - Wednesday, 13 October 2010, 18:00 GMT
Last edited by Sergej Pupykin (sergej) - Monday, 18 October 2010, 08:49 GMT
Opened by Linus Arver (firepotion) - Wednesday, 13 October 2010, 18:00 GMT
Last edited by Sergej Pupykin (sergej) - Monday, 18 October 2010, 08:49 GMT
|
DetailsDescription:
See https://bbs.archlinux.org/viewtopic.php?id=106469 rxvt-unicode-256color uses the '^?' key (ASCII DEL) as its default backspace key. See urxvt(1) (backspace key is '^?' if that resource is not set in ~/.Xdefaults) and also urxvt(7) (stating that urxvt follows the debian policy of using '^?' when unsure). The terminfo entry for rxvt-unicode also reflects this: "infocmp rxvt-unicode" gives kbs=\177 (ASCII DEL). However, rxvt-unicode-256color uses the terminfo entry for rxvt-256color (it is compiled with the "--with-term=rxvt-256color" option), which uses '^H' as its backspace key. The result is that ncurses programs that depend on a proper terminfo (and other programs that rely solely on the terminfo file) fail to detect the correct backspace key, unless the user changes the backspace key to '^H' by adding the entry "URxvt.backspacekey: ^H" in his ~/.Xdefaults. I have created a simple patch "terminfo-256color.patch" that changes just 2 lines in the official urxvt terminfo file (idea from http://scie.nti.st/2008/10/13/get-rxvt-unicode-with-256-color-support-on-ubunut). I also just went ahead and created a new, working PKGBUILD to test it out. The tarball is attached. By using the patched rxvt-unicode terminfo file, we not only solve the backspace key conflict problem, but also correctly tell all other ncurses/terminfo applications that we are using rxvt-unicode, and not rxvt. A simple visual check between "infocmp rxvt-256color" and "infocmp rxvt-unicode" reveals big featurewise differences that raise other conflict issues as well. Additional info: rxvt-unicode-256color 9.07-9 Steps to reproduce: Do fresh install of rxvt-unicode-256color. Compile and run the following code with "gcc -o testkey -lncurses testkey.c": #include <ncurses.h> int main() { int ch; initscr(); raw(); noecho(); clear(); printw("Press the backspace key now."); ch = getch(); if (ch == KEY_BACKSPACE) printw("You pressed the backspace key."); else printw("Unrecognized key."); endwin(); return 0; } The if-statement will fail, because of aforementioned backspace key definition conflict from incorrect terminfo. |
This task depends upon
rxvt-unicode-256color.tar.xz
"Are you sure you need 256 colors? 88 colors should be enough for most purposes. If you really need more, there is an unsupported patch for it in the doc directory, but please do not ask for it to be applied."
The fact that urxvt only comes with 1 terminfo entry (just "rxvt-unicode") seems to imply that they do not care about 256 colors support at all.
EDIT: I should add that the line "--with-term=rxvt-256color" that is in the PKGBUILD is itself a hack to get the 256 colors working. So my patch just changes the existing hack.