[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vile] system-mapped-chars
From: |
Wayne Cuddy |
Subject: |
Re: [vile] system-mapped-chars |
Date: |
Sat, 27 Dec 2014 16:31:24 -0500 |
User-agent: |
Mutt/1.4.2.3i |
On Sat, Dec 27, 2014 at 03:25:53PM -0500, Thomas Dickey wrote:
> On Sat, Dec 27, 2014 at 02:43:13PM -0500, Wayne Cuddy wrote:
> > On Fri, Dec 26, 2014 at 08:08:58PM -0500, Thomas Dickey wrote:
> > > On Fri, Dec 26, 2014 at 02:54:35PM -0500, Wayne Cuddy wrote:
> > > > On Tue, Dec 23, 2014 at 08:16:11PM -0500, Thomas Dickey wrote:
> > > > > On Tue, Dec 23, 2014 at 01:02:23PM -0500, Wayne Cuddy wrote:
> > > > > > Can system-defined maps be adjusted after compile time? It doesn't
> > > > > > seem so.
> > > > >
> > > > > no - it's built-in...
> > > > >
> > > > > Very briefly, it uses the terminfo/termcap/whatever database for
> > > > > home/end, and adds in - if asked - the xterm function-keys.
> > > > >
> > > > > The latter isn't much used (but I should rework it, since I've
> > > > > incorporated much of that into ncurses as extended capabilities). My
> > > > > main use for it is to ensure that special keys come in as a special
> > > > > key
> > > > > rather than individual bytes.
> > > > >
> > > > > but I digress...
> > > > >
> > > > > > I've found that HOME/END keypad keys don't always map to #H/#E
> > > > > > respectively.
> > > > >
> > > > > That really sounds more like a mismatch between terminal emulator
> > > > > and terminal database. (If it's some program setting TERM to "xterm"
> > > > > but not really xterm, I've been there a lot).
> > > > >
> > > > > Given some more details, I may be able to offer advice.
> > > > >
> > > > > > I've been able to get around this with additional maps for
> > > > > > terminal-specific sequences in the vilerc file but it would be nice
> > > > > > if
> > > > > > there was an easy way to add to the system maps.
> > > > > >
> > > > > > Wayne
> > > > > >
> > > >
> > > > Sorry, took me a bit of research, this was actually an issue for a
> > > > co-worker. I don't use the HOME/END or really any of the keypad keys, to
> > > > me that's what makes vi-style editors so efficient.
> > > >
> > > > Aside from Linux we also use HP-UX at the shop. We run HP's OEM xterm as
> > > > well as rxvt-unicode that we built ourselves. We don't really have a
> > > > preference except that rxvt tends to be lighter with respect to network
> > > > I/O between itself and the X-server. This normally isn't noticed but we
> > > > use a VNC-style terminal server environment and high output/scrolling
> > > > can have a noticeable effect on the VNC/X host. But this is maybe an
> > > > xterm discussion for another day.
> > >
> > > yes... rxvt doesn't send all of the screen updates. I added a feature
> > > which can make xterm do part of that, a few years ago, to get discussion.
> >
> > I tested the '-j' option if that is what you are referring to but it
> > didn't have as much of an effect as I expect.
>
> no... it's far more recent than the executable you're testing.
> I was referring to this resource setting:
>
> fastScroll (class FastScroll)
> Modifies the effect of jump scroll (jumpScroll) by suppressing
> screen refreshes for the special case when output to the screen
> has completely shifted the contents off-screen. For instance,
> cat'ing a large file to the screen does this.
>
> which I added in
> Patch #244 - 2009/8/9
ok
>
> > > > Vile is linked with HP's OEM curses (xcurses) library. Surprisingly the
> > > > HOME/END keys work as expected in rxvt. In Xterm, either running locally
> > > > on Linux while ssh'd into an HP host or running HP's xterm via X when
> > > > the HOME/END keys are used they produce ^[OH and ^[OE respectively.
> > >
> > > Short: the problem can be fixed by correcting the terminal description on
> > > the HP-UX machine. I still have access to at least one HP-UX server, and
> > > can see this description running "infocmp xterm":
> > >
> > > # Reconstructed via infocmp from file:
> > > /usr/share/lib/terminfo/x/xterm
> > > xterm|vs100|xterm terminal emulator,
> > > am, km, xenl,
> > > cols#80, lines#65,
> > > bel=^G, blink=@, bold=\E[1m, civis=\E[?25I,
> > > clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
> > > csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b,
> > > cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
> > > cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
> > > cvvis=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
> > > dl1=\E[M, ed=\E[J, el=\E[K, home=\E[1;1H, ht=\t,
> > > hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
> > > il1=\E[L, ind=\n, kbs=\177, kcub1=\EOD, kcud1=\EOB,
> > > kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf10=\E[21~,
> > > kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR,
> > > kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
> > > kf8=\E[19~, kf9=\E[20~, knp=\E[6~, kpp=\E[5~, rc=\E8,
> > > rev=\E[7m, ri=\EM, rmkx=\E[?1l, rmso=\E[m,
> > > rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, rs2=@,
> > > sc=\E7,
> > > sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,
> > > sgr0=\E[m, smkx=\E[?1h, smso=\E[7m, tbc=\E[3g,
> > >
> > > I'd fix that by
> > > infocmp xterm >foo
> > > --edit foo, adding (a line with a tab at the front):
> > > khome=\EOH, kend=\EOE,
> > > sudo tic foo
> >
> > Our HP-UX release is quite old.. 11.23 and 'xterm -v' produces XFree86
> > 4.3.99.15(180). Ha, I see your site and name referenced in the manual
> > page. I updated the terminfo database using your suggestion above and it
> > partially fixed the problem. The home key now produces #H but the END
> > key still produces ^[OF. I removed the khome entry and just added the
> > kend paramter just for S&Gs with no joy. I wonder why it's not picking
> > up the kend parameter, I checked and it's not defined earlier in the
> > description anywhere.
>
> I don't see it in the terminfo. The likely place to look is in a translations
> resource. If you run
>
> appres XTerm
> appres xterm
>
> that shows the resource settings from your environment.
>
> (It's possible to have more complicated resources which interfere, but
> it's unusual for someone to do that).
>
Nothing is jumping out at me here...
*mainMenu*interrupt*Label: Send INT Signal
*mainMenu*logging*Label: Log to File
*mainMenu*quit*Label: Quit
*mainMenu*hangup*Label: Send HUP Signal
*mainMenu*redraw*Label: Redraw Window
*mainMenu*terminate*Label: Send TERM Signal
*mainMenu*securekbd*Label: Secure Keyboard
*mainMenu*suspend*Label: Send STOP Signal
*mainMenu*continue*Label: Send CONT Signal
*mainMenu*allowsends*Label: Allow SendEvents
*mainMenu*kill*Label: Send KILL Signal
*mainMenu.Label: Main Options
*tek4014*fontLarge: 9x15
*tek4014*font2: 8x13
*tek4014*font3: 6x13
*tek4014*fontSmall: 6x10
*SimpleMenu*menuLabel.font:
-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-*
*SimpleMenu*menuLabel.vertSpace: 100
*SimpleMenu*Sme.height: 16
*SimpleMenu*BackingStore: NotUseful
*SimpleMenu*HorizontalMargins: 16
*SimpleMenu*Cursor: left_ptr
*fontMenu*fontescape*Label: Escape Sequence
*fontMenu*fontdefault*Label: Default
*fontMenu*font3*Label: Small
*fontMenu*fontsel*Label: Selection
*fontMenu*font1*Label: Unreadable
*fontMenu*font4*Label: Medium
*fontMenu*font5*Label: Large
*fontMenu*font6*Label: Huge
*fontMenu*font2*Label: Tiny
*fontMenu.Label: VT Fonts
*vtMenu*allow132*Label: Allow 80/132 Column Switching
*vtMenu*reversevideo*Label: Enable Reverse Video
*vtMenu*tekshow*Label: Show Tek Window
*vtMenu*cursesemul*Label: Enable Curses Emulation
*vtMenu*autowrap*Label: Enable Auto Wraparound
*vtMenu*tekmode*Label: Switch to Tek Mode
*vtMenu*visualbell*Label: Enable Visual Bell
*vtMenu*reversewrap*Label: Enable Reverse Wraparound
*vtMenu*vthide*Label: Hide VT Window
*vtMenu*marginbell*Label: Enable Margin Bell
*vtMenu*autolinefeed*Label: Enable Auto Linefeed
*vtMenu*altscreen*Label: Show Alternate Screen
*vtMenu*appcursor*Label: Enable Application Cursor Keys
*vtMenu*softreset*Label: Do Soft Reset
*vtMenu*appkeypad*Label: Enable Application Keypad
*vtMenu*hardreset*Label: Do Full Reset
*vtMenu*scrollbar*Label: Enable Scrollbar
*vtMenu*scrollkey*Label: Scroll to Bottom on Key Press
*vtMenu*scrollttyoutput*Label: Scroll to Bottom on Tty Output
*vtMenu*jumpscroll*Label: Enable Jump Scroll
*vtMenu*clearsavedlines*Label: Reset and Clear Saved Lines
*vtMenu.Label: VT Options
*tekMenu*tekreset*Label: RESET
*tekMenu*tektext2*Label: #2 Size Characters
*tekMenu*tekhide*Label: Hide Tek Window
*tekMenu*tekcopy*Label: COPY
*tekMenu*tektext3*Label: #3 Size Characters
*tekMenu*vtshow*Label: Show VT Window
*tekMenu*tektextsmall*Label: Small Characters
*tekMenu*vtmode*Label: Switch to VT Mode
*tekMenu*tektextlarge*Label: Large Characters
*tekMenu*tekpage*Label: PAGE
*tekMenu.Label: Tek Options
*VT100*font5: 9x15
*VT100*font3: 6x10
*VT100*font4: 7x13
*VT100*font2: 5x7
*VT100*font1: nil2
*VT100*font6: 10x20
XTerm*rightScrollBar: true
XTerm*font: 7x14bold
XTerm*scrollBar: true
XTerm.JoinSession: False
XTerm*saveLines: 4096
XTerm*foreground: black
XTerm*background: white
*customization: -color
I could try to grab the latest source and build/install/test that on
HPUX if you think that would make a difference?