Re: New scriptreplay is out-of-sync (longish)

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

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Micah Cowan wrote:
> Andrew McGill wrote:
>> On Monday 28 July 2008 21:28:07 Micah Cowan wrote:
>> ...
>>>> A neat place for timing information is to define a "delay in input"
>>>> escape - e.g. a delay of 1.123456 seconds is represented by ESC [ 42 ; 1
>>>> ; 123456 ] (with a meta-meaning of "life is full of short delays")
>>> Esc [ ... ] is SDS, and is supposed to be the _start_ of a longer
>>> control string (with support for nesting). Probably a poor choice of
>>> escape.
>> There is already a conflict between the Linux console escapes and ECMA 48's 
>> SDS.  (And do we really like ECMA?)
> 
>> QOTD >>
>> Sequence: CSI Ps ; Pn ... ]
>> Description: Linux private sequences
> 
>>        ESC [ 1 ; n ]       Set color n as the underline color
>>        ESC [ 2 ; n ]       Set color n as the dim color
>>        ESC [ 8 ]           Make the current color pair the default attributes.
>>        ESC [ 9 ; n ]       Set screen blank timeout to n minutes.
>>        ESC [ 10 ; n ]      Set bell frequency in Hz.
>>        ESC [ 11 ; n ]      Set bell duration in msec.
>>        ESC [ 12 ; n ]      Bring specified console to the front.
>>        ESC [ 13 ]          Unblank the screen.
>>        ESC [ 14 ; n ]      Set the VESA powerdown interval in minutes.
> 
>> Source: Linux console_codes(4)
>> Status: Linux private; clashes with ECMA-48 SDS
>> <<QOTD
> 
> That's well and good, but what about other terminals that may actually
> understand SDS, and stop rendering characters until it sees the
> terminating SDS? Just because one terminal does it doesn't mean we
> should follow suit.

Since "we" are on vger.kernel.org, perhaps this was a little bit of a
funky thing to say. However, script is intended to work with a large
variety of terminals, so it still seems to me that we'd want a different
approach than the one taken for the linux terminal: we want a sequence
that's maximally portable with other terms; I doubt this one is.

OTOH, maybe we won't find a really portable sequence. In that case,
there's perhaps nothing wrong with saying "you must feed this back to
scriptreplay; don't cat it out directly."

As I mentioned before, though, my priority is in fixing the existing
mechanism - or at least making its interpretation consistent between
script and scriptreplay. If I want editable timing, I already have my
Teseq program ;)

One advantage the current two-files solution has is smaller processing
overhead (probably not significantly, though). A script that has to
process special escape sequences has to examine the typescript data
being read, and maintain state. The current solution is a dead-simple
"process delay; read N bytes; write N bytes". There's never a question
of when it will find the next delay, it's ready at the next timing-file
read.

(However, I don't consider that slight shortcoming to compensate for the
disadvantages of the current system.)

> That's what intermediate bytes are for. Since there's an infinite
> combination of intermediate-bytes + private final bytes, that really is
> all one should need. \[[Pm~ taken? Try \[[Pm!~ or \[[Pm$~ or \[[Pm$!+,/~...

Except, of course, apparently some terminals don't respect these (vte,
for one). :\

Still, perhaps we could use control strings appropriately, rather than
embedding it in a start-of-control-string delimiter.

- --
Micah J. Cowan
Programmer, musician, typesetting enthusiast, gamer,
and GNU Wget Project Maintainer.
http://micah.cowan.name/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIjjnJ7M8hyUobTrERAl2KAJ4rJUdHmdxllDEV+AkJ47wrwqRX+wCeIHNU
LuigouNTY3olRwRV7g/Oyvo=
=YRmD
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux