Python wrapper for UNIX dialog utility
Fetching latest commit…
Cannot retrieve the latest commit at this time
Overview -------- pythondialog is a Python wrapper for the UNIX "dialog" utility written by Savio Lam and modified by several people, whose home page you should find at http://dickey.his.com/dialog/dialog.html. Its purpose is to provide an easy to use, pythonic and as complete as possible interface to dialog from Python code. pythondialog is free software, licensed under the GNU LGPL. If you want to get a quick idea of what this module allows you to do, you should run demo.py: python demo.py What is pythondialog good for? What are its limitations? -------------------------------------------------------- As you might infer from the name, dialog is a high-level program that generates dialog boxes. So is pythondialog. They allow you to build nice interfaces quickly and easily, but you don't have full control over the widgets, nor can you create new widgets without modifying dialog itself. If you need to do low-level stuff, you should have a look at ncurses or slang instead. Documentation ------------- pythondialog is fully documented through Python docstrings. Handy ways to access to this documentation are to use the pydoc standalone program or Python module. You can type "pydoc dialog" at the command prompt in pythondialog base directory. Alternatively, you can type: - "import dialog; help(dialog)" at at a Python 2.2 command prompt (and probably any later version) To browse it in HTML format, you can launch an HTTP server listening on port 1234 with "pydoc -p 1234 &" (yes, it is damn easy!) and simply browse on http://localhost:1234/ afterwards. Alternatively, you can dump the current dialog.py documentation (as found by Python if you did "import dialog") as an html file with "pydoc -w dialog". This will generate dialog.html in the current directory. See the pydoc module's documentation for more information. Using Xdialog instead of dialog ------------------------------- Starting with 2.06, there is an "Xdialog" compatibility mode that you can use if you want pythondialog to run the graphical Xdialog program (which *should* be found under http://xdialog.free.fr/) instead of dialog (text-mode, based on the ncurses library). The primary supported platform is still dialog, but as long as only small modifications are enough to make pythondialog work with Xdialog, I am willing to support Xdialog if people are interested in it (which turned out to be the case for Xdialog). The demo.py from pythondialog 2.06 has been tested with Xdialog 2.0.6 and found to work well (barring Xdialog's annoying behaviour with the file selection dialog box). Troubleshooting --------------- * pythondialog seems not to work very well with whiptail. Well, whiptail is not very compatible with dialog any more. Although you can tell pythondialog the program you want it to invoke, only programs that are mostly dialog-compatible are supported. * It is said that there is a bug in (at least) the Mandrake 7.0 Russian Edition running on AMD K6-2 3D that causes core dump when `dialog' is run with the --gauge option; in this case you'll have to recompile the `dialog' program. History ------- pythondialog was originally written by Robb Shecter. Sultanbek Tezadov added some features to it (mainly the first gauge implementation, I guess). Florent Rougon rewrote most parts of the program to make it more robust and flexible so that it can give access to most features of the dialog program. Finally, I (Peter Astrand) took over maintainership for both the original version and Florents updated version.