On Thu, Sep 6, 2018 at 5:56 PM Andy Kosela <akosela@andykosela.com> wrote:
[snip]  Well, you can't tell me
this system was designed with the idea of running it using text terminal
and no mouse.

I won't, because it wouldn't be true. You are correct that it was always intended to be used with a graphical console. But you keep talking about "text terminals" and therein lies the confusion: our text terminals haven't been purely "text" since the teletype days. Even green-screen serial terminals have graphics adapters to draw characters on the screen.

There is also no cursor addressing, no curses.

Actually, there *is* a graphical program to emulate a vt-series terminal, but pretty much no one uses it. So while strictly speaking this is incorrect, it is essentially correct for all intents and purposes.

But it begs the question: why would you *want* to use that sort of interface? That was appropriate for an HP or DEC terminal connected via a low-bandwidth link (e.g., serial) or a shared host computer. Once we moved onto personal workstation-class machines with graphics adapters, why continue with that paradigm? Your framebuffer doesn't care that, '\033[H\033[J' means "move the cursor to the upper-left corner and clear the current line to the end of the screen", so why should your terminal emulator? For that matter, if logged into the text-only console on a Linux or FreeBSD machine, why does running `stty` say your graphics adapter has a BAUD rate? The plan9 authors decided to leave such historical debris behind.
 
Like I
written before it was born in the different era -- they tried to not
build it on the idea of character based TTY, but rather incorporate
graphical element into it.

Correct. I wasn't there, but the observation surely must have been in part that the user was *already* using a graphical environment, just not to very good effect.

If it is possible to be fully productive in Plan 9 using just VGA text
mode (720x400) and not any of the bitmap modes, with Unix like cursor
addressing and with no rio(1) and no mouse then it's something I never
really explored.

You could skip `rio` and just run `vt` on the console. I doubt the emulation is very good and it wouldn't be an acceptable substitute for serious use. `vt` was really intended as a stop-gap for accessing older systems; the plan9 model was different, and instead of accessing remote resources, the idea was that those resources would be shared with the (plan9) network and imported locally for manipulation. That is, I wouldn't `ssh` into some machine to make use of something on it; instead I'd use `import` to bring those resources into my namespace locally and I'd manipulate them there.

I did a writeup of this a while back: http://pub.gajendra.net/2016/05/plan9part1

I should probably do parts 2 and 3....

        - Dan C.