Hi,

> your line driver.  I mean, st ignores xon/xoff characters, so the line
> driver (configured via stty with the flags ixon, ixoff, ixany) is
> making the job of stopping the comunication.  If we add this patch to
> st we must add some information about it in the FAQ (similar to the
> information about stty erase).

I have tested it, and it is funny, because curses is not generating
any xon/xoff character, but it works. I suppsed then that curses
was detecting that it was a terminal emulator. And it was true,
take a look to the strace output:

ioctl(1, TIOCGWINSZ, {ws_row=24, ws_col=80, ws_xpixel=640, ws_ypixel=336}) = 0
fstat64(1, {st_mode=S_IFCHR|0720, st_rdev=makedev(136, 5), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb76f5000
write(1, "\33[?5h", 5)                  = 5
nanosleep({0, 80000000}, 0xbfabf058)    = 0
write(1, "\33[?5l", 5)                  = 5

so it guess if it is a terminal emulator (it uses the TIOCGWINSZ that
is a non sense in a real terminal) and then it uses a nanosleep call.
Ok, it is correct, but I don't know if all the curses implementations
have this behaviour.  Of course, all the stty stuff that I said is not
important at all for this curses implementation. Can someone test
this patch in OpenBSD (with terminfo redefinition)?


Regards,


Reply via email to