DIALOG – Script-driven curses widgets(1).txt

(33 KB) Pobierz
     __________________________________________________________________

   [5]http://invisible-island.net/
   Copyright © 1999-2015,2016 by Thomas E. Dickey
     __________________________________________________________________

                    DIALOG – Script-driven curses widgets

     * [6](top)
     * [7]Synopsis
     * [8]History
          + [9]Early History
          + [10]My Involvement...
          + [11]Dialog's ChangeLog
     * [12]Compatibility
          + [13]Older versions of dialog
          + [14]Xdialog
          + [15]whiptail
          + [16]gdialog
          + [17]zenity
          + [18]kdialog
     * [19]Documentation
     * [20]Download
     * [21]Screenshot
     * [22]Related Links
          + [23]Packages
          + [24]Programs
          + [25]Other
     * [26]Bugs

Synopsis

   Though similar in style to [27]CDK, it is different, being a
   script-interpreter which provides a set of curses widgets. Widgets are
   objects whose appearance and behavior can be customized. There is a
   much-reduced variation of dialog, called lxdialog, which is used in
   Linux kernel configuration.

History

  Early History

   Dialog was written by Savio Lam <lam836@cs.cuhk.hk> and modified by
   several people:

   CAPTION: Early Dialog History

   Date Version Developer Features
   1993/12/17 0.1 Savio Lam The options in the initial release of dialog
   were --inputbox, --msgbox, and --yesno.
   1994/01/03 0.2 Savio Lam Several options were added: --checklist,
   --clear, --infobox, --menu, --textbox, and --title.
   1994/01/13 0.3 Savio Lam This added simple color support, along with
   the --create-rc option to configure it at runtime.
   1994/06/11 0.4 Stuart Herbert This improved the color support,
   providing the 3-dimensional appearance by using shadows. It also added
   the --backtitle and --radiolist options.
   1994/10/08 0.4 fork FreeBSD developers Andrey A Chernov imported dialog
   0.4 into the FreeBSD source tree, splitting it into program- and
   library-sections.
     * Andrey A Chernov added a prgbox function to allow running a program
       via a pipe to a dialog box.
     * Anatoly A Orehovsky added a widget for displaying file-trees, e.g.,
       as produced by the find program as well as more general uses.
     * Marc van Kempen added a file-selector, as well as a different gauge
       widget.

   The main use of this version of dialog was reportedly [28]sysinstall.
   That was replaced by this version of dialog for FreeBSD 9.0 by Nathan
   Whitehorn and others. I made improvements to dialog to help with this
   starting [29]early in 2011, adding these options:

     --hfile, --hline, --prgbox, and --programbox.

   1994/11/07 0.5 Marc Ewing This added the --gauge and --separate-output
   options. It modified the --inputbox option to provide for an (optional)
   initial value. The dialog.pl file was added as an example.
   1995/01/28 0.6 Marc Ewing Only bug-fixes were made.
   1995/09/12 0.6c Florian La Roche Added mouse support by Rubini, dated
   1994. This also adapted changes from 0.5 or 0.6, adding the gauge
   widget (but misspelled). The misspelling propagated into cdialog.
   1995/08/17 0.6z John Gatewood Ham This added no new features. It
   modified the usage message to show only those features that were
   compiled-in.
   1996/01/15 0.9a Pasquale De Marco "Pako" This is cdialog, based on
   0.6c. It added many new options:
   --and-widget, --aspect, --beep, --beep-after, --begin, --cr-wrap,
   --no-kill, --print-maxsize, --print-size, --print-version, --size-err,
   --sleep, --tab-correct, --tab-len, --tailbox, and --tailboxbg.
   1996/01/16 0.69 Allesandro Rubini This is a fork of 0.6z, not used by
   later development.
   1997/01/09 0.6z John Gatewood Ham In my copy, the samples and docs were
   updated about a year later.
   2001/02/06 0.61a Thomas Regner This added a file-selector dialog option
   --file.
   The README states that it was distributed as a patch to 0.6z, however
   my copy was fully-patched (probably a copy of the tar-ball from which
   the patch was made).

   Vincent Stemen incorporated this work in the patches which he sent to
   me. That became the --fselect widget.

   Later, [30]in 2004 I later added a different option named --file.
   2001/03/16 [31]0.7 Vincent Stemen This is based on 0.61a, intentionally
   between 0.6z and 0.9a-20010115.
   Vincent sent patches to me [32]in 2001 to add his changes to my ongoing
   snapshots, so that this fork's changes were not lost.

  My Involvement

   I became involved with dialog for the same reason as [33]Cdk: they were
   the most well-known applications using [34]ncurses, and I realized that
   they were not being maintained well enough to reflect ncurses'
   capabilities.

   Initially, I made fixes and reviewed the code to ensure that problems
   reported were not related to [35]ncurses. After that, I resumed
   development, adding new widget types. See the [36]changelog for
   details.

   [37]At the end of 2005, I relicensed dialog as LGPL. It was GPL before,
   which made it (the dialog library in particular) unusable by developers
   of non-GPL programs. After several requests, I discussed this with
   Santiago Vila (the Debian package maintainer), indicating my intention
   to audit the code, and remove as needed any fragments predating my
   work.

   I reviewed the code (studying the changes using [38]diffstat and
   [39]tkdiff) and found that over the course of development and
   improvements, I had replaced all of the original program. After
   accounting for the license notice itself, blank lines and curly braces,
   there was no trace of the 0.9a+Debian version.

   Because I had replaced the original program with my own work, that made
   me an "original author" of dialog, and allowed me to relicense it.
     __________________________________________________________________

  Dialog's ChangeLog

     * [40]the changelog in html form
     * [41]CHANGES (flat-text changelog)

   dialog has (at the end of 2012) 99 options shown in its usage message.
   Of those, 29 set a box (widget) type.

   CAPTION: Dialog widget-options

        Name            Version
   --buildlist    [42]1.2 2012/12/30
   --calendar     [43]0.9b 2001/04/15
   --checklist    0.2
   --dselect      [44]1.1 2007/02/27
   --editbox      [45]1.1 2007/02/27
   --form         [46]1.0 2003/08/18
   --fselect      [47]1.1 2007/02/27
   --gauge        0.5
   --infobox      0.2
   --inputbox     0.1
   --inputmenu    [48]1.0 2003/01/30
   --menu         0.2
   --mixedform    [49]1.1 2007/02/27
   --mixedgauge   [50]1.1 2007/02/27
   --msgbox       0.1
   --passwordbox  [51]0.9a 1999/12/25
   --passwordform [52]1.0 2005/12/07
   --pause        [53]1.0 2004/12/19
   --prgbox       [54]1.1 2011/03/02
   --programbox   [55]1.1 2011/03/02
   --progressbox  [56]1.1 2006/01/19
   --radiolist    0.4
   --rangebox     [57]1.2 2012/12/30
   --tailbox      0.9a
   --tailboxbg    0.9a
   --textbox      0.2
   --timebox      [58]0.9b 2001/04/15
   --treeview     [59]1.2 2012/12/30
   --yesno        0.1

   The other visible options set common variables used by the widgets:

   CAPTION: Dialog common options

          Name              Version
   --ascii-lines      [60]1.1 2007/02/27
   --and-widget       0.9a
   --aspect           0.9a
   --backtitle        0.4
   --beep-after       0.9a
   --beep             0.9a
   --begin            0.9a
   --cancel-label     [61]0.9a 2001/12/02
   --clear            0.2
   --colors           [62]0.9b 2002/08/14
   --column-separator [63]1.1 2008/07/27
   --cr-wrap          0.9a
   --create-rc        0.4
   --date-format      [64]1.1 2010/01/19
   --default-button   [65]1.1 2012/07/03
   --default-item     [66]0.9a 2000/02/22
   --defaultno        [67]0.9a 1999/12/25
   --exit-label       [68]0.9b 2002/05/19
   --extra-button     [69]0.9b 2002/06/22
   --extra-label      [70]0.9b 2002/06/22
   --help-button      [71]0.9b 2002/03/09
   --help-label       [72]0.9b 2002/03/09
   --help-status      [73]0.9b 2003/11/26
   --hfile            [74]1.1 2011/06/30
   --hline            [75]1.1 2011/06/30
   --ignore           [76]0.9b 2001/10/14
   --input-fd         [77]0.9b 2003/11/26
   --insecure         [78]0.9b 2003/11/26
   --item-help        [79]0.9b 2000/10/08
   --keep-tite        [80]1.1 2007/02/27
   --keep-window      [81]0.9b 2003/11/26
   --max-input        [82]0.9a 2002/03/09
   --no-cancel        [83]0.9b 2000/12/12
   --no-collapse      [84]0.9b 2002/05/19
   --no-items         [85]1.2 20121230
   --no-kill          0.9a
   --no-label         [86]0.9a 2001/12/02
   --no-lines         [87]1.1 2007/02/27
   --no-mouse         [88]1.1 2011/01/18
   --no-nl-expand     [89]1.1 2011/06/30
   --no-ok            [90]1.1 2007/09/30
   --no-shadow        0.9a
   --no-tags          [91]1.2 20121230
   --no-items         [92]1.2 20121230
   --nook             [93]1.1 2007/09/30
   --notags           [94]1.2 20121230
   --ok-label         [95]0.9a 2001/12/02
   --output-fd        [96]0.9b 2002/08/14
   --output-separator [97]1.1 2008/07/27
   --print-maxsize    0.9a
   --print-size       0.9a
   --print-version    0.9a
   --quoted           [98]1.1 2008/07/27
   --scrollbar        [99]1.1 2010/01/19
   --separate-output  0.5
   --separate-widget  0.9a
   --shadow           0.9a
   --single-quoted    [100]0.9b 2004/06/06
   --size-err         0.9a
   --sleep            0.9a
   --stderr           [101]0.9a 2000/07/02
   --stdout           [102]0.9a 2000/07/02
   --tab-correct      0.9a
   --tab-len          0.9a
   --time-format      [103]1.1 2010/01/19
   --timeout          [104]0.9a 2002/03/09
   --title            0.2
   --trace            [105]1.1 2007/02/27
   --trim             [106]0.9a 2001/10/14
   --version          [107]0.9a 2000/0...
Zgłoś jeśli naruszono regulamin