vile
[Top][All Lists]
Advanced

[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?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]