[teilweise gelöst] zenity & --add-combo (dropdown)

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
joe2017
Beiträge: 1274
Registriert: 07.08.2017 14:29:51

[teilweise gelöst] zenity & --add-combo (dropdown)

Beitrag von joe2017 » 03.12.2020 09:51:09

Schönen Guten Morgen,

ich habe noch mal eine Frage zu zenity und komme hier nicht weiter. Ich möchte eine einfache Dropdown Liste zum auswählen hinzufügen. Jedoch schaffe ich es nicht meine Werte mit dieser Box zu verknüpfen.
Vielleicht hat das schon jemand mal gemacht und kann mir zeigen wie ich das anstelle.

Ich möchte die Werte aus (array) mit der (--add-combo="Domain") verbinden.
Anbei mein Script:

Code: Alles auswählen

#!/bin/bash

OUTPUT=$(zenity --forms --title="Remote Desktop" \
    --text="Enter information about your Remote Connection" \
    --separator="," \
    --add-entry="Username" \
    --add-password="Password" \
    --add-combo="Domain" \
    --add-entry="RemoteIP (optional)")

OUTPUT_RESULTS=$?
if ((OUTPUT_RESULTS != 0)); then
    echo "something went wrong"
    exit 1
fi
Blank=""
Username=$(awk -F, '{print $1}' <<<$OUTPUT)
Password=$(awk -F, '{print $2}' <<<$OUTPUT)
Port="3389"
array=("domainA.net" "domainB.com")
Server=$(awk -F, '{print $3}' <<<$OUTPUT)
if ["$Server" = "$Blank"]; then
    Server="192.168.1.10"
fi

xfreerdp /v:$Server:$Port /d:"${array[@]}" /u:$Username /p:$Password +auto-reconnect /auto-reconnect-max-retries:0 /kbd:0x00000407 /multimon /gfx:avc420 /cert-tofu /cert-ignore /f
Password=""
Zuletzt geändert von joe2017 am 10.12.2020 16:24:25, insgesamt 1-mal geändert.

tobo
Beiträge: 2336
Registriert: 10.12.2008 10:51:41

Re: zenity & --add-combo (dropdown)

Beitrag von tobo » 03.12.2020 10:26:42

Getrennt durch |:

Code: Alles auswählen

--add-combo="Domain" \
--combo-values="domainA.net|domainB.com" \
--add-entry="RemoteIP (optional)")

Benutzeravatar
joe2017
Beiträge: 1274
Registriert: 07.08.2017 14:29:51

Re: zenity & --add-combo (dropdown)

Beitrag von joe2017 » 03.12.2020 10:28:35

Hi tobo,

danke für die Info. Das hat soeben funktioniert.
Weist du zufällig auch wie ich einen Default Wert setze? Leider wird nicht der erste Eintrag als Default Wert verwendet.

Benutzeravatar
joe2017
Beiträge: 1274
Registriert: 07.08.2017 14:29:51

Re: zenity & --add-combo (dropdown)

Beitrag von joe2017 » 03.12.2020 10:34:08

Ich habe es jetzt wie folgt aufgebaut:

Code: Alles auswählen

#!/bin/bash

OUTPUT=$(zenity --forms --title="Remote Desktop" \
    --text="Enter information about your Remote Connection" \
    --separator="," \
    --add-entry="Username" \
    --add-password="Password" \
    --add-combo="Domain" \
    --combo-values="domainA.net|domainB.com"
    --add-entry="RemoteIP (optional)")

OUTPUT_RESULTS=$?
if ((OUTPUT_RESULTS != 0)); then
    echo "something went wrong"
    exit 1
fi
Blank=""
Username=$(awk -F, '{print $1}' <<<$OUTPUT)
Password=$(awk -F, '{print $2}' <<<$OUTPUT)
Port="3389"
Domain=$(awk -F, '{print $3}' <<<$OUTPUT)
if ["$Domain" = "$Blank"]; then
    Domain="domainA.net"
fi
Server=$(awk -F, '{print $4}' <<<$OUTPUT)
if ["$Server" = "$Blank"]; then
    Server="192.168.1.10"
fi

xfreerdp /v:$Server:$Port /d:"$Domain" /u:$Username /p:$Password +auto-reconnect /auto-reconnect-max-retries:0 /kbd:0x00000407 /multimon /gfx:avc420 /cert-tofu /cert-ignore /f
Password=""
Leider funktioniert das mit dem BLANK für die Variable Domain nicht.
Und wenn nichts ausgewählt wird, bleibt die Variable Leer.

Benutzeravatar
joe2017
Beiträge: 1274
Registriert: 07.08.2017 14:29:51

Re: zenity & --add-combo (dropdown)

Beitrag von joe2017 » 03.12.2020 11:00:29

Mit folgendem Befehl funktioniert alles.

Code: Alles auswählen

Domain=$(awk -F, '{print $3}' <<<$OUTPUT)
if [[ $Domain != *"net"* ]];then
    Domain="managed-success.net"
fi
Trotzdem wäre es schön zu wissen ob man einen Default Wert für für die combo Box wählen kann.

Antworten