Dialog (software)

Last updated
dialog
Original author(s) Savio Lam
Developer(s) Thomas E. Dickey
Initial release1994
Stable release
1.3-20210117 / January 17, 2021;2 years ago (2021-01-17) [1]
Repository
Operating system Unix, Linux, POSIX
Type Shell scripts
License LGPL
Website invisible-island.net/dialog/ OOjs UI icon edit-ltr-progressive.svg

Dialog is an application used in shell scripts which displays text user interface widgets. It uses the curses or ncurses library. The latter provides users with the ability to use a mouse, e.g., in an xterm.

Contents

Dialog was created by Savio Lam (first reported version 0.3 was in 1994). [2] [3] [4] It was further modified by several people. Since 1999 it has been maintained (and rewritten) by Thomas Dickey. [5]

At least one fork exists, a FreeBSD-only split into application and library in late 1994. [6] [7] One might also consider lxdialog (part of menuconfig), except that it has been reduced to fragments that can no longer run dialog scripts.

There are several programs inspired by dialog; not all read the same scripts. The most well-known are Xdialog and whiptail.

See also

Related Research Articles

ncurses Text-based user interface API

ncurses is a programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces (TUI) in a terminal-independent manner. It is a toolkit for developing "GUI-like" application software that runs under a terminal emulator. It also optimizes screen changes, in order to reduce the latency experienced when using remote shells.

<span class="mw-page-title-main">Xfce</span> Desktop environment

Xfce or XFCE is a free and open-source desktop environment for Linux and other Unix-like operating systems.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

man page Unix software documentation

A man page is a form of software documentation usually found on a Unix or Unix-like operating system. Topics covered include computer programs, formal standards and conventions, and even abstract concepts. A user may invoke a man page by issuing the man command.

The C standard library or libc is the standard library for the C programming language, as specified in the ISO C standard. Starting from the original ANSI C standard, it was developed at the same time as the C library POSIX specification, which is a superset of it. Since ANSI C was adopted by the International Organization for Standardization, the C standard library is also called the ISO C library.

curses (programming library) Terminal control library enabling construction of text user interfaces

curses is a terminal control library for Unix-like systems, enabling the construction of text user interface (TUI) applications.

fortune is a program that displays a pseudorandom message from a database of quotations that first appeared in Version 7 Unix. The most common version on modern systems is the BSD fortune, originally written by Ken Arnold. Distributions of fortune are usually bundled with a collection of themed files, containing sayings like those found on fortune cookies, quotations from famous people, jokes, or poetry. As of November 2017, the quotations have been removed from FreeBSD entirely after user complaints regarding quotations from Adolf Hitler being contained in some of the files.

<span class="mw-page-title-main">Pseudoterminal</span>

In some operating systems, including Unix and Linux, a pseudoterminal, pseudotty, or PTY is a pair of pseudo-device endpoints (files) which establish asynchronous, bidirectional communication (IPC) channel between two or more processes. The master provides means by which a terminal emulator process controls the slave. The slave emulates a hardware text terminal device. PTY are similar to bidirectional pipes.

<span class="mw-page-title-main">DTrace</span> Dynamic tracing framework for kernel and applications

DTrace is a comprehensive dynamic tracing framework originally created by Sun Microsystems for troubleshooting kernel and application problems on production systems in real time. Originally developed for Solaris, it has since been released under the free Common Development and Distribution License (CDDL) in OpenSolaris and its descendant illumos, and has been ported to several other Unix-like systems.

file (command) Standard Unix program

The file command is a standard program of Unix and Unix-like operating systems for recognizing the type of data contained in a computer file.

init UNIX system component

In Unix-based computer operating systems, init is the first process started during booting of the operating system. Init is a daemon process that continues running until the system is shut down. It is the direct or indirect ancestor of all other processes and automatically adopts all orphaned processes. Init is started by the kernel during the booting process; a kernel panic will occur if the kernel is unable to start it, or it should die for any reason. Init is typically assigned process identifier 1.

env is a shell command for Unix and Unix-like operating systems. It is used to either print a list of environment variables or run another utility in an altered environment without having to modify the currently existing environment. Using env, variables may be added or removed, and existing variables may be changed by assigning new values to them.

OS-level virtualization is an operating system (OS) paradigm in which the kernel allows the existence of multiple isolated user space instances, called containers, zones, virtual private servers (OpenVZ), partitions, virtual environments (VEs), virtual kernels, or jails. Such instances may look like real computers from the point of view of programs running in them. A computer program running on an ordinary operating system can see all resources of that computer. However, programs running inside of a container can only see the container's contents and devices assigned to the container.

<span class="mw-page-title-main">GNU Oleo</span> Spreadsheet program

GNU Oleo is a discontinued lightweight free software spreadsheet originally designed as a text-based spreadsheet using the curses library. The last development version of Oleo, 1.99.16, was released in 2001.

<span class="mw-page-title-main">KDE Plasma 4</span> Graphical environments provided by KDE

KDE Plasma 4 is the fourth generation of the KDE workspace environments. It consisted of three workspaces, each targeting a certain platform: Plasma Desktop for traditional desktop PCs and notebooks, Plasma Netbook for netbooks, and Plasma Active for tablet PCs and similar devices.

<span class="mw-page-title-main">Zenity</span> Free software that allows the execution of GTK dialog boxes in command-line and shell scripts

Zenity is free software and a cross-platform program that allows the execution of GTK dialog boxes in command-line and shell scripts.

<span class="mw-page-title-main">PlayOnLinux</span> Graphical front-end for the Wine software compatibility layer

PlayOnLinux is a graphical frontend for the Wine software compatibility layer which allows Linux users to install Windows-based video games, Microsoft Office, Microsoft Internet Explorer, as well as many other applications such as Apple iTunes and Safari.

<span class="mw-page-title-main">Unix</span> Family of computer operating systems

Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions inside a single terminal display, terminal emulator window, PC/workstation system console, or remote login session, or to detach and reattach sessions from a terminal. It is useful for dealing with multiple programs from a command line interface, and for separating programs from the session of the Unix shell that started the program, particularly so a remote process continues running even when the user is disconnected.

References

  1. https://invisible-mirror.net/archives/dialog/ - accessed on 2021/02/28
  2. Phil Hughes (April 1994). "Interview with Patrick Volkerding". Linux Journal.
  3. Jeff Tranter (September 1994). "Dialog: An Introductory Tutorial". Linux Journal.
  4. "Dialog 0.3 manual page". 1994-01-10. Archived from the original on 2006-09-22. Retrieved 2007-09-07.
  5. "Dialog Change Log".
  6. "FreeBSD CVS src/gnu/usr.bin/dialog/".
  7. "FreeBSD library manual for dialog".