title refreshing (xtt) and the 4.6.0 release

Tribhuvan loka at rcn.com
Fri Jan 24 03:11:46 UTC 2003


Re: title refreshing (xtt) and the 4.6.0 release:

The patch using the Xlibs is 'clean' and efficient for refreshing
the title on a _local_host_.

Tested various combinations of Solaris 8, 9, Linux kernel 2.4.17
xfree86 4.1.0, 4.2.0, 4.2.1 with 6 or 7 different terminals, but
have yet to reconfigure one or two solaris machines to test with
the XSun xserver. All favorable results on a local machine.

Basically, I agree that using the xterm control sequences is the
way to go in the long run, and in a day or two I should be prepared
submit a pretty stable contribution towards that goal. (without
the threads: that model did establish an effective timeout, but
by modifying other elements of the request/read old xtt routine,
the timeout became superfluous). The patch includes xterm
ctlseq's  for more platforms/terminals, separates some
routines into separate function for easier maintenance,
and avoids hanging indefinetly on terminals that use
ctlseq's that are not anticipated.

A couple of issues with using the ctlseq method:

 - It can't really be done in less than 100 lines of code.
    (at one point I had 250 lines)
    As a non-critical function, to avoid bloating main.c,
    should it be moved out to something like xtt_restore.c ?

- For use on a local host, a delay in the request/read xtt
   of a few millisec using usleep() resolves any mis-reads
   of  the output from "\033[21t" . But on a remote host,
   the delay can't be less than one second. Because most
   users are on a local host (correct me if I'm wrong),
   the default delay should be set for local. Then, for remote
   host sessions, the delay for the timeout could be adjusted
   on-the-fly (by editing $HOME/.mc/ini or even better,
   by a command line option like "mc -r").

The xtt refresh using the xterm ctlseq may be robust
enough to build in 'enabled' by default in the long run
 (to be verified by preliminary testing), but
to do this, I think the two points above, in addition to
your evaluations should be considered.

Regarding 4.6.0 release:

Since it looks like it will take a bit more time to get it
to this point.  So, for  the 4.6 release (which looks like
will be pretty soon)  can I suggest a two-line, unobtrusive
hack to refresh the title to something less "high and dry"
than an old working directory:

   On exit from mc, just print something generic like:
   "xterm: [shell]" or "username at hosname"
    to overwrite the hanging xterm_title.

Then (unless the xtt refresh routine is resolved earlier :-)
it could be released in something like 4.6.1.

By this time, an industrial strength routine could be developed
and for the present, users can enjoy the update_title_path
routine without noticing much of anyting with a default xtt
on quit.

pls. excuse  long message...

Tribhuvan





More information about the mc-devel mailing list