Revision as of 14:38, 12 October 2015 editWootery (talk | contribs)Extended confirmed users844 editsm Xdialog no longer an internal link: there is no article on it, and the X page doesn't even mention Xdialog← Previous edit | Revision as of 12:53, 25 November 2016 edit undo200.223.199.146 (talk) Improvement: list of all available boxes, with a short description for each one. The reader can't know what Dialog is without knowing its Dialog Boxes!!! This information is very important.Next edit → | ||
Line 48: | Line 48: | ||
There are several programs inspired by '''dialog'''; not all read the same scripts. | There are several programs inspired by '''dialog'''; not all read the same scripts. | ||
The most well-known are Xdialog and ]. | The most well-known are Xdialog and ]. | ||
==Dialog boxes== | |||
Dialog has 29 avaiable dialog boxes to be used by the writer of the shell scripts:<ref>http://invisible-island.net/dialog/manpage/dialog.html#h2-DESCRIPTION - Retrieved on 2016-11-25.</ref> | |||
#'''buildlist''': shows 2 lists, one for selected items (right), other for unselected items (left). The user moves the items between the lists; | |||
#''']''': shows 3 windows on the dialog box: 1 for month, 1 for year, and 1 for the days. The user can then select the date; | |||
#''']''': like a '''menu''', but the user can select multiple otpions, instead of just 1; | |||
#'''dselect''': the '''fselect''', but without the file window, as only the directory needs to be selected; | |||
#''']''': exhibit, on the screen, a copy of the specified file. The user can then edit it; | |||
#''']''': build a form on the screen, with items (labels) and values (fields). The user can then input data on the fields, to be attributed to the items (labels); | |||
#'''fselect''': shows 3 windows on the dialog box: 1 with a directory list, 1 with a file list, and 1 with the file path. The user can then select/type a file path; | |||
#'''gauge''': a windows with a ] on it's bottom. Each increase of 1% updates the progress bar; | |||
#'''infobox''': it's a '''msgbox''', but dialog just show it, and don't clear or receive any input - the shell script that invoked the infobox should treat this; | |||
#''']''': a window for the user to input text; | |||
#'''inputmenu''': a '''menu''', but with input capability, like a '''form'''; | |||
#'''menu''': a list of names (tags) and descriptions (items) for the user to choose from; | |||
#'''mixedform''': a '''form''', but where the developer of the script can declare data types for the labels ("readonly") and fields ("hidden"); | |||
#'''mixedgauge''': it shows a '''gauge''', but also a list of items on top, that detail the progress; | |||
#'''msgbox''': like a '''yesno''' box, but without yes/no. It only has an "OK" button; | |||
#'''passwordbox''': the same as the '''inputbox''', except that the text entered by the user is treated like a password (*****); | |||
#'''passwordform''': the same as the '''form''', except that all fields are treated like passwords (*****); | |||
#'''pause''': a '''gauge''' with a final countdown: the progress bar decreases with time, until the time is over and the box closes itself. The user can also press "OK", "CANCEL", or ] for the same effect earlier; | |||
#'''prgbox''': like the '''programbox'''. The user can press ] after the command completes itself; | |||
#'''programbox''': like the '''progressbox''', but with an "OK" button after the command completes itself; | |||
#'''progressbox''': shows the output of the specified command. It's not a ], for this, check '''gauge'''; | |||
#'''radiolist''': like the '''checklist''', but only one option can remain selected, at a time; | |||
#'''rangebox''': show a progress bar like the '''gauge''', but it does not shows progress. Instead, the user should select a value inside it's range; | |||
#'''tailbox''': display the content of the specified file, but without vertical scrolling. No editing is permitted, for this, check '''editbox'''; | |||
#'''tailboxbg''': the '''talibox''', but treated specially if there are other widgets opened on the screen: the other boxes needs to be addressed first by the user; | |||
#'''textbox''': like '''tailbox''', but with vertical scrolling too. No editing is permitted, for this, check '''editbox'''; | |||
#'''timebox''': 3 fields are shown: hour, minute and seconds. The user can then select the desired values; | |||
#'''treeview''': it's like a '''radiolist''', but the items have a hierarchy between them; | |||
#'''yesno''': the same as a '''msgbox''', but requires the user to answer the message with "yes" or "no". | |||
== See also == | == See also == |
Revision as of 12:53, 25 November 2016
Not to be confused with dialog box.Dialog - editbox widget | |
Original author(s) | Savio Lam |
---|---|
Developer(s) | Thomas E. Dickey |
Stable release | 1.1.20070704 / July 4, 2007 (2007-07-04) |
Repository | |
Operating system | Unix, Linux, POSIX |
Type | Shell scripts |
License | LGPL |
Website | Dialog project page |
Dialog is an application used in shell scripts which displays text user interface widgets. It uses the curses or ncurses library. The latter provides users with the ability to use a mouse, e.g., in an xterm.
Dialog was created by Savio Lam (first reported version 0.3 was in 1994). It was further modified by several people. Since 1999 it has been maintained (and rewritten) by Thomas Dickey.
At least one fork exists, a FreeBSD-only split into application and library in late 1994. One might also consider lxdialog (part of menuconfig), except that it has been reduced to fragments that can no longer run dialog scripts.
There are several programs inspired by dialog; not all read the same scripts. The most well-known are Xdialog and whiptail.
Dialog boxes
Dialog has 29 avaiable dialog boxes to be used by the writer of the shell scripts:
- buildlist: shows 2 lists, one for selected items (right), other for unselected items (left). The user moves the items between the lists;
- calendar: shows 3 windows on the dialog box: 1 for month, 1 for year, and 1 for the days. The user can then select the date;
- checklist: like a menu, but the user can select multiple otpions, instead of just 1;
- dselect: the fselect, but without the file window, as only the directory needs to be selected;
- editbox: exhibit, on the screen, a copy of the specified file. The user can then edit it;
- form: build a form on the screen, with items (labels) and values (fields). The user can then input data on the fields, to be attributed to the items (labels);
- fselect: shows 3 windows on the dialog box: 1 with a directory list, 1 with a file list, and 1 with the file path. The user can then select/type a file path;
- gauge: a windows with a progress bar on it's bottom. Each increase of 1% updates the progress bar;
- infobox: it's a msgbox, but dialog just show it, and don't clear or receive any input - the shell script that invoked the infobox should treat this;
- inputbox: a window for the user to input text;
- inputmenu: a menu, but with input capability, like a form;
- menu: a list of names (tags) and descriptions (items) for the user to choose from;
- mixedform: a form, but where the developer of the script can declare data types for the labels ("readonly") and fields ("hidden");
- mixedgauge: it shows a gauge, but also a list of items on top, that detail the progress;
- msgbox: like a yesno box, but without yes/no. It only has an "OK" button;
- passwordbox: the same as the inputbox, except that the text entered by the user is treated like a password (*****);
- passwordform: the same as the form, except that all fields are treated like passwords (*****);
- pause: a gauge with a final countdown: the progress bar decreases with time, until the time is over and the box closes itself. The user can also press "OK", "CANCEL", or ESC for the same effect earlier;
- prgbox: like the programbox. The user can press ENTER after the command completes itself;
- programbox: like the progressbox, but with an "OK" button after the command completes itself;
- progressbox: shows the output of the specified command. It's not a progress bar, for this, check gauge;
- radiolist: like the checklist, but only one option can remain selected, at a time;
- rangebox: show a progress bar like the gauge, but it does not shows progress. Instead, the user should select a value inside it's range;
- tailbox: display the content of the specified file, but without vertical scrolling. No editing is permitted, for this, check editbox;
- tailboxbg: the talibox, but treated specially if there are other widgets opened on the screen: the other boxes needs to be addressed first by the user;
- textbox: like tailbox, but with vertical scrolling too. No editing is permitted, for this, check editbox;
- timebox: 3 fields are shown: hour, minute and seconds. The user can then select the desired values;
- treeview: it's like a radiolist, but the items have a hierarchy between them;
- yesno: the same as a msgbox, but requires the user to answer the message with "yes" or "no".
See also
References
- Phil Hughes (April 1994). "Interview with Patrick Volkerding". Linux Journal.
- Jeff Tranter (September 1994). "Dialog: An Introductory Tutorial". Linux Journal.
- "Dialog 0.3 manual page". 1994-01-10.
- "Dialog Change Log".
- "FreeBSD CVS src/gnu/usr.bin/dialog/".
- "FreeBSD library manual for dialog".
- http://invisible-island.net/dialog/manpage/dialog.html#h2-DESCRIPTION - Retrieved on 2016-11-25.