whiptail

Whiptail

Whiptail is a lightweight user interface shell for shell scripts. It allows creating dialog boxes, menus, progress bars and more to interact with users through a text terminal.
whiptail image
shell dialog user-interface

Whiptail: Lightweight UI Shell

A text terminal-based user interface shell for creating dialog boxes, menus, progress bars and more

What is Whiptail?

Whiptail is a lightweight user interface shell originally designed for shell scripts. It provides a suite of dialog tools to display simple text user interfaces even when a graphical environment is not available, like in a Linux text console or terminal.

Some of the common user interface components whiptail can generate include:

  • Message boxes (yes/no, ok/cancel etc.)
  • Input boxes to get text input
  • Menus to select from options
  • Checklists to select multiple items
  • Radio lists to select one item
  • Progress bars

Since it runs in a text terminal, whiptail is very lightweight and doesn't require an X server or window manager to run. All the UI is rendered using ASCII characters. This makes it well-suited for use in shell scripts to interact with users.

Whiptail is highly customizable - the look and feel, dimensions, colors etc can be changed by passing arguments. It can also run unattended in a script without user interaction. The return output can be checked by the script to take decisions.

Some common uses of whiptail include installing software to gather user preferences, configuration wizards in Linux admin scripts, as a general menuing system for text UIs and more.

Whiptail Features

Features

  1. Create dialog boxes, menus, progress bars, and more for shell scripts
  2. Lightweight user interface for terminal/console applications
  3. Display informational messages, warnings, error messages
  4. Get input from users through text prompts, checkboxes, radioboxes
  5. Validate user input
  6. Modular and customizable UI components

Pricing

  • Open Source

Pros

Easy to add interactivity to shell scripts

Works in text terminals/consoles

Lightweight and fast

Good for prototyping and creating simple UIs

Widely available on Linux distros

Cons

Limited UI capabilities compared to GUI toolkits

Text-only, not graphical

Somewhat arcane syntax

Limited customization options

Not as full-featured as other TUI libraries


The Best Whiptail Alternatives

Top Development and Scripting and other similar apps like Whiptail


Zenity icon

Zenity

Zenity is an open source command line utility for Linux that provides an easy way to create graphical user interfaces for scripts or command line programs. It allows displaying different kinds of dialog boxes, messages, data entry forms, progress bars, and more from the terminal or shell scripts without requiring...
Zenity image
VisualWX icon

VisualWX

VisualWX is an open-source desktop application for Windows, Mac, and Linux that specializes in visual weather data. It is designed to provide detailed and customizable weather information through a variety of visual mediums.The software includes interactive weather maps showing radar, satellite, forecasts, observations, and more for anywhere in the world....
VisualWX image
Glade icon

Glade

Glade is a free, open source graphical user interface designer program used to build interfaces for applications that use GTK and GNOME. It provides a visual editor that allows users to arrange widgets like buttons, menus, and windows by dragging and dropping instead of writing code.Some key features of Glade...
Glade image
WxGlade icon

WxGlade

wxGlade is an open source GUI designer and rapid application development (RAD) tool for wxWidgets. It allows quickly creating an application skeleton by designing its interface graphically, as well as generating Python code.Some key features of wxGlade include:Helps build wxWidgets applications faster by creating an application framework and skeleton through...
WxGlade image
KDialog icon

KDialog

KDialog is a useful utility for creating and displaying graphical dialog boxes from shell scripts or the command line. It is designed to integrate well with KDE desktop environments and applications.Some of the dialogs that KDialog can create include:Message boxes (information, warning, error, etc.)Input boxes (text, password, etc.)File selection boxesProgress...
KDialog image
WxSmith icon

WxSmith

wxSmith is an open-source integrated development environment (IDE) plugin designed specifically for building applications using the wxWidgets C++ library. It aims to simplify and accelerate development by providing a what-you-see-is-what-you-get (WYSIWYG) editor for constructing user interfaces visually.Key features of wxSmith include:Drag-and-drop interface builder for placing buttons, menus, sizers, and other...
WxSmith image
WxFormBuilder icon

