• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Checkboxen und Auswahlmenü in Zenity oder Yad

Hallo,

ich habe mir mit Zenity eine kleine Abfrage erstellt, die so aussieht:

Code:
zenity  --list  --title "Beschreibung" --column="" 96 128 160 192

Das sind Bitraten mit denen eine Audiodatei kodiert wird. Ich möchte nun noch zusätzlich eine Checkbox einfügen, ob im Anschluss automatsich ein Shutdown durchgeführt werden soll (ist schon so eingerichtet, dass es ohne Passworteingabe geht). Ich bekomme nun keine einfache Checkbox mit Zenity hin, so wie sie hier https://media-cdn.ubuntu-de.org/wiki/attachments/37/21/examplefield.png für yad abgebildet ist ("Ich bin eine Checkbox").

Das geht widerrum mit Yad, nur habe ich bei Yad ein Problem mit o.g. Zenity-Beispiel. Wenn ich das it yad umsetze z. B. so

Code:
echo $(yad --height=300 --list --column="" 96 128 160 192)

erhalte ich als Ausgabe

Code:
128|

Durch den Strich nach der Zahl wird nichts verarbeitet. Was läuft da bei yad falsch?

Lösung 1 wäre die Checkbox mit Zenity einzurichten.
Lösung 2 wäre eine richtig funktionierende Auswahlliste mit Yad einzurichten.

Jemand eine Idee? Grundsätzlich ist yad umfangreichen, macht aber irgendwie immer Mätzchen dieser Art, weswegen ich oft lieber zu Zenity greife.
 

abgdf

Guru
Solche Dialogprogramme wie Zenity, yad oder auch xdialog oder KDialog sind nur schlecht funktionierende Krücken für einfache Abfragen für die Shell.
Wenn man auf komplexere Weise Daten abfragen will, sollte man in Betracht ziehen, eine richtige Sprache zur Datenverarbeitung und für grafische Oberflächen zu lernen. Als Einstieg wäre Python und Python/Tkinter geeignet (meine Seiten dazu wären hier und hier, das Beispiel hier zeigt z.B. ein paar Tkinter-Widgets einschließlich Checkbuttons/Checkboxes). Tkinter ist ein bißchen häßlich, funktioniert aber für kleinere bis mittelgroße grafische Oberflächen recht gut.
 
OP
B

bunter fisch

Member
Ist es nicht etwas übertrieben für eine einfache Oberfläche extra eine Programmiersprache zu lernen. Ich mach ja auch keine Ausbildung zum Kfz-Meister um die Autoreifen zu wechseln.
 

abgdf

Guru
bunter fisch schrieb:
Ist es nicht etwas übertrieben für eine einfache Oberfläche extra eine Programmiersprache zu lernen. Ich mach ja auch keine Ausbildung zum Kfz-Meister um die Autoreifen zu wechseln.
Ja, deshalb gibt's ja auch diese Dialog-Programme. Nur stößt man bald an ihre Grenzen, weil man schnell etwas möchte, das gerade nicht eingearbeitet wurde. Deshalb gibt es da auch so viele Ansätze. Die aber alle nicht befriedigen.

Die Skriptsprachen zu lernen, hat mir übrigens besonders viel Spaß gemacht, weil man nicht wie in bash mit unerwartetem Verhalten wie plötzlichen Subshells konfrontiert wird, sondern schnell und einfach gute Resultate erzielt. Wenn man sich mit bash oder C herumgeärgert hat, fühlt es sich so an, als könne man plötzlich fliegen. Was eigentlich die schönste Erfahrung mit Linux überhaupt war. Und das sehe nicht nur ich so.
 

susejunky

Moderator
Teammitglied
bunter fisch schrieb:
... nur habe ich bei Yad ein Problem mit o.g. Zenity-Beispiel. Wenn ich das it yad umsetze z. B. so

Code:
echo $(yad --height=300 --list --column="" 96 128 160 192)

erhalte ich als Ausgabe

Code:
128|

Durch den Strich nach der Zahl wird nichts verarbeitet. Was läuft da bei yad falsch?
Code:
> man yad
ist hier der Schlüssel zum Erfolg.

Code:
> RET="X";RET=`yad --height=600 --list --separator="" --column="Werte" 96 128 160 192`;echo "RET = $RET"
RET = 160
>

Viele Grüße

susejunky
 
Oben