Howto/Dialog-Optionen

Achtung!

Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.

Hinweis:

Diese Howto-Anleitung wurde zuletzt von HattoriHanzo12 im Januar 2018 unter Ubuntu 16.04 erfolgreich getestet.

Inhaltsverzeichnis
  1. Box-Optionen
  2. Optionale Option
    1. --colors
      1. Zu den Farben
      2. Zu den Formatierungen
    2. --cr-wrap

Dialog bietet eine große Anzahl an Optionen, die hier genauer vorgestellt werden.

Box-Optionen

Option Parameter Aktion Bildbeispiele
--buildlist TEXT HÖHE BREITE WERT1 ELEMENT1 STATUS1 Buildlist Dialog/beispielbild_buildlist
--calendar TEXT HÖHE BREITE TAG MONAT JAHR Kalender Dialog/beispielbild_calendar
--checklist TEXT HÖHE BREITE LISTEN-HÖHE ELEMENT1 ELEMENT2 STATUS1 Checkliste Dialog/beispielbild_checklist
--dselect ORDNER HÖHE BREITE Ordnerauswahl Dialog/beispielbild_dselect
--editbox DATEI HÖHE BREITE Texteditor für Dialog Dialog/beispielbild_editbox
--fselect DATEIPFAD HÖHE BREITE Ordner-/Datei-Anzeige Dialog/beispielbild_fselect
--gauge TEXT HÖHE BREITE [PROZENT] Progressbar Dialog/beispielbild_gauge
--infobox TEXT HÖHE BREITE Infobox Dialog/beispielbild_infobox
--inputbox TEXT HÖHE BREITE [INIT] Eingabefeld für Zahlen und Buchstaben Dialog/beispielbild_inputbox
--inputmenu TEXT HÖHE BREITE MENÜ-HÖHE ELEMENT1 WERT1 [ELEMENT2] [WERT2]... Eingabebox Dialog/beispielbild_inputmenu
--menu TEXT HÖHE BREITE MENÜ-HÖHE ELEMENT1 WERT1 [ELEMENT2] [WERT2]... Menü Dialog/beispielbild_menu
--mixedgauge TEXT HÖHE BREITE PROZENT ELEMENT1 WERT1 ... Progressbar mit zusätzlichen Feldern Dialog/beispielbild_mixedgauge
--msgbox TEXT HÖHE BREITE Infobox mit "OK"-Button* Dialog/beispielbild_msgbox
--passwordbox TEXT HÖHE BREITE [INIT] Passwortfeld Dialog/beispielbild_passwordbox
--pause TEXT HÖHE BREITE SEKUNDEN Pause in Sekunden Dialog/beispielbild_pause
--prgbox TEXT BEFEHL HÖHE BREITE Ausgabebox Dialog/beispielbild_prgbox
--radiolist TEXT HÖHE BREITE LISTEN-HÖHE ELEMENT1 WERT1 STATUS1 ELEMENT2... Radiolist Dialog/beispielbild_radiolist
--rangebox TEXT HÖHE BREITE MIN_WERT MAX_WERT STANDARDWERT Rangebox Dialog/beispielbild_rangebox

Optionale Option

Im Gegensatz zu den Box-Optionen können von den optionalen Optionen beliebig viele zu einem Befehl eingegeben werden, allerdings funktionieren nicht alle Optionen für alle Box-Optionen.

Ein Beispiel dazu:

dialog --ascii-lines --extra-button --colors --extra-label 'Extra umbenannt' --inputbox '\Z2Hier steht grüner Text' 0 0 

Dialog/beispiel_ascii+colors

