An *(acronym) for both <strong>Text</strong> and <strong>Textual</strong> *(User Interface).

In the first meaning is used to denote a _(user interface) that simply mimes a _(GUI). An example is:

<ul class="links">
  <li>_("Turbo Vision port to the GNU compiler" | http://tvision.sourceforge.net/).</li>
</ul>

In the second meaning, <strong>Textual</strong> _(UI), its peculiarity is the ability to embed, into an ordinary <em>text</em> precisely, commands which can be executed at user wish, usually positioning the cursor onto a word, which correspond to a command, and tapping a special key on the keyboard or clicking on it with a mouse (like an hypertextual link).

The _(output) of this command could be shown in another frame/window or near the word/command itself. In the latter case you can think to a TUI as a free-form spreadsheet which evaluate on demand (examples of this are _(CoSy) NoteComputing Environment, which was based on _(APL) and now on _(K) and <em>probably</em> _(The Humane Environment) by _(Jef Raskin), based on _(Python) and the _(Oberon) _(UI)).

See, from the _(Oberon) _(FAQ):
<ul class="links">
  <li>_("CLI compared to TUI" | http://www.oberon.ethz.ch/cli.html).</li>
</ul>

Here is a fragment of their quote from <strong>comp.lang.oberon</strong>:

<blockquote>[..] At the base level a _(CLI) offers absolutely nothing over a TUI (Textual User Interface). What do I mean by "base level"? Does anybody here, besides me, go back far enough to remember _(CP/M)? That's a "base level" _(CLI). It has little, if any, scripting, no piping or redirection, etc. A _(CLI) means that when you press "ENTER" the command is executed. With a TUI you can do pretty much the same thing, except that the command isn't executed until you click on it. Someone raised the issue of "when" can you type in a command in a TUI. Answer? Anytime you feel like it! <strong>You don't have to open up a "blank window" and type your new command in.</strong> You don't have to put the new command into the log. <strong>You can put it in any document you happen to be working on.</strong> Say if you're editing a module and you want to test a new command. Just type it in and click on in the that same window. It's just that simple. Sure, it takes more to type in:

<code>System.DeleteFiles file1.txt file2.txt file3.txt ~</code>

than:

<BR><code>del file1.txt</code>
<BR><code>del file2.txt</code>
<BR><code>del file3.txt</code>

But if that's all you can see, you're missing the point. Names in typical _(CLI)s are short (and cryptic) because you're likely to type them again, and again, and again. The _(Oberon) TUI saves on typing, hence command names can be longer and more meaningful. [..]
<br>-- J. M. Drake 
</blockquote>