WxFormBuilder

wxFormBuilder is an open-source, cross-platform GUI designer that generates code for applications using the wxWidgets toolkit. It allows developers to create user interfaces by dragging and dropping components like buttons, text boxes, and panels instead of writing code manually.Some key features of wxFormBuilder include:Generates C++ code that is compatible with...
Xmessage icon

Xmessage

Xmessage is an open-source, cross-platform instant messaging and voice over IP client that allows users to communicate securely. Developed by the Xmessage project, it is available for Windows, Linux, Mac OS, Android and iOS.Some key features of xmessage include:End-to-end encryption using OMEMO encryption protocol to keep chats, voice calls and...
Xmessage image
Xdialog icon

Xdialog

xdialog is an open-source, cross-platform dialog application that provides alternatives to the common dialog boxes found in commercial office suites like Microsoft Office. It aims to deliver basic but essential dialog functionality on Linux, UNIX, and other systems in a small and lightweight package.Some of the key features provided by...
WxDev-C++ icon

WxDev-C++

wxDev-C++ is a free, open source integrated development environment for the C++ programming language. It is built around the wxWidgets cross platform GUI library, allowing applications developed with wxDev-C++ to run on Windows, Linux, Mac OS X and other platforms.Some key features of wxDev-C++ include:Syntax highlighting editor with auto-completion and...
WxDev-C++ image
Dialogblocks icon

Dialogblocks

Dialogblocks is a no-code conversational AI platform used to build chatbots, voice assistants, and other conversational interfaces. It allows anyone to create advanced natural language conversations without needing to write any code.Some key features of Dialogblocks include:Visual bot builder with drag and drop interfaceScalable AI training models for understanding user...
Dialogblocks image
9menu icon

9menu

9menu is a fast and lightweight application launcher and graphical menu for Linux systems. It provides quick access to installed applications, system settings, and personal files in an easy-to-navigate interface.Some key features of 9menu include:Simple and intuitive graphical interface to launch apps and access system settingsCustomizable categories and menus for...
9menu image
Gtkdialog icon

Gtkdialog

Gtkdialog is a utility for easily creating graphical user interfaces for shell scripts and command line programs. It allows you to quickly construct dialog boxes, menus, buttons, entry fields, progress bars and more using simple XML files without having to code up a GUI by hand.Some key features of Gtkdialog...
Gtkdialog image
MessagePop icon

MessagePop

MessagePop is an easy-to-use email marketing platform designed for small businesses. It provides a suite of tools to create professional email campaigns, automate messages, track results in real-time, and optimize using actionable analytics.With MessagePop, you can quickly build email newsletters, announcements, promotions, surveys, and more using beautiful drag-and-drop email builders....
MessagePop image
CocoaDialog icon

CocoaDialog

CocoaDialog is an open-source utility for macOS that makes it easy for developers to add standard system dialogs to their apps. It provides a simple API for displaying dialogs like open file, save file, select folder, alert, input box, etc. without having to build the graphical interfaces from scratch.Some key...
CocoaDialog image
Gxmessage icon

Gxmessage

gxmessage is an open-source, cross-platform instant messaging software for personal and group communication. It offers secure and private messaging with end-to-end encryption for text, voice, video and file transfers.Some key features of gxmessage include:Works across different operating systems like Windows, MacOS, Linux, iOS and AndroidEnd-to-end encryption for secure messaging sessionsGroup...
Gxmessage image
XRCed icon

XRCed

XRCed is an open-source WYSIWYG UI designer application for creating graphical user interfaces (GUIs) for applications using the wxWidgets toolkit. It allows developers to visually construct UIs by dragging and dropping widgets like buttons, menus, and panels into a design canvas and editing their properties through inspectors.A key capability of...
XRCed image