Optionen Parameter Aktion Beispiele
[--ascii-lines] Erstellt Ascii-Linien im Fenster als Rahmen. Dialog/beispiel_ascii
[--aspect] SEITENVERHÄLTNIS änder das Seitenverhältnis vom Objekt. Dialog/beispiel_aspect
[--backtitle] TEXT Setzt eine Überschrift über das Objekt Dialog/beispiel_backtitle
[--beep-after] Gibt ein Systemton mit aus
[--begin] Y Z Positioniert das Objekt. Dialog/beispiel_begin
[--cancel-label] TEXT Benennt den "cancel"-Button um. Dialog/beispiel_cancel_label
[--colors] \Z...*** Ändert die Textfarbe und die Hintergrundfarbe des Textes. Kann auch Fett und Unterstreichen.* Dialog/beispiel_colors
[--cr-wrap] *Erklärung unten*
[--default-item] ELEMENT Setzt das ausgewählte Element auf Standard. Dialog/beispiel_default-item
[--defaultno] Setzt "Cancel", "No", "Nein", "Abbrechen" als standardmäßig ausgewählten Button Dialog/beispiel_defaultno
[--extra-button] Setzt ein zusätzlichen Button mit der Beschriftung "Extra" Dialog/beispiel_extra-button
[--extra-label] UMBENENNUNG Benennt den "Extra"-Button um. Dialog/beispiel_extra-label
[--help-button] Setzt ein zusätzlichen Button mit der Beschriftung "Help/Hilfe" Dialog/beispiel_help-button
[--help-label] UMBENENNUNG Benennt einen "Help/Hilfe"-Button um. Dialog/beispiel_help-label
[--help-status] Setzt bei Drücken des Help-Buttons "HELP" vor das zurückgegebene Element.
[--ignore] Ignoriert Optionen, die Dialog nicht kennt.
[--insecure] Zeigt Sterne in einer Passwordbox an, damit zu sehen ist, wie viele Zeichen schon eingegeben wurden. Dialog/beispiel_insecure
[--max-input] WERT Begrenzt die Anzahl der einzugebenden Zeichen.
[--no-lines] Lässt alle Layoutgrenzen im Fenster verschwinden. Dialog/beispiel_no-lines
[--no-mouse] Lässt keine Eingabe über Maus zu.
[--no-cancel] Lässt den "Cancel"- (Abbrechen) und "No"-Button verschwinden. Dialog/beispiel_no-cancel
[--no-ok] Lässt den "Ok"-Button verschwinden. Dialog/beispiel_no-ok
[--no-shadow] Lässt den Schatten verschwinden. Dialog/beispiel_no-shadow
[--nook] Siehe --no-ok
[--ok-label] UMBENENNUNG Benennt den "Ok"-Button um. Dialog/beispiel_ok-label
[--sleep] SEKUNDEN Wartet die angegebenen Sekunden, bis das Skript fortgesetzt wird.
[--stderr] Schreibt das Ergebnis in den stderr-Kanal.
[--stdout] Schreibt das Ergebnis in den stdout-Kanal.
[--tab-correct] Ändert den Tabulatorabstand in ein Leerzeichen. Nur für --textbox
[--tab-len] WERT Ändert die Zeichenanzahl, den die Tabulator-Taste vorspringen lässt.
[--trace] DATEI Zeichnet Tastatureingaben auf und schreibt sie in die angegebene Datei.
[--trim] Entfernt Leerzeichen am Anfang und am Ende einer Eingabe.
[--yes-label] UMBENNEUNG Benennt den "Yes"-Button um.

Informationen zu einigen Optionen:

--colors

Bei --colors muss vor dem zu formatierenden Text immer \Z stehen. Je nach dem was hinter \Z steht, verändert sich die Schriftfarbe, Hintergrund oder Formatierung.

Zu den Farben

Um die Farbe vom Text zu ändern, muss nach dem \Z ein Ziffer stehen, beginnend bei der 0 bis zur 7.

  • 0 = Schwarz

  • 1 = Rot

  • 2 = Grün

  • 3 = Gelb

  • 4 = Blau

  • 5 = Magenta

  • 6 = Cyan

  • 7 = Schwarz markiert

Hier ein Beispiel:

dialog --colors --infobox '\Z1Hier steht roter Text. \Z2Und hier steht grüner Text. \Z4Und hier blauer Text. \Z5Oder Zw\Z6ei Farben.' 0 0 

Dialog/beispiel_bunter-text

Zu den Formatierungen

  • \Zb = Fettschrift \ZB = Deaktiviert es wieder

  • \Tr = Tauscht Vorder und Hintergrund \ZR = Deaktiviert es wieder

  • \Zu = Unterstreicht den Text \ZU = Deaktiviert es wieder

  • \Zn = Setzt alle Veränderung wieder zurück

--cr-wrap

[--cr-wrap] wird im Skript verwendet, um Zeilen in Dialog umzubrechen.

#!/bin/bash
  dialog --cr-wrap --infobox 'Hier
     steht der
     Text in
     mehreren
     Zeilen' 0 0

Dies ist natürlich nur ein Teil dessen, was Dialog kann. Genaueres im Terminal per

dialog --help 

oder in der Manpage zu Dialog.