Podporované dialógové typy
calendar, checklist, dselect, editbox, form, fselect, gauge, infobox, inputbox, inputmenu, menu, mixedform, mixedgauge, msgbox (message), passwordbox, passwordform, pause, progressbox, radiolist, tailbox, tailboxbg, textbox, timebox, yesno
Každé dialógové okno má aspoň tri parametre:
- text, bude sa zobrazovať vždy vo vnútri dialógového okna
- výška okna
- šírka okna
Ďalšie parametre závisia od typu dialógu :
--calendar text výška šírka deň mesiac rok
Kalendár zobrazuje mesiac, deň a rok v samostatne upraviteľných oknách. Ak sú tieto hodnoty nesprávne alebo záporné, dialóg zobrazí hodnoty aktuélneho dátumu. Medzi hodnotami je možné presúvať sa šípkami, a medzi jednotlivými oknami pomocou tab a backtab. Po potvrdení je na výstupe dátum vo forme deň/mesiac/rok.
--checklist text výška šírka výška-zoznamu [statusy položiek]
Checklist je podobný ako menu box. Obsahuje niekoľko vstupov vo forme menu. Rozdiel je ale v tom, že na rozdiel od menu, kde môže byť vybratá práve jedna položka, v checkliste môže byť každá položka zaškrtnutá (vybratá) alebo nezaškrtnutá. Počiatočný stav každej položky, teda či je vybratá alebo nie, je určený jeho statusom. Po potvrdení bude na výpise reťazec ktorý dialóg vytvorí z vybraných položiek.
--editbox súbor výška šírka
Editbox zobrazuje kópiu súboru, ktorú je možné upravovať. Pomocou tlačidiel backspace, delete a kurzorových tlačidiel sa dajú upraviť preklepové chyby. Tiež sú rozoznávané tlačidlá pageup, pagedown. Potvrdenie musí byť realizované cez kliknutie na tlačídlo “OK“, v prípade stlačenia ENTER len editbox prejde na nový riadok v súbore.
--infobox text výška šírka
Infobox zobrazuje správu užívateľovi. Ukončí sa ale okamžite po jej zobrazení. Obrazovka sa nevymaže, dialógové okno bude zobrazené kým nebude neskôr pomocou dialógu vymazané. Infobox je užitočný keď chceme užívateľa informovať že prebieha určitá operácia, a bude trvať nejaký čas kým bude ukončená.
--inputbox text výška šírka [init]
Používa sa v prípade že chceme používateľovi položiť otázku a očakávame od neho ako odpoveď reťazec znakov. Pri písaní tohto reťazca je možné opravovať chyby tlačidlami delete,backspace a kurzorovými klávesami. Ak je vpísaný reťazec príliš dlhý, okno sa postupne scroluje nadol. Pri ukončení je tento reťazec použitý ako výstup. Init je reťazec ktorý bude vpísaný v okne ako predvolený.
--menu text výška šírka výška-menu [tag item]
V dialógovom okne je zobrazený zoznam položiek vo forme menu, s ktorých si užívateľ može jednu vybrať. Každá položka je charakterizovaná reťazcami tag a item. Tag určuje meno položky aby bolo možné ju odlíšiť od ostatných položiek menu. Item obsahuje krátky opis možnosti ktorú položka predstavuje. Užívateľ sa v menu môže pohybovať pomocou kurzorových šípiek. Ak sa všetky položky menu nezmestia do dialógového okna, okno sa bude dať scrollovať.
--inputmenu text výška šírka výška-menu [tag item]
Podobé klasickému menuboxu. Rozdiely ale sú:
- Položky nie sú automaticky centrované, ale sú zarovnané doľava.
- Je pridané tlačidlo “Rename“, pomocou neho sa dá premenovať akákoľvek položka.
--msgbox text vyška šírka
Message box zobrazí užívateľovi správu. Po jej prečítaní užívateľ klikne na tlačidlo “OK“ alebo stlačí ENTER, čo ukončí dialogové okno a shell bude pokračovať v daľšom vykonávaní programu. Ak sa správa nezmestí do okna, je možné okno scrollovať. Ak užívateľ stlačí ESC, dialóg vráti exit status.
--pause text výška šírka sekundy
Zobrazí “počítadlo“ na spodnej časti dialógového okna, ktoré indikuje koľko času ešte zostáva do konca pauzy. Pauza skončí ked vyprší čas počítadla, alebo užívateľ odklikne tlačidlo “OK“ pripadne “Cancel“ (ESC)
--passwordbox text výšky šírka
Správa sa rovnako ako --inputbox , ale údaje vkladané užívateľom nie sú zobrazované. Je to užitočné, ak je vkladané heslo, alebo iné súkromné informácie.
--radiolist text výška šírka výška-zoznamu [tag item status]
Rovnaký ako menubox, jediný rozdiel je v tom, že je možné rozhodnúť ktorá položka bude práve vybratá nastavením statusu na hodnotu on. Na výstupe bude meno vybratej položky.
--textbox súbor výška šírka
Vie zobraziť obsah zadaného textového súboru v dialógovom okne. Slúži ako textový prehliadač. Užívateľ sa vie v texte pohybovať kurzorovými klávesami a klávesami: page-up, page-down, HOME a END.
--timebox text výška [šírka hodiny minúty sekundy]
Zobrazí sa dialógové okno v ktorom je možné nadstaviť hodnotu hodín, minút sekúnd. Ak sú tieto hodnoty nesprávne alebo záporné, dialóg zobrazí hodnoty aktuélneho času. Medzi hodnotami je možné presúvať sa šípkami, a medzi jednotlivými oknami pomocou tab a backtab. Po potvrdení je na výstupe čas vo forme h:m:s.
--yesno text výška šírka
Dialógové okno má tlačídlá “yes“ a “no“, medzi ktorými môže užívateľ prepínať pomocou tabulátora. Používa sa na kladenie jednoduchých otázok používateľovi.
Tu je zoznam niektorých nastavení, pomocou ktorých je možné modifikovať a využiť tento „zázrak“ podľa svojich predstáv:
--file file
Dialog bude čítať parametre zo súboru ktorého názov zadáme v argumente.
--ascii-lines
Namiesto grafických čiar okolo okien vykresľuje + a – z ASCII tabulky.
--aspect
Umožňuje určitú kontrolu rozmerov vrámci okna (argument 0-9).
--backtitle
Určuje reťazec ktorý bude zobrazený v hornej časti obrazovky na pozadí.
--begin y x
Špecifikuje pozíciu horného ľavého rohu dialógového okna na obrazovke.
--cancel-label string
Prepíše text tlačidla “Cancel“.
--clear
Vymaže okná z obrazovky, ponechá len pozadie.
--and-widget
Vymaže obsah predchádzajúceho zobrazenia okien.
--keep-window
Doplnok –and-widget, ponechá okná na obrazovke, pokial je nadstavené,nieje možné okno zmazať pomocou --and-widget ani --clear , pretože pri vykreslení nového dialógového okna program najskôr “zreparuje“ okná v ktorých je zapnuté --keep-window
--colors
Mení atribúty písma. Použitie \Zx, x je kód farby alebo nastavenia ktoré chceme na písme zmeniť. (x=0-7, farby v tomto poradí: čierna, červená, zelená, žltá, modrá, purpurová, cyan, biela. Tučné písmo – b, obrátené – r, podčiarknuté - u. Nadstavenia sa dajú kombinovať. \Zb\Z1 je tučné červené písmo.
--column-separator
Rozdeľovanie textu do stĺpcov, prípadne jeho úprava pri používaní chechboxov, menu.
--cr-wrap
Nastavenie obtiekania a zalomenia textu.
--defaultno
Nadstaví ako predvolené tlačidlo dialog boxu yes/no hodnotu no, inak je predvolené yes.
--default-item string
Nadstavenie predvolenej hodnoty v checkliste, formuláry, alebo v menu. Ak nieje použité, ako predvolená hodnota je nadstavený vždy prvý prvok zoznamu.
--exit-label string
Reťazec použije ako náhradu za “EXIT“ v tlačidle
--extra-button
Zobrazí ďalšie tlačidlo medzi tlačidlami “OK“ a “Cancel“
--extra-label string
Zadaný reťazec bude použitý v extra tlačidle vytvorenom pomocou --extra-label
--help
Do dialógového okna vypíše nápovedu, ak niesu zadané žiadne iné nastavenia.
--help-button
Pri tlačidlách “OK“ a “Cancel“ (v checklistoch, radiolistoch, a v menu) zobrazí aj tlačdlo “Help“.
Ak je popri tom použité aj –item-help , návratová hodnota po stlačení bude rovnaká ako v prípade “OK“ tlačidla a text použitý v –item-help bude použitý ako dialógový výstup. Inak návratová hodnotá zaznamená stlačenie “HELPu“ a nevytlačí žiadnu správu.
--help-label string
Prepíše text tlačidla “HELP“
--ignore
Ignorovanie nastavení ktoré dialog nevie rozoznať (niektoré dobre známe ako --icon sú ignorované tak, či tak). Je to dobré voľba kôli kompatibilite.
--insecure
Pri zadvaní hesla sa už nezobrazujú hviezdičky - nie veľmi bezpečné riešenie.
--item-help
Pre checklist, radiolist a menubox pridá v dolnej časti obrazovky stĺpec z informáciami pre momentálne vybratú položku.
--keep-tite
Dialog kontroluje či program beží na predvolenej obrazovke, ak áno, snaží sa prepnúť beh programu na alternatívnu obrazovku. Toto prepínanie môže komplikovať beh programu keď script spúšta dialóg niekoľko krát za sebou. Ak použijete možnosť --keep-tite , toto prepínanie sa potláča.
--max-input size
Limituje vstupné reťazce na zadanú veľkosť. Bez použitia tejto možnosti je limit 2048.
--no-cancel
--nocancel
Zakáže, nepoužije tlačidlo “Cancel“ v checklistoch, inputboxoch, menuboxoch. Script ale stále testuje, či relácia okna nebola ukončená s klávesnice tlačidlom ESC.
--no-collapse
Bez použitia tohto prepínača dialóg premieňa tabulátory na medzery a pri výskyte viacerých medzier automaticky zobrazí iba jednu medzeru. Použitie tejto voľby tieto funkcie vypína.
Obtiekanie textu bude ale stále rovnaké. Pre nadstavenie použite --trim , --cr-wrap .
--no-label string
Prepíše text tlačidla “No“.
--no-lines
Okolo dialógových okien sa nebudú vykresľovať čiary (rám).
--no-ok
--nook
V dialógovom okne chcecklistu, inputboxu a menuboxu nebude zobrazovať tlačidlo “OK“. Stále ale funguje ENTER ako potvrdenie vstupu.
--ok-label string
Prepíše text tlačidla “Ok“
--no-shadow
Tiene dialogových okien sa nebudú zobrazovať.
--output-fd fd
Nastaví ako cieľ výstupu zadaný súbor. Väčšina scriptov vypisuje chybové správy na štandardný výstup, ale môžu byť zapisované aj do súboru. Záleží na scripte.
--separator string
--output-separator string
Zadaný reťazec bude oddeľovať dialógový výstup namiesto newline alebo medzery
--print-maxsize
Na dialogový výstup vytlači maximálnu veľkosť dialógového okna
--print-size
Na dialogový výstup vytlači aktuálnu veľkosť dialógového okna
--print-version
--version
Na dialogový výstup vytlačí aktuálnu verziu dialógu
--shadow
Bude sa zobrazovat tieň dialogového okna na jeho pravej a dolnej strane
--sleep secs
Po spracovaní a vykreslení dialógu, čaká zadaný počet sekúnd
--tab-correct
Každý vyskytujúci sa tabulátor automaticky prevádza na jednu alebo viac medzier
--tab-len n
Pri použití –tab-correct , tento prepínač určuje na koľko medzier bude prevedený tabulátor. Predvolená hodnota je 8. Tento prepínač je efektívny len pre textboxy
--timeout secs
Ak dialog nezaznamená žiadny podnet od užívateľa, program po zadanom počte sekúnd automaticky skončí. Ak je ako počet sekúnd zadaná nula, prepínač je ignorovaný.
--title string
Reťazec je použitý ako titulok okna, zobrazený na vrchole dialogového okna.
Autorkou príspevku je Michaela Zaťková
Neprešlo jazykovou úpravou.
Domovská stránka projektu
osobne by som pridal aspoň 2 obrázky a nejaký ten príklad, kedy sa to hodí. Tak napríklad môžeš urobiť grafický výstup informácii o hardvéri. Pekne to rozpíš a nebude frflať (skoro) nikto :)
rekl bych ze ne. Prave delam administrativni UI pro server a proto jsem pri hledani prikladu k 'dialogu' zavital i sem. Na servru vetsinou neni vubec X a proto se neco jako dialog dost hodi.