Zenity

Zenity
Original authorSun Microsystems
DevelopersGlynn Foster
Lucas Rocha
Stable release
4.1.90[1] Edit this on Wikidata / 31 January 2025; 12 months ago (31 January 2025)
Operating systemUnix-like
LicenseGNU Lesser General Public License
Websitegitlab.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]
  1. ^ "4.1.90 · Tags · GNOME / zenity · GitLab". Retrieved 6 March 2025.
  2. ^ 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
  3. ^ 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
  4. ^ 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
  5. ^ Zenity for Windows, archived from the original on 2012-01-12, retrieved 2011-12-10
  6. ^ Ramos, Brian (2011-04-20), PyZenity, archived from the original on 2013-10-07, retrieved 2012-11-15
[edit]


This article is sourced from Wikipedia. Content is available under the Creative Commons Attribution-ShareAlike License.