Ticket #3164 (new bug)
Bug in terminal when using curses app over ssh
| Reported by: | noisetonepause | Owned by: | jackburton |
|---|---|---|---|
| Priority: | normal | Milestone: | R1 |
| Component: | Applications/Terminal | Version: | R1 development |
| Cc: | Blocked By: | ||
| Platform: | All | Blocking: |
Description
I'm filing this as a bug in Terminal, though I think this is related to termios.h.
If you look at the screenshots, you'll see the curses app silc-client running over an SSH connection from my friend's FreeBSD machine. Silc-client is based on irssi, so shouuld be familiar. It's basically a irc-like chat application. The line below the blue line is an input field. I type some input and press enter. As can be seen from the second screenshot, all the text is then moved up a line, including my text from the input box (which you'd expect to be erased). The line is written to the where'd you expect it to go on the first screenshot (ie., first empty line).
Incoming text from the server and other chatters works fine. Cycling through the 'windows' in the client redraws the text as you'd expect. The only problem is when inputting text.
The screenshots are from BeOS but the exact same thing happens in Haiku. An xterm running under BeOS/X11 does not have this issue, though.
I've compared the termios.h headers from Haiku, BeOS and Free+OpenBSD, and BeOS defines VKILL and VEOL opposite. What I think is happening is that silc-client, which is linked against BSD's libcurses, is sending what's defined as VKILL on BSD to the Haiku terminal app, which is interpreting it as VEOL. That seems consistent with the issue, at least.
