This article's lead section may be too short to adequately summarize the key points. (February 2013) |
| Zenity | |
|---|---|
![]() Example of a Zenity dialog box | |
| Original author | Sun Microsystems |
| Developers | Glynn Foster Lucas Rocha |
| Stable release | 4.1.90[1] |
| Operating system | Unix-like |
| License | GNU Lesser General Public License |
| Website | gitlab.gnome.org/GNOME/zenity |
| Repository | |
Zenity is a free software and cross-platform computer program that allows the execution of GTK dialog boxes in command-line and shell scripts.
Description
[edit]Like tools such as whiptail and dialog, Zenity allows easy creation of GUIs,[2] though it has fewer features than more complex GUI-creation tools.[3]
Other scripting languages such as Perl and Python can be used to construct full-scale GUI applications, but the zenity program enables a shell script to interact with a GUI user.... [The] user interface is not as refined as one that could be provided by a full-featured GUI application, but it is perfectly suitable for simple interactions.
— Chris Tyler[4]
Cross-platform compatibility
[edit]As of 2012[update], Zenity is available for Linux, BSD and Windows.[5] A Zenity port to Mac OS X is available in MacPorts and Homebrew.
As of 2018, Zenity ports for Windows are available: zenity-windows (based on version 3.20.0) and winzenity (based on 3.8.0 / statically linked)
Zenity does not possess any built-in scripting capabilities and it must, therefore, rely on an interpreter for processing. One option is Python in combination with the PyZenity library.[6]
Examples
[edit]Python example
[edit]
from PyZenity import InfoMessage
from PyZenity import Question
from PyZenity import ErrorMessage
choice = Question("Please press a button.")
if choice:
InfoMessage("You pressed Yes!")
else:
ErrorMessage("You pressed No!")
POSIX shell script example
[edit]#!/bin/sh
if zenity --question --text="Please press a button."; then
zenity --info --text="You pressed Yes\!"
else
zenity --error --text="You pressed No\!"
fi
Windows shell script example
[edit]@echo off
zenity --question --ok-label="Yes" --cancel-label="No" --text="Please press a button."
if %ERRORLEVEL% == 1 goto error
zenity --info --text="You pressed Yes!"
goto end
:error
zenity --error --text="You pressed No!"
:end
See also
[edit]References
[edit]- ^ "4.1.90 · Tags · GNOME / zenity · GitLab". Retrieved 6 March 2025.
- ^ Cartwright, Ryan (2009-01-30), "More fun with Zenity: shell script/GUI interactivity", Free Software Magazine, archived from the original on 2011-11-06, retrieved 2011-12-10
- ^ Diehl, Mike (2008-05-12), "Make Your Scripts User Friendly with Zenity", LinuxJournal, archived from the original on 2011-11-26, retrieved 2011-12-10
- ^ Tyler, Chris (2006), "Chapter 4. Basic System Management", Fedora Linux, O'Reilly Media, pp. 258–259, ISBN 978-0-596-52682-5, archived from the original on 2011-07-15, retrieved 2010-03-15
- ^ Zenity for Windows, archived from the original on 2012-01-12, retrieved 2011-12-10
- ^ Ramos, Brian (2011-04-20), PyZenity, archived from the original on 2013-10-07, retrieved 2012-11-15
External links
[edit]
