प्रश्न में स्क्रीनशॉट व्हिप्टेल (एक कार्यात्मक रूप से कम किए गए प्रोग्राम की नकल करते हुए संवाद , ncurses के बजाय newt का उपयोग करते हुए ) जैसा दिखता है । जिस तरह से शीर्षक और बटन प्रदान किए जाते हैं, उन्हें प्रत्येक कार्यक्रम में बनाया जाता है, जिससे वे अलग दिखते हैं।
यहाँ एक स्क्रिप्ट है जो मूल स्क्रीनशॉट को डुप्लिकेट या डायलॉग के लिए डुप्लिकेट करती है:
#!/bin/sh
: ${DIALOG:=dialog}
case "$DIALOG" in
*dialog*)
OPTS="$OPTS --cr-wrap"
high=10
;;
*whiptail*)
high=12
;;
esac
rows=$(stty size | cut -d' ' -f1)
[ -z "$rows" ] && rows=$high
[ $rows -gt $high ] && rows=$high
cols=$(stty size | cut -d' ' -f2)
$DIALOG --backtitle "Package configuration" \
--title "Configuring sun-java6-jre" \
$OPTS \
--yesno '\nIn order to install this package, you must accept the license terms, the "Operating System Distributor License for Java" (DLJ), v1.1. Not accepting will cancel the installation.\n\nDo you accept the DLJ license terms?' $rows $((cols - 5))
और तुलना के लिए, स्क्रीनशॉट के साथ whiptail:
और संवाद के साथ:
शीर्षक और बटनों की अलग-अलग उपस्थिति के अलावा, संवाद डिफ़ॉल्ट रूप से अलग-अलग रंगों का उपयोग करता है (हालांकि यह कॉन्फ़िगर करने योग्य है- स्क्रीनशॉट देखें ), और यह स्क्रीन पर कम लाइनों का उपयोग करता है।
डायलॉग (और व्हिपटेल) लाइनों, रंगों आदि के प्रदर्शन के प्रबंधन के लिए पुस्तकालयों का उपयोग करते हैं, लेकिन आप रेड हैट एनाकोंडा कार्यक्रम में इस्तेमाल किए गए न्यूट को एक साझा पुस्तकालय के रूप में भी देख सकते हैं जिसे अजगर (उसी रूप के साथ) कहा जाता है । उसी पंक्तियों के साथ, कर्नेल कॉन्फ़िगरेशन प्रोग्राम संवाद की (कट-डाउन) कॉपी के रूप में शुरू हुआ, और फिर साझा लाइब्रेरी (मूल lxdialog
कार्यक्रम के बिना ) का उपयोग करके सुविधाओं में विकसित हुआ, जैसे कि न्यूटन का उपयोग अजगर से किया जाता है।
बैश से - आप सबसे अधिक इस्तेमाल की जाने वाली सुविधाओं के लिए या तो डायलॉग या व्हिपटेल का उपयोग कर सकते हैं। किसी ने उन (पर्ल में) के लिए एक रैपर लिखा था, स्क्रिप्ट को अधिक आसानी से उन या कुछ अन्य लोगों के उपयोग की अनुमति देने के लिए, लेकिन आप सीधे डायलॉग का उपयोग करने से बेहतर हैं क्योंकि पर्ल मॉड्यूल अनिवार्य रूप से सामान्य-भाजक है।
संवाद स्रोतों में कमांड-लाइन विकल्पों में से अधिकांश के साथ सभी विगेट्स के उदाहरण शामिल हैं:
cdialog (ComeOn Dialog!) version 1.3-20160424
Copyright 2000-2015,2016 Thomas E. Dickey
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* Display dialog boxes from shell scripts *
Usage: cdialog <options> { --and-widget <options> }
where options are "common" options, followed by "box" options
Special options:
[--create-rc "file"]
Common options:
[--ascii-lines] [--aspect <ratio>] [--backtitle <backtitle>] [--beep]
[--beep-after] [--begin <y> <x>] [--cancel-label <str>] [--clear]
[--colors] [--column-separator <str>] [--cr-wrap] [--date-format <str>]
[--default-button <str>] [--default-item <str>] [--defaultno]
[--exit-label <str>] [--extra-button] [--extra-label <str>]
[--help-button] [--help-label <str>] [--help-status] [--help-tags]
[--hfile <str>] [--hline <str>] [--ignore] [--input-fd <fd>]
[--insecure] [--item-help] [--keep-tite] [--keep-window] [--last-key]
[--max-input <n>] [--no-cancel] [--no-collapse] [--no-cr-wrap]
[--no-items] [--no-kill] [--no-label <str>] [--no-lines] [--no-mouse]
[--no-nl-expand] [--no-ok] [--no-shadow] [--no-tags] [--nook]
[--ok-label <str>] [--output-fd <fd>] [--output-separator <str>]
[--print-maxsize] [--print-size] [--print-version] [--quoted]
[--scrollbar] [--separate-output] [--separate-widget <str>] [--shadow]
[--single-quoted] [--size-err] [--sleep <secs>] [--stderr] [--stdout]
[--tab-correct] [--tab-len <n>] [--time-format <str>] [--timeout <secs>]
[--title <title>] [--trace <file>] [--trim] [--version] [--visit-items]
[--week-start <str>] [--yes-label <str>]
Box options:
--buildlist <text> <height> <width> <list-height> <tag1> <item1> <status1>...
--calendar <text> <height> <width> <day> <month> <year>
--checklist <text> <height> <width> <list height> <tag1> <item1> <status1>...
--dselect <directory> <height> <width>
--editbox <file> <height> <width>
--form <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>...
--fselect <filepath> <height> <width>
--gauge <text> <height> <width> [<percent>]
--infobox <text> <height> <width>
--inputbox <text> <height> <width> [<init>]
--inputmenu <text> <height> <width> <menu height> <tag1> <item1>...
--menu <text> <height> <width> <menu height> <tag1> <item1>...
--mixedform <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1> <itype>...
--mixedgauge <text> <height> <width> <percent> <tag1> <item1>...
--msgbox <text> <height> <width>
--passwordbox <text> <height> <width> [<init>]
--passwordform <text> <height> <width> <form height> <label1> <l_y1> <l_x1> <item1> <i_y1> <i_x1> <flen1> <ilen1>...
--pause <text> <height> <width> <seconds>
--prgbox <text> <command> <height> <width>
--programbox <text> <height> <width>
--progressbox <text> <height> <width>
--radiolist <text> <height> <width> <list height> <tag1> <item1> <status1>...
--rangebox <text> <height> <width> <min-value> <max-value> <default-value>
--tailbox <file> <height> <width>
--tailboxbg <file> <height> <width>
--textbox <file> <height> <width>
--timebox <text> <height> <width> <hour> <minute> <second>
--treeview <text> <height> <width> <list-height> <tag1> <item1> <status1> <depth1>...
--yesno <text> <height> <width>
Auto-size with height and width = 0. Maximize with height and width = -1.
Global-auto-size if also menu_height/list_height = 0.
आगे की पढाई:
dialog
, जो यह उपयोग करने के लिए प्रकट होता है।