lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LYNX-DEV Problems with link highlighting on bizarre terminals


From: Klaus Weide
Subject: Re: LYNX-DEV Problems with link highlighting on bizarre terminals
Date: Sat, 13 Sep 1997 13:26:41 -0500 (CDT)

Please reply to or cc address@hidden


On Thu, 11 Sep 1997, Zack Weinberg wrote to me:

> On Wed, 10 Sep 1997 16:30:20 -0500 (CDT), Klaus Weide wrote:
> >On Wed, 10 Sep 1997 address@hidden wrote:
> >
> >> On my somewhat unusual terminal (an "ibm6153" -- I can provide
> >> a terminfo entry if it will help) Lynx does not unhighlight
> >> the previously selected link when I move from one link to
> >> another with the arrow keys.  Also, PgUp/PgDn/Home/End are
> >> not recognized.  It gets the display of pop-up menus right,
> >> so I am inclined to suspect problems with Lynx rather than
> >> problems with curses or the terminfo entry (also, trn has
> >> no problem highlighting correctly).
> >> 
> >> Version is 2.7.1; OS is Solaris 2.5.1, using stock curses
> >> and the terminfo entry provided by IBM for this terminal.
> >
> >The output of `infocmp -l' might be useful.  But first, could 
> >you check whether those problems still occur with the 
> ><URL:http://sol.slcc.edu/lynx/current/> development code? 
> >(note that installation has changed, run ./configure)
> >
> >Also you should check whether what the terminal emits for
> >PgUp/PgDn/Home/End really matches what is in terminfo for
> >key_ppage/key_npage/key_home/key_end.
> 
> Both bugs are still present with 2.7.1ac-0.63.  The terminfo description
> matches what the terminal emits; also, EMACS gets PgUp/PgDn/Home/End right. 
>
> I configured with
> $ CFLAGS="-g -O2 -mv8" ./configure --enable-debug \
>       --with-cfg-file=/usr/local/etc/lynx.cfg
> 
> C compiler is gcc 2.7.2.

Please try 2.7.1ac-0.66.  The keypad() processing should now work.
Also make sure that there is a line

#define HAVE_KEYPAD 1

in the lynx_cfg.h created by configure.  If not, something may have gone
wrong with configure's tests, in that case config.log should give some
indication why configure thinks your curses doesn't support keypad().

2.7.1ac-0.66 may also do soemthing for your display problem; otherwise,
see below.

> I append the output of `infocmp -L $TERM'.
> 
> zw
> 
> P.S. On this terminal, bold is +/- indistinguishable from normal text.  It
> would be nice if there were a switch to render links some other way, perhaps
> underlined?

Lynx can still be compiled in a minimal, no-fancy-curses mode which uses
only one kind of highlighting.  The configure script doesn't set this if
it figures that the curses library can do better, but if you want to try
it:  after configure has run, edit lynx_cfg.h and remove or comment out
the lines with `#define FANCY_CURSES' and `define COLOR_CURSES'.

You could also (instead) try to compile with -DUNDERLINE_LINKS, which
should basically switch bold and underline.

Even without any highlighting attributes, -show_cursor (see Options
screen, see lynx.cfg) and Numbered Links (set KEYPAD_MODE, not to be
confused with HAVE_KEYPAD) can be used to make the current link and other
links apparent.

As for your suggestion for another switch: you already have more
configurability of attributes outside of Lynx than what could reasonably
be built into Lynx (forhandling cases where only one attribute cannot be
rendered, for example).

  $ infocmp > temp.file

Edit temp.file to customize (and maybe correct) the terminfo, for example
mapping bold to whatever you like.

  $ tic temp.file

