HOME

TheInfoList




In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and software. It has sci ...

computing
, text-based user interfaces (TUI) (alternately terminal user interfaces, to reflect a dependence upon the properties of
computer terminal A computer terminal is an electronic or electromechanical In engineering Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and b ...
s and not just text), is a
retronym A retronym is a newer name for an existing thing that helps differentiate the original form/version from a more recent one. It is thus a word or phrase created to avoid confusion between older and newer types, whereas previously (before there were ...
describing a type of
user interface In the industrial design Industrial design is a process of design A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process, or the result of that plan or specificati ...
(UI) common as an early form of
human–computer interaction Human–computer interaction (HCI) is research in the design and the use of Computing, computer technology, which focuses on the Interface (computing), interfaces between people (user (computing), users) and computers. HCI researchers observe th ...
, before the advent of
graphical user interface The graphical user interface (GUI "UI" by itself is still usually pronounced . or ) is a form of user interface In the industrial design Industrial design is a process of design A design is a plan or specification for the construction ...
s (GUIs). Like GUIs, they may use the entire
screen Screen or Screens may refer to: Arts * Screen printing (also called ''silkscreening''), a method of printing * Big screen, a nickname associated with the motion picture industry * Split screen (filmmaking), a film composition paradigm in which mult ...
area and accept
mouse A mouse, plural mice, is a small mammal Mammals (from Latin language, Latin , 'breast') are a group of vertebrate animals constituting the class (biology), class Mammalia (), and characterized by the presence of mammary glands which ...
and other inputs. They may also use color and often structure the display using special graphical
character Character(s) may refer to: Arts, entertainment, and media Literature * ''Character'' (novel), a 1936 Dutch novel by Ferdinand Bordewijk * ''Characters'' (Theophrastus), a classical Greek set of character sketches attributed to Theophrastus M ...
s such as ┌ and ╣, referred to in
Unicode Unicode, formally the Unicode Standard, is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expressed in most of the world's wri ...

Unicode
as the "box drawing" set. The modern context of use is usually a
terminal emulator A terminal emulator, terminal application, or term, is a computer program In imperative programming, a computer program is a sequence of instructions in a programming language that a computer can execute or interpret. In declarative programmin ...
.


Types of text terminals

From text application's point of view, a text screen (and communications with it) can belong to one of three types (here ordered in order of decreasing accessibility): # A genuine
text mode Text mode is a computer display A computer monitor is an output device that displays information in pictorial or text form. A monitor usually comprises a electronic visual display, visual display, electronic circuit, some circuitry, a casing, ...
display, controlled by a
video adapter A graphics card (also called a video card, display card, graphics adapter, video adapter, or display adapter) is an expansion card Modern EEPROM chip suitable for storing expansion card configuration electronically In computing Compu ...
or the central processor itself. This is a normal condition for a locally running application on various types of
personal computer A personal computer (PC) is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or technician ...
s and
mobile device A mobile device (or handheld computer) is a computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations automatically. Modern computers can perform generic sets ...
s. If not deterred by the
operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android (operating system), Android and Mi ...

operating system
, a smart program may exploit the full power of a hardware text mode. # A text mode
emulator In computing, an emulator is Computer hardware, hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run so ...
. Examples are
xterm In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and so ...

xterm
for
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with ...
and
win32 console Windows Console is the infrastructure for console application A console application is a program designed to be used via a text-only computer interface, such as a text terminal A computer terminal is an electronic or electromechanical ...
(in a window mode) for
Microsoft Windows Microsoft Windows, commonly referred to as Windows, is a group of several proprietary {{Short pages monitor, almost certainly become unavailable. # A remote
text terminal A computer terminal is an electronic or electromechanical In engineering Engineering is the use of scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and b ...
. The communication capabilities usually become reduced to a
serial line In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and sof ...
or its emulation, possibly with few
ioctl In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and sof ...
()s as an
out-of-band Out-of-band is activity outside a defined telecommunications frequency band Band or BAND may refer to: Places *Bánd, a village in Hungary *Band, Iran, a village in Urmia County, West Azerbaijan Province, Iran *Band, Mureș, a commune in Romania ...
channel in such cases as
Telnet Telnet is an application protocol used on the Internet The Internet (or internet) is the global system of interconnected s that uses the (TCP/IP) to communicate between networks and devices. It is a ' that consists of private, publ ...
and
Secure Shell Secure Shell (SSH) is a cryptographic Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or '' -logia'', "study", respectively), is the practice and study of techniques for se ...
. This is the worst case, because software restrictions hinder the use of capabilities of a remote display device. Under
Linux Linux ( or ) is a family of open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product ...
and other
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system An operating system (OS) is system software System software is software designed to provide a platform for other software. Examples of system software include operating s ...
systems, a program easily accommodates to any of the three cases because the same interface (namely,
standard streams In computer programming Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, genera ...
) controls the display and keyboard. Also, specialized programming libraries help to output the text in a way appropriate to the given display device and interface to it. See
below Below may refer to: *Earth *Ground (disambiguation) *Soil *Floor *Bottom (disambiguation) *Less than *Temperatures below freezing *Hell or underworld People with the surname *Fred Below (1926–1988), American blues drummer *Fritz von Below (1853 ...
for a comparison to Windows.


On ANSI-compatible terminals

American National Standards Institute The American National Standards Institute (ANSI ) is a private non-profit organization that oversees the development of Standardization, voluntary consensus standards for products, services, processes, systems, and personnel in the United Sta ...
(ANSI) standard
ANSI X3.64 ANSI escape sequences are a standard for in-band signaling In telecommunications Telecommunication is the transmission of information by various types of technologies over wire, radio, Optical system, optical, or other Electromagnetis ...
defines a standard set of
escape sequence In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of co ...
s that can be used to drive terminals to create TUIs (see
ANSI escape code ANSI escape sequences are a standard for in-band signaling In telecommunications Telecommunication is the transmission of information by various types of technologies over wire, radio, Optical system, optical, or other Electromagnetis ...
). Escape sequences may be supported for all three cases mentioned in the above section, allowing arbitrary cursor movements and color changes. However, not all terminals follow this standard, and many non-compatible but functionally equivalent sequences exist.


Under DOS and Microsoft Windows

On
IBM Personal Computer The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first computer released in the IBM PC model line and the basis for the IBM PC compatible IBM PC compatible computers are similar to the original IBM PC The IBM ...
s and compatibles, the Basic Input Output System (
BIOS In computing, BIOS (, ); an acronym for Basic Input/Output System and also known as the System BIOS, ROM BIOS or PC BIOS) is firmware used to perform Computer hardware, hardware initialization during the booting process (power-on startup), and t ...

BIOS
) and
DOS DOS (, ) is a platform-independent acronym for disk operating system which later became a common shorthand for disk-based operating systems on IBM PC compatible IBM PC compatible computers are similar to the original IBM Personal Computer, IB ...

DOS
system calls provide a way to write text on the screen, and the ANSI.SYS driver could process standard ANSI escape sequences. However, programmers soon learned that writing data directly to the
screen buffer A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory 8GB DDR3 RAM stick with a white Heat sink">heatsink File:Laptop Heatsink.jpg, 330px, Typical heatsink-fan combination found on a consumer laptop. T ...
was far faster and simpler to program, and less error-prone; see
VGA-compatible text mode VGA text mode was introduced in 1987 by IBM as part of the Video Graphics Array, VGA standard for its IBM PS/2 computers. Its use on IBM PC compatibles was widespread through the 1990s and persists today for some applications on modern computers. Th ...
for details. This change in programming methods resulted in many DOS TUI programs. The
win32 console Windows Console is the infrastructure for console application A console application is a program designed to be used via a text-only computer interface, such as a text terminal A computer terminal is an electronic or electromechanical ...
environment is notorious for its emulation of certain EGA/VGA text mode features, particularly random access to the text buffer, even if the application runs in a window. On the other hand, programs running under Windows (both native and DOS applications) have much less control of the display and keyboard than Linux and DOS programs can have, because of aforementioned win32 console layer. Most often those programs used a blue background for the main screen, with white or yellow characters, although commonly they had also user color customization. They often used
box-drawing character Box-drawing characters, also known as line-drawing characters, are a form of semigraphics Text-based semigraphics or pseudographics is a primitive method used in early video hardware to emulate without having to implement the logic for s ...
s in IBM's
code page 437 Code page 437 (CCSID A CCSID (coded character set identifier) is a 16-bit number that represents a particular encoding In communication Communication (from Latin ''communicare'', meaning "to share") is the act of developing Semantics, mea ...
. Later, the interface became deeply influenced by
graphical user interface The graphical user interface (GUI "UI" by itself is still usually pronounced . or ) is a form of user interface In the industrial design Industrial design is a process of design A design is a plan or specification for the construction ...
s (GUI), adding pull-down menus, overlapping
windows Microsoft Windows, commonly referred to as Windows, is a group of several proprietary {{Short pages monitor