dialog - display dialog boxes from scripts
Last Updated: May 28, 2002
Dialog is a utility to create nice user interfaces to shell scripts, or other scripting languages, such as perl. It is non-graphical (it uses curses) so it can be run in the console or an xterm. There are also graphical Xwindows versions mentioned below.
This document describes the status of all dialog branches I was able to find.
Dialog has been around for at least 7 or 8 years and is fairly widely used. Slackware Linux was using it for it's installation scripts in the early days of it's distribution and still does to this day (at least as of Slackware 7.0). Strangely enough, I have never seen a web site for dialog with console screen shots before I put up this page (however, there are web sites for the two recent Xwindows branches). This is one of the reasons I decided to put up this page. My goal is also to help coordinate and encourage the current developers/contributers to strive for as much compatibility as possible between dialog and Xdialog.
Dialog was originally written by Savio Lam but apparently he quit maintaining it long ago. This has caused it to branch into various directions over the years by programmers who wanted different features and/or needed different bugs fixed. These various patched versions have just been floating around on ftp sites. It has been confusing and time consuming to locate them and figure out which one to use. I finally posted the one I fixed some bugs in, dialog-0.62, on freshmeat (after various emails I sent to obsolete addresses of the author and contributers bounced) before finding out about dialog-0.9a-20010115.
This is dialog-0.61a with a couple of bugs fixed by me plus some patches sent to me by others. To the best of my knowledge 0.61a was the last version ever released of the original dialog package (actually 0.7 now). It works pretty well but has none of the newer features that have been added to the dialog-0.9a+ branches. This branch will not likely evolve any further. I may apply bug fixes if people send me patches but most problems have already been fixed in dialog-0.9a+.
If you have any problems with the appearance or functionality of older scripts using the newer 0.9a+ versions, then you may want to use this version until the scripts are updated or the problem is fixed in the newer one.
To the best of my knowledge, the cdialog branches are no longer maintained.
Cdialog supposedly has new features over the original dialog but they have never been documented and primarily only the original features seem to work. Neither the gauge or wheel sample worked. The Entered-date in the LSM is Jan 15, 1996 and I found no new dates in the README and no change log.
This is the one I would consider to be the official version of dialog. It is the most stable, complete, and maintained dialog package for use in the console. It is based on cdialog-0.9a but all the demonstration samples actually work. This one has some nice new features and even has an up to date man page. Prior to version 0.9a-20010429 it did not work well with my existing scripts because it striped the extra spaces out of the text in my dialog messages which messed up the appearance of my existing scripts that align information for appearance and readability. This is fixed in dialog-0.9a-20010429, It includes patches by me and Thomas Dickey.
Dialog-0.9a+ is being actively maintained and enhanced by Thomas Dickey and is hosted on the Debian Linux site, so patches, etc. should probably be submitted to them through the debian bug reporting system, or to Thomas Dickey <firstname.lastname@example.org>.
Xdialog-1.5.2 + http://www.chez.com/godefroy/
Both of these are Xwindows graphical replacements to dialog. They both work pretty well but Xdialog seems to have the most features and be the most stable.
Xdialog obeyed the menu height parameter of my menu box where Wdialog did not. My script set the menu height to 5. Wdialog displayed it about 3 1/2.
The author of Wdialog, Luis E Limon, says he wants to create one package that standardizes between xdialog and cdialog. It comes with two programs, wdialog (for the console) and wxdialog (for X).
The tailbox sample in both Xdialog and wxdialog would not let me cancel or delete the window through the window manager until it got to the bottom of the file it was tailing. This is inconvenient on a long log file. This is now fixed as of Xdialog-1.5.3. Xdialog-1.5.3 also now has a dialog-compatible --item-help option.
The gauge sample worked in Xdialog.
With wxdialog, it gave a Segmentation fault near the end and printed a warning to the screen: Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkProgress'
Xdialog, as of version 2.0.0, now works quite nicely as a drop in replacement for dialog to give your dialog scripts a GUI interface under Xwindows. All you have to do is set a couple of environment variabls, $XDIALOG_HIGH_DIALOG_COMPAT and $XDIALOG_FORCE_AUTOSIZE.
This is a much-reduced variation of dialog which is used in Linux kernel configuration. It is distributed as part of the Linux kernel sources package
This is a brand new dialog package that has apparently only recently appeared. It is the first potential competitor to dialog I have ever seen that is not based on dialog. It uses a library called tvision for console mode. Tvision is a product of Borland International that was originally developed to run on MS-DOS systems but has been ported to Linux and released under a BSD style copyright. The Xwindows side of dldialog required the older qt-1.30 and would not configure with my qt-2.2.2 library, so I have not evaluated it.
dialog-0.9a-20010527 + for the console
Xdialog 2.0.0 + for Xwindows
I fully agree with the goal of the author of the Wdialog package, Luis Limon, to create 100% compatibility in X and the console mode. This would stop redundant development for scripts to work in both environments. In fact, that is one of the primary reasons I put up this web site.
However, although I wish Luis Limon the best on his Wdialog project, currently I find Xdialog and dialog to be the most complete and closest to achieving this goal.
Since I put up this website, Thierry Godefroy, the author of Xdialog, has modified Xdialog to work quite well as a compatible dialog drop in replacement.
Vincent Stemen 03/15/2001