See `man tic' to know where tic wants to install its output file.  Then
set TERMINFO and TERM to point to your new file.

> #     Reconstructed via infocmp from file: /usr/share/lib/terminfo/i/ibm6155
> Terminal type ibm6155
>   ibm6155|IBM 6155 Black & White display
> flags
>   auto_left_margin, auto_right_margin, move_standout_mode,
>   xon_xoff,
> 
> numbers
>   columns = 80, init_tabs = 8, lines = 25,
> 
> strings
>   bell = '^G', carriage_return = '\r', clear_screen = '\E[H\E[J',
>   clr_eol = '\E[K', clr_eos = '\E[J',
>   column_address = '\E[%i%p1%dG',
>   cursor_address = '\E[%i%p1%d;%p2%dH', cursor_down = '\n',
>   cursor_home = '\E[H', cursor_left = '\b', cursor_right = '\E[C',
>   cursor_up = '\E[A', delete_character = '\E[P',
>   delete_line = '\E[M', enter_insert_mode = '\E[4h',
>   enter_reverse_mode = '\E[7m', enter_secure_mode = '\E[8m',
>   enter_standout_mode = '\E[7m', enter_underline_mode = '\E[4m',
>   erase_chars = '\E[%p1%dX', exit_attribute_mode = '\E[0m',
>   exit_insert_mode = '\E[4l', exit_standout_mode = '\E[m',
>   exit_underline_mode = '\E[m', insert_line = '\E[L',
>   key_backspace = '\b', key_dc = '\E[P', key_down = '\E[B',
>   key_eic = '\E[4l', key_end = '\E[146q', key_f1 = '\E[001q',
>   key_f10 = '\E[010q', key_f11 = '\E[011q', key_f12 = '\E[012q',
>   key_f13 = '\E[013q', key_f14 = '\E[014q', key_f15 = '\E[015q',
>   key_f16 = '\E[016q', key_f17 = '\E[017q', key_f18 = '\E[018q',
>   key_f19 = '\E[019q', key_f2 = '\E[002q', key_f20 = '\E[020q',
>   key_f21 = '\E[021q', key_f22 = '\E[022q', key_f23 = '\E[023q',
>   key_f24 = '\E[024q', key_f25 = '\E[025q', key_f26 = '\E[026q',
>   key_f27 = '\E[027q', key_f28 = '\E[028q', key_f29 = '\E[029q',
>   key_f3 = '\E[003q', key_f30 = '\E[030q', key_f31 = '\E[031q',
>   key_f32 = '\E[032q', key_f33 = '\E[033q', key_f34 = '\E[034q',
>   key_f35 = '\E[035q', key_f36 = '\E[036q', key_f4 = '\E[004q',
>   key_f5 = '\E[005q', key_f6 = '\E[006q', key_f7 = '\E[007q',
>   key_f8 = '\E[008q', key_f9 = '\E[009q', key_home = '\E[H',
>   key_ic = '\E[139q', key_left = '\E[D', key_npage = '\E[154q',
>   key_ppage = '\E[150q', key_right = '\E[C', key_sf = '\E[151q',
>   key_sr = '\E[155q', key_up = '\E[A',
>   parm_down_cursor = '\E[%p1%dB', parm_index = '\E[%p1%dS',
>   parm_left_cursor = '\E[%p1%dD', parm_right_cursor = '\E[%p1%dC',
>   parm_rindex = '\E[%p1%dT', parm_up_cursor = '\E[%p1%dA',
>   scroll_forward = '\E[S', scroll_reverse = '\E[T',
>   set_attributes = 
> '\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m',
>   tab = '\t',
> end of strings

Some of that looks a bit fishy to me.  At least in sgr (set_attributes),
since the terminal doesn't support bold, there shouldn't be the part
"%?%p6%t1;%;" near the end.  Try removing that.

I don't think trn makes as much use of the info as lynx, at least it
probably never tries to combine attributes; so if trn looks right that
alone doesn't prove that the terminfo is correct.  Other things to try:

 - insert "0;" (or just a ";") after the initial "[" in sgr
 - change "7;" to ";7", ditto for "4;" and "5;"
 - get rid of sgr completely
 - get rid of msgr (move_standout_mode)

I hope some of this helps.


   Klaus

;
; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.
;

reply via email to

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