Terminator (terminal emulator)

Last updated
Terminator
Terminator-icon.png
Terminator (terminal emulator).png
Terminator on Mac OS X showing live search highlighting and UTF-8 capabilities, courtesy of Markus Kuhn's UTF-8-demo.txt and cat.
Developer(s) Phil Norman, Elliott Hughes, Martin Dorey
Stable release
Revision #1418 (2523) / February 24, 2008;13 years ago (2008-02-24)
Written in Java
Operating system Windows/X Window System
Type Terminal emulator
License GPL-2.0-or-later [1] [2]
Website github.com/software-jessies-org/jessies/wiki/Terminator

Terminator is an open-source terminal emulator programmed in Java. It is available on Microsoft Windows, macOS, Linux and other Unix systems that use the X Window System. Terminator will run on any modern POSIX system running Java 6 or later. Terminator is licensed under the GPL-2.0-or-later license. [1]

Contents

Terminator was originally written by Phil Norman, who produced a more-or-less usable replacement for rxvt on his own between 21 April 2004 and 28 May 2004; roughly a month of development time. Elliott Hughes took Phil's terminal emulation and used it as a base upon which he could experiment with advanced terminal emulator features and continues to actively develop Terminator. Martin Dorey ported Terminator to Cygwin.

Features

See also

Related Research Articles

Cygwin Unix subsystem for Windows machines

Cygwin is a POSIX-compatible programming and runtime environment that runs natively on Microsoft Windows. Under Cygwin, source code designed for Unix-like operating systems may be compiled with minimal modification and executed.

Scroll Lock Computer key

Scroll Lock is a lock key on most IBM-compatible computer keyboards.

ANSI escape code Method used for display options on video text terminals

ANSI escape sequences are a standard for in-band signaling to control cursor location, color, font styling, and other options on video text terminals and terminal emulators. Certain sequences of bytes, most starting with an ASCII escape character and a bracket character, are embedded into text. The terminal interprets these sequences as commands, rather than text to display verbatim.

Scrollbar

A scrollbar is an interaction technique or widget in which continuous text, pictures, or any other content can be scrolled in a predetermined direction on a computer display, window, or viewport so that all of the content can be viewed, even if only a fraction of the content can be seen on a device's screen at one time. It offers a solution to the problem of navigation to a known or unknown location within a two-dimensional information space. It was also known as a handle in the very first GUIs. They are present in a wide range of electronic devices including computers, graphing calculators, mobile phones, and portable media players. The user interacts with the scrollbar elements using some method of direct action, the scrollbar translates that action into scrolling commands, and the user receives feedback through a visual updating of both the scrollbar elements and the scrolled content.

In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object, dynamically, without affecting the behavior of other objects from the same class. The decorator pattern is often useful for adhering to the Single Responsibility Principle, as it allows functionality to be divided between classes with unique areas of concern. Decorator use can be more efficient than subclassing, because an object's behavior can be augmented without defining an entirely new object.

In computer programming, standard streams are interconnected input and output communication channels between a computer program and its environment when it begins execution. The three input/output (I/O) connections are called standard input (stdin), standard output (stdout) and standard error (stderr). Originally I/O happened via a physically connected system console, but standard streams abstract this. When a command is executed via an interactive shell, the streams are typically connected to the text terminal on which the shell is running, but can be changed with redirection or a pipeline. More generally, a child process inherits the standard streams of its parent process.

Computer terminal Computer input/output device for users

A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early day hardcopy terminal, and predated the use of a computer screen by decades.

Text-based user interface Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of graphical user interfaces (GUIs). Like GUIs, they may use the entire screen area and accept mouse and other inputs. They may also use color and often structure the display using special graphical characters such as ┌ and ╣, referred to in Unicode as the "box drawing" set. The modern context of use is usually a terminal emulator.

Pseudoterminal

In some operating systems, including Unix, a pseudoterminal, pseudotty, or PTY is a pair of pseudo-devices, one of which, the slave, emulates a hardware text terminal device, the other of which, the master, provides the means by which a terminal emulator process controls the slave.

Graphical widget Element of interaction in a graphical user interface

A graphical widget in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct manipulation to read or edit information about an application. User interface libraries such as Windows Presentation Foundation, GTK, and Cocoa, contain a collection of controls and the logic to render these.

Option key Modifier key present on Apple keyboards

The Option key is a modifier key present on Apple keyboards. It is located between the Control key and Command key on a typical Mac keyboard. There are two Option keys on modern Mac desktop and notebook keyboards, one on each side of the space bar.

Microsoft WinHelp is a proprietary format for online help files that can be displayed by the Microsoft Help browser winhelp.exe or winhlp32.exe. The file format is based on Rich Text Format (RTF). It remained a popular Help platform from Windows 3.0 platform through Windows XP. WinHelp was removed in Windows Vista purportedly to discourage software developers from using the obsolete format and encourage use of newer help formats.

GNU Readline is a software library that provides line-editing and history capabilities for interactive programs with a command-line interface, such as Bash. It is currently maintained by Chet Ramey as part of the GNU Project.

GNOME Terminal Terminal emulator from GNOME

GNOME Terminal is a terminal emulator for the GNOME desktop environment written by Havoc Pennington and others. Terminal emulators allow users to access a UNIX shell while remaining on their graphical desktop.

mrxvt Terminal emulator

The mrxvt program is a terminal emulator for X Window System. It provides DEC VT102 compatible terminals.

Control+C is a common computer command. It is generated by pressing the C key while holding down the Ctrl key on most computer keyboards.

GNU Emacs GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman. In common with other varieties of Emacs, GNU Emacs is extensible using a Turing complete programming language. GNU Emacs has been called "the most powerful text editor available today". With proper support from the underlying system, GNU Emacs is able to display files in multiple character sets, and has been able to simultaneously display most human languages since at least 1999. Throughout its history, GNU Emacs has been a central component of the GNU project, and a flagship of the free software movement. GNU Emacs is sometimes abbreviated as GNUMACS, especially to differentiate it from other EMACS variants. The tag line for GNU Emacs is "the extensible self-documenting text editor".

Linux console Console of the Linux kernel.

The Linux console is a system console internal to the Linux kernel. The Linux console provides a way for the kernel and other processes to send text output to the user, and to receive text input from the user. The user typically enters text with a computer keyboard and reads the output text on a computer monitor. The Linux kernel supports virtual consoles – consoles that are logically separate, but which access the same physical keyboard and display. The Linux console are implemented by the VT subsystem of the Linux kernel, and do not rely on any user space software. This is in contrast to a terminal emulator, which is a user space process that emulates a terminal, and is typically used in a graphical display environment.

GNOME Terminator

GNOME Terminator is an free and open-source terminal emulator for Linux programmed in Python, licensed under GPL-2.0-only. The goal of the project is to produce a useful tool for arranging terminals. It is inspired by programs such as gnome-multi-term, quadkonsole, etc. In that the main focus is arranging terminals in grids. Terminator exists in default repositories for Arch, Debian/Ubuntu, Fedora, OpenSUSE, Gentoo, Snap, FreeBSD. In 2017 took second place in voting at opensource.com, after Gnome Terminal. Terminator is not a fork of GNOME Terminal, It is a development from scratch of Chris Jones, entirely in Python, but much of the behavior of Terminator is based on GNOME Terminal:... Terminator began by copying code from the vte-demo.py in the vte widget package, and the gedit terminal plugin.

References

  1. 1 2 "src/terminator/Terminator.java: declare Terminator as GPL 2 or later". github.com.
  2. "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com.