Zenity

Zenity
Original authorSun Microsystems
DevelopersGlynn Foster
Lucas Rocha
Stable release
4.2.1[1] Edit this on Wikidata / 7 November 2025; 6 months ago (7 November 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

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

As of 2012, 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

Python example

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

#!/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

@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

References

  1. ^ https://gitlab.gnome.org/GNOME/zenity/-/releases/4.2.1. {{cite web}}: Missing or empty |title= (help)
  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


Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.