# pythondialog Manual

This manual documents pythondialog, a Python wrapper for the dialog utility originally written by Savio Lam, and later rewritten by Thomas E. Dickey. Its purpose is to provide an easy to use, pythonic and comprehensive Python interface to dialog. This allows one to make simple text-mode user interfaces on Unix-like systems.

pythondialog’s functionality is contained within the `dialog` Python module. This module doesn’t contain much Unix-specific code, if any; however, its backend of reference, which is the dialog program, only works on Unix-like platforms so far as I can tell. Given a suitable backend, the `dialog` module could work on other platforms.

## Main Contents

- A gentle introduction
  - Offering a choice between several options using `menu()`
  - Displaying a message with `msgbox()`
  - Displaying a transient message with `infobox()`
  - Putting it all together
  - Other examples
- `Dialog` class overview
  - Initializing a `Dialog` instance
  - Passing dialog “common options”
  - Return value of widget-producing methods
  - Adding an Extra button
  - Providing on-line help facilities
  - Screen-related methods
  - Checking the versions of pythondialog and its backend
  - Enabling debug facilities
  - Miscellaneous methods
- The `Dialog` widgets
  - Displaying multi-line text
  - Displaying transient messages
  - Progress meters
  - List-like widgets
  - Single-line input fields
  - Forms
  - Selecting files and directories
  - Date and time
  - Miscellaneous
- The `DialogBackendVersion` class
  - `DialogBackendVersion`
- pythondialog-specific exceptions
  - Class hierarchy
  - Detailed list
- Internals
  - `_to_onoff()`
  - `widget()`
  - `retval_is_code()`
  - `Dialog._call_program()`
  - `Dialog._wait_for_program_termination()`
  - `Dialog._perform()`

## Appendices

- Glossary

- Index

- Search Page