Cathey, Jim wrote:
* if neither $LINES/$COLUMNS are set nor ioctl(TIOCGWINSZ)
returns useful data, print
ESC"7" ESC"[r" ESC"[9999;9999H" ESC"[6n" ESC"8"
in order to retrieve terminal's size, and whenever read_key
does detect that, use this info for proper linewrapping
in line editing.
TERM should be consulted somehow, so that it concludes an
ANSI escape sequence is the correct thing to do. Don't know
what, if anything, BB's got in that line.
Sure, the "wall" program...will screw
up your display. So what?
So you need a way to recover the view of the line you're
currently editing _anyway_. Given this, it can _also_ be used
to recover from the weird "echo -n" scenario under discussion,
or anything else odd. No blotted output, no vast sweeping changes
of code, no dependence on bug-free full VT emulation, etc. No
vulnerability to interleaved user input and automated response
sequences. Just a simple user reaction to an exceptional
condition, no muss, no fuss. Something look odd? Just call
for a repaint and see where you are.
Which says vt100 actually _does_ support the esc[6n "Get cursor
position"
sequence.
Real VT's do, but this is one of the areas where various terminal
emulation software can fall down easily. BTDT. Make it too tricky
and you're opening the door for unhappy users. Unless you're
into forced upgrading of associated SW just for the fun of it.
(Ala MSoft. Is Linux the new DOS?)
I'm talking about _less_ work for an entirely acceptable solution,
that's all. One that was generally accepted for decades, with
untold thousands of satisfied users. One with more likelihood
of working in more situations and with more varied terminal
clients, even over very slow satellite links. What's not to like?
-- Jim
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox
I've been casually following the discussion and thought I'd chime in
with my two cents. I haven't read every single email, so forgive me if
I'm asking things already addressed.
I don't think adding a whole lot of iffy terminal stuff is the best
approach. If you're in the middle of typing a command and can't get back
to the first line in bash, just hit ctrl-u, ctrl-y. I assume it wouldn't
be too difficult to add ctrl-y (paste) to bb shells?
Besides that, what's wrong with just pressing enter once if your prompt
didn't start at the first column?
And thirdly, what about prefixing your prompt with a \n?
~Matthew
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox