whiptail or dialog











up vote
12
down vote

favorite
6












I am going to create script which will use user input, so I decided to use whiptail, but little bit confuse that which one is portable and will work in ubuntu 10.x and higher and CentOs5.x and higher.



I know read, but I want dialog like tool, so if anybody know any alternative just let me know.










share|improve this question


























    up vote
    12
    down vote

    favorite
    6












    I am going to create script which will use user input, so I decided to use whiptail, but little bit confuse that which one is portable and will work in ubuntu 10.x and higher and CentOs5.x and higher.



    I know read, but I want dialog like tool, so if anybody know any alternative just let me know.










    share|improve this question
























      up vote
      12
      down vote

      favorite
      6









      up vote
      12
      down vote

      favorite
      6






      6





      I am going to create script which will use user input, so I decided to use whiptail, but little bit confuse that which one is portable and will work in ubuntu 10.x and higher and CentOs5.x and higher.



      I know read, but I want dialog like tool, so if anybody know any alternative just let me know.










      share|improve this question













      I am going to create script which will use user input, so I decided to use whiptail, but little bit confuse that which one is portable and will work in ubuntu 10.x and higher and CentOs5.x and higher.



      I know read, but I want dialog like tool, so if anybody know any alternative just let me know.







      bash shell-script whiptail dialog






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Feb 13 '13 at 9:25









      Rahul Patil

      14.7k186082




      14.7k186082






















          4 Answers
          4






          active

          oldest

          votes

















          up vote
          12
          down vote



          accepted










          whiptail is installed by default on most deb-based systems, while dialog is not.



          Afair, on rpm-based whiptail is also default dialog app.



          I guess it matters for you.



          So whiptail is the right choice from point of portability.



          Also whiptail is based on newt, while dialog is based on ncurses. From my point of view, the first one is more beautiful (:






          share|improve this answer





















          • good to know extra info :)
            – Rahul Patil
            Feb 13 '13 at 14:20






          • 2




            The script might be more or less portable, but the dialog program itself is no less portable than whiptail.
            – Thomas Dickey
            Oct 29 '15 at 22:45


















          up vote
          8
          down vote













          Why not use both:



          (Requires bash 4)



          #!/usr/bin/env bash
          t(){ type "$1"&>/dev/null;}
          function Menu.Show {
          local DIA DIA_ESC; while :; do
          t whiptail && DIA=whiptail && break
          t dialog && DIA=dialog && DIA_ESC=-- && break
          exec date +s"No dialog program found"
          done; declare -A o="$1"; shift
          $DIA --backtitle "${o[backtitle]}" --title "${o[title]}"
          --menu "${o[question]}" 0 0 0 $DIA_ESC "$@"; }



          Menu.Show '([backtitle]="Backtitle"
          [title]="Title"
          [question]="Please choose:")'

          "Option A" "Stuff...."
          "Option B" "Stuff...."
          "Option C" "Stuff...."





          share|improve this answer























          • So complicated. Why not something like this: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog". Then the op can just do ` $window --title foo --msgbox bar 87 5 `.
            – James M. Lay
            Jul 29 '17 at 17:42


















          up vote
          6
          down vote













          (This is not necessarily an answer, but I posted as such due to the amount of code. I have no practical experience with whiptail. Will delete this later if a whiptail user posts a tested solution on this.)



          As Bash Shell Scripting/Whiptail writes:




          From its README: whiptail is designed to be drop-in compatible with
          dialog(1), but has less features: some dialog boxes are not
          implemented, such as tailbox, timebox, calendarbox, etc.




          That means you not necessarily have to decide for one or the other. Just detect which one is available then let the script use it:



          # check whether whiptail or dialog is installed
          # (choosing the first command found)
          read dialog <<< "$(which whiptail dialog 2> /dev/null)"

          # exit if none found
          [[ "$dialog" ]] || {
          echo 'neither whiptail nor dialog found' >&2
          exit 1
          }

          # just use whichever was found
          "$dialog" --msgbox "Message displayed with $dialog" 0 0


          (Yes, the above detection will fail on tools installed inside directories with name containing newline characters. I just kept it simple.)






          share|improve this answer






























            up vote
            1
            down vote













            According to the COMPATIBILITY section of the dialog(1) manual page:




            Then there is whiptail. For practical purposes, it is maintained by Debian (very little work is done by its upstream developers). Its documentation (README.whiptail) claims




            whiptail(1) is a lightweight replacement for dialog(1),
            to provide dialog boxes for shell scripts.
            It is built on the newt windowing library rather than the ncurses library, allowing it to be smaller in embedded environments such as installers,
            rescue disks, etc.



            whiptail is designed to be drop-in compatible with dialog, but has less features: some dialog boxes are not implemented, such as tailbox, timebox, calendarbox, etc.




            Comparing actual sizes (Debian testing, 2007/1/10): The total of sizes for whiptail, the newt, popt and slang libraries is 757 KB. The comparable number for dialog (counting ncurses) is 520 KB. Disregard the first paragraph.



            The second paragraph is misleading, since *whiptail** also does not work for common options of dialog, such as the gauge box. whiptail is less compatible with dialog than the original mid-1990s dialog 0.4 program.



            whiptail's manpage borrows features from dialog, e.g., but oddly cites only dialog versions up to 0.4 (1994) as a source. That is, its manpage refers to features which were borrowed from more recent versions of dialog, e.g.,




            • --gauge (from 0.5)


            • --passwordbox (from Debian changes in 1999),


            • --default-item (from dialog 2000/02/22),


            • --output-fd (from dialog 2002/08/14).



            Somewhat humorously, one may note that the popt feature (undocumented in its manpage) of using a "--" as an escape was documented in dialog's manpage about a year before it was mentioned in whiptail's manpage. whiptail's manpage incorrectly attributes that to getopt (and is inaccurate anyway).







            share|improve this answer





















              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "106"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f64627%2fwhiptail-or-dialog%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              4 Answers
              4






              active

              oldest

              votes








              4 Answers
              4






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes








              up vote
              12
              down vote



              accepted










              whiptail is installed by default on most deb-based systems, while dialog is not.



              Afair, on rpm-based whiptail is also default dialog app.



              I guess it matters for you.



              So whiptail is the right choice from point of portability.



              Also whiptail is based on newt, while dialog is based on ncurses. From my point of view, the first one is more beautiful (:






              share|improve this answer





















              • good to know extra info :)
                – Rahul Patil
                Feb 13 '13 at 14:20






              • 2




                The script might be more or less portable, but the dialog program itself is no less portable than whiptail.
                – Thomas Dickey
                Oct 29 '15 at 22:45















              up vote
              12
              down vote



              accepted










              whiptail is installed by default on most deb-based systems, while dialog is not.



              Afair, on rpm-based whiptail is also default dialog app.



              I guess it matters for you.



              So whiptail is the right choice from point of portability.



              Also whiptail is based on newt, while dialog is based on ncurses. From my point of view, the first one is more beautiful (:






              share|improve this answer





















              • good to know extra info :)
                – Rahul Patil
                Feb 13 '13 at 14:20






              • 2




                The script might be more or less portable, but the dialog program itself is no less portable than whiptail.
                – Thomas Dickey
                Oct 29 '15 at 22:45













              up vote
              12
              down vote



              accepted







              up vote
              12
              down vote



              accepted






              whiptail is installed by default on most deb-based systems, while dialog is not.



              Afair, on rpm-based whiptail is also default dialog app.



              I guess it matters for you.



              So whiptail is the right choice from point of portability.



              Also whiptail is based on newt, while dialog is based on ncurses. From my point of view, the first one is more beautiful (:






              share|improve this answer












              whiptail is installed by default on most deb-based systems, while dialog is not.



              Afair, on rpm-based whiptail is also default dialog app.



              I guess it matters for you.



              So whiptail is the right choice from point of portability.



              Also whiptail is based on newt, while dialog is based on ncurses. From my point of view, the first one is more beautiful (:







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Feb 13 '13 at 10:08









              rush

              19k46194




              19k46194












              • good to know extra info :)
                – Rahul Patil
                Feb 13 '13 at 14:20






              • 2




                The script might be more or less portable, but the dialog program itself is no less portable than whiptail.
                – Thomas Dickey
                Oct 29 '15 at 22:45


















              • good to know extra info :)
                – Rahul Patil
                Feb 13 '13 at 14:20






              • 2




                The script might be more or less portable, but the dialog program itself is no less portable than whiptail.
                – Thomas Dickey
                Oct 29 '15 at 22:45
















              good to know extra info :)
              – Rahul Patil
              Feb 13 '13 at 14:20




              good to know extra info :)
              – Rahul Patil
              Feb 13 '13 at 14:20




              2




              2




              The script might be more or less portable, but the dialog program itself is no less portable than whiptail.
              – Thomas Dickey
              Oct 29 '15 at 22:45




              The script might be more or less portable, but the dialog program itself is no less portable than whiptail.
              – Thomas Dickey
              Oct 29 '15 at 22:45












              up vote
              8
              down vote













              Why not use both:



              (Requires bash 4)



              #!/usr/bin/env bash
              t(){ type "$1"&>/dev/null;}
              function Menu.Show {
              local DIA DIA_ESC; while :; do
              t whiptail && DIA=whiptail && break
              t dialog && DIA=dialog && DIA_ESC=-- && break
              exec date +s"No dialog program found"
              done; declare -A o="$1"; shift
              $DIA --backtitle "${o[backtitle]}" --title "${o[title]}"
              --menu "${o[question]}" 0 0 0 $DIA_ESC "$@"; }



              Menu.Show '([backtitle]="Backtitle"
              [title]="Title"
              [question]="Please choose:")'

              "Option A" "Stuff...."
              "Option B" "Stuff...."
              "Option C" "Stuff...."





              share|improve this answer























              • So complicated. Why not something like this: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog". Then the op can just do ` $window --title foo --msgbox bar 87 5 `.
                – James M. Lay
                Jul 29 '17 at 17:42















              up vote
              8
              down vote













              Why not use both:



              (Requires bash 4)



              #!/usr/bin/env bash
              t(){ type "$1"&>/dev/null;}
              function Menu.Show {
              local DIA DIA_ESC; while :; do
              t whiptail && DIA=whiptail && break
              t dialog && DIA=dialog && DIA_ESC=-- && break
              exec date +s"No dialog program found"
              done; declare -A o="$1"; shift
              $DIA --backtitle "${o[backtitle]}" --title "${o[title]}"
              --menu "${o[question]}" 0 0 0 $DIA_ESC "$@"; }



              Menu.Show '([backtitle]="Backtitle"
              [title]="Title"
              [question]="Please choose:")'

              "Option A" "Stuff...."
              "Option B" "Stuff...."
              "Option C" "Stuff...."





              share|improve this answer























              • So complicated. Why not something like this: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog". Then the op can just do ` $window --title foo --msgbox bar 87 5 `.
                – James M. Lay
                Jul 29 '17 at 17:42













              up vote
              8
              down vote










              up vote
              8
              down vote









              Why not use both:



              (Requires bash 4)



              #!/usr/bin/env bash
              t(){ type "$1"&>/dev/null;}
              function Menu.Show {
              local DIA DIA_ESC; while :; do
              t whiptail && DIA=whiptail && break
              t dialog && DIA=dialog && DIA_ESC=-- && break
              exec date +s"No dialog program found"
              done; declare -A o="$1"; shift
              $DIA --backtitle "${o[backtitle]}" --title "${o[title]}"
              --menu "${o[question]}" 0 0 0 $DIA_ESC "$@"; }



              Menu.Show '([backtitle]="Backtitle"
              [title]="Title"
              [question]="Please choose:")'

              "Option A" "Stuff...."
              "Option B" "Stuff...."
              "Option C" "Stuff...."





              share|improve this answer














              Why not use both:



              (Requires bash 4)



              #!/usr/bin/env bash
              t(){ type "$1"&>/dev/null;}
              function Menu.Show {
              local DIA DIA_ESC; while :; do
              t whiptail && DIA=whiptail && break
              t dialog && DIA=dialog && DIA_ESC=-- && break
              exec date +s"No dialog program found"
              done; declare -A o="$1"; shift
              $DIA --backtitle "${o[backtitle]}" --title "${o[title]}"
              --menu "${o[question]}" 0 0 0 $DIA_ESC "$@"; }



              Menu.Show '([backtitle]="Backtitle"
              [title]="Title"
              [question]="Please choose:")'

              "Option A" "Stuff...."
              "Option B" "Stuff...."
              "Option C" "Stuff...."






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Jul 3 '17 at 12:56









              B Layer

              3,9741525




              3,9741525










              answered May 26 '13 at 8:26









              Orwellophile

              27933




              27933












              • So complicated. Why not something like this: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog". Then the op can just do ` $window --title foo --msgbox bar 87 5 `.
                – James M. Lay
                Jul 29 '17 at 17:42


















              • So complicated. Why not something like this: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog". Then the op can just do ` $window --title foo --msgbox bar 87 5 `.
                – James M. Lay
                Jul 29 '17 at 17:42
















              So complicated. Why not something like this: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog". Then the op can just do ` $window --title foo --msgbox bar 87 5 `.
              – James M. Lay
              Jul 29 '17 at 17:42




              So complicated. Why not something like this: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog". Then the op can just do ` $window --title foo --msgbox bar 87 5 `.
              – James M. Lay
              Jul 29 '17 at 17:42










              up vote
              6
              down vote













              (This is not necessarily an answer, but I posted as such due to the amount of code. I have no practical experience with whiptail. Will delete this later if a whiptail user posts a tested solution on this.)



              As Bash Shell Scripting/Whiptail writes:




              From its README: whiptail is designed to be drop-in compatible with
              dialog(1), but has less features: some dialog boxes are not
              implemented, such as tailbox, timebox, calendarbox, etc.




              That means you not necessarily have to decide for one or the other. Just detect which one is available then let the script use it:



              # check whether whiptail or dialog is installed
              # (choosing the first command found)
              read dialog <<< "$(which whiptail dialog 2> /dev/null)"

              # exit if none found
              [[ "$dialog" ]] || {
              echo 'neither whiptail nor dialog found' >&2
              exit 1
              }

              # just use whichever was found
              "$dialog" --msgbox "Message displayed with $dialog" 0 0


              (Yes, the above detection will fail on tools installed inside directories with name containing newline characters. I just kept it simple.)






              share|improve this answer



























                up vote
                6
                down vote













                (This is not necessarily an answer, but I posted as such due to the amount of code. I have no practical experience with whiptail. Will delete this later if a whiptail user posts a tested solution on this.)



                As Bash Shell Scripting/Whiptail writes:




                From its README: whiptail is designed to be drop-in compatible with
                dialog(1), but has less features: some dialog boxes are not
                implemented, such as tailbox, timebox, calendarbox, etc.




                That means you not necessarily have to decide for one or the other. Just detect which one is available then let the script use it:



                # check whether whiptail or dialog is installed
                # (choosing the first command found)
                read dialog <<< "$(which whiptail dialog 2> /dev/null)"

                # exit if none found
                [[ "$dialog" ]] || {
                echo 'neither whiptail nor dialog found' >&2
                exit 1
                }

                # just use whichever was found
                "$dialog" --msgbox "Message displayed with $dialog" 0 0


                (Yes, the above detection will fail on tools installed inside directories with name containing newline characters. I just kept it simple.)






                share|improve this answer

























                  up vote
                  6
                  down vote










                  up vote
                  6
                  down vote









                  (This is not necessarily an answer, but I posted as such due to the amount of code. I have no practical experience with whiptail. Will delete this later if a whiptail user posts a tested solution on this.)



                  As Bash Shell Scripting/Whiptail writes:




                  From its README: whiptail is designed to be drop-in compatible with
                  dialog(1), but has less features: some dialog boxes are not
                  implemented, such as tailbox, timebox, calendarbox, etc.




                  That means you not necessarily have to decide for one or the other. Just detect which one is available then let the script use it:



                  # check whether whiptail or dialog is installed
                  # (choosing the first command found)
                  read dialog <<< "$(which whiptail dialog 2> /dev/null)"

                  # exit if none found
                  [[ "$dialog" ]] || {
                  echo 'neither whiptail nor dialog found' >&2
                  exit 1
                  }

                  # just use whichever was found
                  "$dialog" --msgbox "Message displayed with $dialog" 0 0


                  (Yes, the above detection will fail on tools installed inside directories with name containing newline characters. I just kept it simple.)






                  share|improve this answer














                  (This is not necessarily an answer, but I posted as such due to the amount of code. I have no practical experience with whiptail. Will delete this later if a whiptail user posts a tested solution on this.)



                  As Bash Shell Scripting/Whiptail writes:




                  From its README: whiptail is designed to be drop-in compatible with
                  dialog(1), but has less features: some dialog boxes are not
                  implemented, such as tailbox, timebox, calendarbox, etc.




                  That means you not necessarily have to decide for one or the other. Just detect which one is available then let the script use it:



                  # check whether whiptail or dialog is installed
                  # (choosing the first command found)
                  read dialog <<< "$(which whiptail dialog 2> /dev/null)"

                  # exit if none found
                  [[ "$dialog" ]] || {
                  echo 'neither whiptail nor dialog found' >&2
                  exit 1
                  }

                  # just use whichever was found
                  "$dialog" --msgbox "Message displayed with $dialog" 0 0


                  (Yes, the above detection will fail on tools installed inside directories with name containing newline characters. I just kept it simple.)







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited May 4 '16 at 9:04









                  Florian

                  158




                  158










                  answered Feb 13 '13 at 10:58









                  manatwork

                  21.5k38284




                  21.5k38284






















                      up vote
                      1
                      down vote













                      According to the COMPATIBILITY section of the dialog(1) manual page:




                      Then there is whiptail. For practical purposes, it is maintained by Debian (very little work is done by its upstream developers). Its documentation (README.whiptail) claims




                      whiptail(1) is a lightweight replacement for dialog(1),
                      to provide dialog boxes for shell scripts.
                      It is built on the newt windowing library rather than the ncurses library, allowing it to be smaller in embedded environments such as installers,
                      rescue disks, etc.



                      whiptail is designed to be drop-in compatible with dialog, but has less features: some dialog boxes are not implemented, such as tailbox, timebox, calendarbox, etc.




                      Comparing actual sizes (Debian testing, 2007/1/10): The total of sizes for whiptail, the newt, popt and slang libraries is 757 KB. The comparable number for dialog (counting ncurses) is 520 KB. Disregard the first paragraph.



                      The second paragraph is misleading, since *whiptail** also does not work for common options of dialog, such as the gauge box. whiptail is less compatible with dialog than the original mid-1990s dialog 0.4 program.



                      whiptail's manpage borrows features from dialog, e.g., but oddly cites only dialog versions up to 0.4 (1994) as a source. That is, its manpage refers to features which were borrowed from more recent versions of dialog, e.g.,




                      • --gauge (from 0.5)


                      • --passwordbox (from Debian changes in 1999),


                      • --default-item (from dialog 2000/02/22),


                      • --output-fd (from dialog 2002/08/14).



                      Somewhat humorously, one may note that the popt feature (undocumented in its manpage) of using a "--" as an escape was documented in dialog's manpage about a year before it was mentioned in whiptail's manpage. whiptail's manpage incorrectly attributes that to getopt (and is inaccurate anyway).







                      share|improve this answer

























                        up vote
                        1
                        down vote













                        According to the COMPATIBILITY section of the dialog(1) manual page:




                        Then there is whiptail. For practical purposes, it is maintained by Debian (very little work is done by its upstream developers). Its documentation (README.whiptail) claims




                        whiptail(1) is a lightweight replacement for dialog(1),
                        to provide dialog boxes for shell scripts.
                        It is built on the newt windowing library rather than the ncurses library, allowing it to be smaller in embedded environments such as installers,
                        rescue disks, etc.



                        whiptail is designed to be drop-in compatible with dialog, but has less features: some dialog boxes are not implemented, such as tailbox, timebox, calendarbox, etc.




                        Comparing actual sizes (Debian testing, 2007/1/10): The total of sizes for whiptail, the newt, popt and slang libraries is 757 KB. The comparable number for dialog (counting ncurses) is 520 KB. Disregard the first paragraph.



                        The second paragraph is misleading, since *whiptail** also does not work for common options of dialog, such as the gauge box. whiptail is less compatible with dialog than the original mid-1990s dialog 0.4 program.



                        whiptail's manpage borrows features from dialog, e.g., but oddly cites only dialog versions up to 0.4 (1994) as a source. That is, its manpage refers to features which were borrowed from more recent versions of dialog, e.g.,




                        • --gauge (from 0.5)


                        • --passwordbox (from Debian changes in 1999),


                        • --default-item (from dialog 2000/02/22),


                        • --output-fd (from dialog 2002/08/14).



                        Somewhat humorously, one may note that the popt feature (undocumented in its manpage) of using a "--" as an escape was documented in dialog's manpage about a year before it was mentioned in whiptail's manpage. whiptail's manpage incorrectly attributes that to getopt (and is inaccurate anyway).







                        share|improve this answer























                          up vote
                          1
                          down vote










                          up vote
                          1
                          down vote









                          According to the COMPATIBILITY section of the dialog(1) manual page:




                          Then there is whiptail. For practical purposes, it is maintained by Debian (very little work is done by its upstream developers). Its documentation (README.whiptail) claims




                          whiptail(1) is a lightweight replacement for dialog(1),
                          to provide dialog boxes for shell scripts.
                          It is built on the newt windowing library rather than the ncurses library, allowing it to be smaller in embedded environments such as installers,
                          rescue disks, etc.



                          whiptail is designed to be drop-in compatible with dialog, but has less features: some dialog boxes are not implemented, such as tailbox, timebox, calendarbox, etc.




                          Comparing actual sizes (Debian testing, 2007/1/10): The total of sizes for whiptail, the newt, popt and slang libraries is 757 KB. The comparable number for dialog (counting ncurses) is 520 KB. Disregard the first paragraph.



                          The second paragraph is misleading, since *whiptail** also does not work for common options of dialog, such as the gauge box. whiptail is less compatible with dialog than the original mid-1990s dialog 0.4 program.



                          whiptail's manpage borrows features from dialog, e.g., but oddly cites only dialog versions up to 0.4 (1994) as a source. That is, its manpage refers to features which were borrowed from more recent versions of dialog, e.g.,




                          • --gauge (from 0.5)


                          • --passwordbox (from Debian changes in 1999),


                          • --default-item (from dialog 2000/02/22),


                          • --output-fd (from dialog 2002/08/14).



                          Somewhat humorously, one may note that the popt feature (undocumented in its manpage) of using a "--" as an escape was documented in dialog's manpage about a year before it was mentioned in whiptail's manpage. whiptail's manpage incorrectly attributes that to getopt (and is inaccurate anyway).







                          share|improve this answer












                          According to the COMPATIBILITY section of the dialog(1) manual page:




                          Then there is whiptail. For practical purposes, it is maintained by Debian (very little work is done by its upstream developers). Its documentation (README.whiptail) claims




                          whiptail(1) is a lightweight replacement for dialog(1),
                          to provide dialog boxes for shell scripts.
                          It is built on the newt windowing library rather than the ncurses library, allowing it to be smaller in embedded environments such as installers,
                          rescue disks, etc.



                          whiptail is designed to be drop-in compatible with dialog, but has less features: some dialog boxes are not implemented, such as tailbox, timebox, calendarbox, etc.




                          Comparing actual sizes (Debian testing, 2007/1/10): The total of sizes for whiptail, the newt, popt and slang libraries is 757 KB. The comparable number for dialog (counting ncurses) is 520 KB. Disregard the first paragraph.



                          The second paragraph is misleading, since *whiptail** also does not work for common options of dialog, such as the gauge box. whiptail is less compatible with dialog than the original mid-1990s dialog 0.4 program.



                          whiptail's manpage borrows features from dialog, e.g., but oddly cites only dialog versions up to 0.4 (1994) as a source. That is, its manpage refers to features which were borrowed from more recent versions of dialog, e.g.,




                          • --gauge (from 0.5)


                          • --passwordbox (from Debian changes in 1999),


                          • --default-item (from dialog 2000/02/22),


                          • --output-fd (from dialog 2002/08/14).



                          Somewhat humorously, one may note that the popt feature (undocumented in its manpage) of using a "--" as an escape was documented in dialog's manpage about a year before it was mentioned in whiptail's manpage. whiptail's manpage incorrectly attributes that to getopt (and is inaccurate anyway).








                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 2 days ago









                          Buo-Ren Lin

                          413




                          413






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Unix & Linux Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f64627%2fwhiptail-or-dialog%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Accessing regular linux commands in Huawei's Dopra Linux

                              Can't connect RFCOMM socket: Host is down

                              Kernel panic - not syncing: Fatal Exception in Interrupt