Skip to main content

zenity_soso

Python wrapper for zenity.

From the zenity manpage:

zenity is a program that will display GTK+ dialogs, and return (either in the return code, or on standard output) the users input. This allows you to present information, and ask for information from the user, from all manner of shell scripts.

For example, zenity --question will return either 0, 1 or 5, depending on whether the user pressed OK, Cancel or timeout has been reached. zenity --entry will output on standard output what the user typed into the text entry field.

These python wrapper classes accept any of the zenity options as keywrd arguments to their constructor. Alternatively, you can set any of the zenity arguments as attibutes of the class. Obviously, attributes and keyword arguments may not contain dashes ("-"), so replace any dashes in the zenity option with an underscore ("_").

After constructing an instance and optionally setting attributes, call the "show()" method and save the return value. "show()" calls the zenity program and usually returns the content of stdout as received from zenity.

The List and Form classes return more than just stdout from the "show()" method. These classes interpret the return value from zenity in order to provide you with a more convenient data structure to work with. See the documentation for details.

After calling "show()", the returncode from zenity is always available as the "returncode" property, and the output of zenity is available as the "stdout" property.

Examples:

Show a message:

from zenity_soso import Info

dlg = Info(text = 'This is the message text', title = 'Some info')
dlg.show()

Ask a question:

from zenity_soso import Question

dlg = Question(text = 'Are you <b>really</b> sure you want to do that?',
    ok_label = 'Sure', cancel_label = 'No, not ever')
if dlg.show():
    print('Okay, you asked for it!')

(The above example illustrates the use of "Pango" markup. See: https://docs.gtk.org/Pango/pango_markup.html)

Choose one out of a list of strings:

from zenity_soso import List

dlg = List(['Tom', 'Dick', 'Harry'])
recipient = dlg.show()
if result:
    print(f'Sending this off to {recipient} ...')

Choose one out of a list of dicts:

from zenity_soso import List
from repr_soso import Repr

dicts = [
	{
		'Name'			: 'Tom',
		'Department'	: 'I.T.',
		'Room'			: 'B11'
	},
	{
		'Name'			: 'Dick',
		'Department'	: 'Sales',
		'Room'			: '9A'
	},
	{
		'Name'			: 'Harry',
		'Department'	: 'Shipping',
		'Room'			: '101'
	}
]
dlg = List(dicts)
result = dlg.show()
Repr(result).print()

The above code prints (when selected):

[
	{
		"Name"		: 'Harry',
		"Department": 'Shipping',
		"Room"		: '101'
	}
]

Pick a color:

from zenity_soso import Color_Selection

dlg = Color_Selection(color = "#00FF00")
result = dlg.show()
if result:
    print(f'Color me {result}')

Limitations

As of this moment, the Progress class is not finished. If you would like to contribute a solution, feel free to make a pull request!

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zenity_soso-0.1.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zenity_soso-0.1.0-py2.py3-none-any.whl (23.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file zenity_soso-0.1.0.tar.gz.

File metadata

  • Download URL: zenity_soso-0.1.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for zenity_soso-0.1.0.tar.gz
Algorithm Hash digest
SHA256 36f6e7864567c28287720905abd7d4fbd70cfdb8295576736b09f4d25381d0c9
MD5 dbb8f1e9c986118ff547fde4db9fa50d
BLAKE2b-256 161edf7d4019699f60e3ee9a43715c6f2badb27f99beaf8a88ef223a90d10b15

See more details on using hashes here.

File details

Details for the file zenity_soso-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: zenity_soso-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for zenity_soso-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 300a57b38ba6d34e1f0454a63b8d122f419c028a333217fa46d63f47467aa5fa
MD5 e62f3558745209bb0c606163086ccd6a
BLAKE2b-256 82c43133062f267e8fe8de23a7085ed7ece673955c7344aa6acd67c93bd0a20a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

0.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page