you are viewing a single comment's thread
view the rest of the comments
[–] 8 points 6 months ago (5 children)

What is a TUI? I haven't heard that term before.

  • source
  • hideshow 10 child comments
  • [–] 17 points 6 months ago* (last edited 6 months ago) (1 child)

    TUI: Terminal Text User Interface, something like htop in example. CLI: Command Line Interface, something like grep in example.

    Edit: "Text" is probably the correct word, not "Terminal".

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 6 months ago* (1 child)

    Isn't the T for "text"? (ie. "Text User Interface")

    I mean, in the context of Unix systems it's most likely gonna be within a terminal emulator, but in theory you can have a TUI inside an SDL window rendering the text there (specially when they are ports from other systems where they might be using different character sets than whats available in terminals.. or if they want to force a specific font).

    The only example that comes to my head right now is ZZT, but I believe there are many games on Steam that use a TUI rendered within their own program, not a terminal.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 6 months ago (1 child)

    It's a UI that sits in the terminal (thus TUI). Think htop, or btop; They are often ran from CLI, but offer more of a UI.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 6 months ago (2 children)

    Thanks! I guess something like vim would count as a TUI then.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 6 months ago (1 child)

    I’d say vi is in a fuzzy grey area below a tui. It’s more than a cli but shares a lot with cli programs; it pretty much has its own command line built in. At the same time it has nothing like dialog box or menus like normal tui programs.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 5 points 6 months ago* (last edited 6 months ago) (1 child)

    Personally, I feel that if it uses control characters to update the screen in previous positions, altering the scroll buffer, moving beyond where the cursor is and redrawing the screen, then it's a TUI.

    CLI programs only output plain text in a stream, using just control characters for coloring and formatting, and if they do any re-drawing it's only for the current line (eg. progressbars and so).

    So.. even something like less is a TUI program.. but things like more or sed would be CLI programs.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 6 months ago (2 children)

    ncurses and similar. Think 1980s word processor, emacs, vi, Slackware installer, etc.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 4 points 6 months ago* (1 child)

    Emacs is actually a real GUI application. It has font sizes, variable width fonts, image display, etc. and with the pGTK backend even native wayland support. It also has a rendering backend for the terminal, and some people have their reasons for using it, but the default and general advice is to use Emacs in GUI mode.

  • source
  • parent
  • hideshow 2 child comments