ubuntuusers.de

[BASH] YAD GUI beenden bei Enter in Textfeld unterbinden

Status: Ungelöst | Ubuntu-Version: Xubuntu 18.04 (Bionic Beaver)
Antworten |

lipkowski.be

Anmeldungsdatum:
15. Dezember 2019

Beiträge: 16

Hallo,

ich versuche mich gerade in GUI Programmierung in Bash, da ich ein FAN von Bash bin. Hier habe ich mich für YAD entschieden und bin hier auch schon relativ weit in den Basics. Aktuell habe ich jedoch das Problem das sich YAD beendet wenn ich in einem Normalen Edit Feld(also Textfeld) Enter drücke. Kann ich das unterbinden ?

TNTMaster

Anmeldungsdatum:
30. Juli 2009

Beiträge: 877

Hi

Du kannst das Fenster erneut öffnen lassen, wenn es mit Enter (Exitcode 0) geschlossen wird. Im Anschluß wertest du den Exitcode von yad aus, ob auf Übernehmen (Exitcode 3) geklickt wurde.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
ret=0
while [ $ret -eq 0 ]; do
    eingabe=$(yad --entry --always-print-result --entry-text="$eingabe" --button="Abbrechen":1 --button="Übernehmen":3)
    ret=$?
done

# Wenn auf Übernehmen geklickt wurde
if [ $ret -eq 3 ]; then
    echo "$eingabe"
fi

lipkowski.be

(Themenstarter)

Anmeldungsdatum:
15. Dezember 2019

Beiträge: 16

TNTMaster schrieb:

Hi

Du kannst das Fenster erneut öffnen lassen, wenn es mit Enter (Exitcode 0) geschlossen wird. Im Anschluß wertest du den Exitcode von yad aus, ob auf Übernehmen (Exitcode 3) geklickt wurde.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
ret=0
while [ $ret -eq 0 ]; do
    eingabe=$(yad --entry --always-print-result --entry-text="$eingabe" --button="Abbrechen":1 --button="Übernehmen":3)
    ret=$?
done

# Wenn auf Übernehmen geklickt wurde
if [ $ret -eq 3 ]; then
    echo "$eingabe"
fi

Hi,

danke für die Antwort. Das mache ich als workaround auch schon nur leider wird dabei jedes mal das Formular neu geladen mit neuer Position etc. genau das wollte ich vermeiden. Ich wollte das Quasi als natives Programm mit bash backend haben. Damit ich mit bash richtige Graphische Anwendungen erstellen kann. Da bash ja fast alles kann was man braucht.

TNTMaster

Anmeldungsdatum:
30. Juli 2009

Beiträge: 877

dabei jedes mal das Formular neu geladen mit neuer Position

die Position kannst du yad mitteilen, evtl. Position vorher ermitteln, falls Fenster verschoben wird.

Damit ich mit bash richtige Graphische Anwendungen erstellen kann

Die Möglichkeiten von yad sind sehr begrenzt. Für graphische Oberflächen nach deinen Wünschen ist es nicht geeignet.

lipkowski.be

(Themenstarter)

Anmeldungsdatum:
15. Dezember 2019

Beiträge: 16

TNTMaster schrieb:

dabei jedes mal das Formular neu geladen mit neuer Position

die Position kannst du yad mitteilen, evtl. Position vorher ermitteln, falls Fenster verschoben wird.

Damit ich mit bash richtige Graphische Anwendungen erstellen kann

Die Möglichkeiten von yad sind sehr begrenzt. Für graphische Oberflächen nach deinen Wünschen ist es nicht geeignet.

Begrenzt ja aber man kann sehr sehr viel damit machen. Wenn der jedes mal das Fenster neu aufbaut wird es noch besch... . Es gab mal gtkdialog nur das wird mal wieder nicht mehr weiter entwickelt. Ich glaube ich werde wieder ncurses und Terminal verwenden das geht wenigsten wie ich das will. Hatte nur bei YT ein Video gesehen, das man mit Bash auch GUI's bauen kann. Nur bei der Umsetzung hapert es mal wieder. Trotzdem nochmal danke für deine Mühen.

... 🤓 alternativ könnte man noch busybox http/cgi nehmen und eine lokale Webanwendung draus machen aber das ist auch wieder nicht so Toll. Naja wir werdne sehen.

Antworten |