BashGui / easybashgui

EasyBashGUI is a Bash functions library for *BSD and GNU/Linux that aims to give simple GUI functions using yad, gtkdialog, kdialog, zenity, Xdialog, gum, (c)dialog, whiptail or bash builtins depending on KDE or GNOME running or not, Yad/Gtkdialog/Xdialog installed or not and, eventually, X server running or not.
http://bashgui.github.io/easybashgui/
GNU General Public License v3.0
172 stars 23 forks source link

bug: zenity version dont respect the exit of terminate_wait_for #22

Closed mckaygerhard closed 8 months ago

mckaygerhard commented 9 months ago

found a small error, only happened in older versions ooof zenity:

source easybashgui

wait_for "I'm sleeping 4 seconds... good night..."
sleep 4
terminate_wait_for

raised this:

./test.sh 
18638
easybashgui: línea 764: 18637 Tubería rota           yes
     18638 Terminado               | ${dialogo} --title "${supertitle:-EasyBashGUI}: please wait" --progress --pulsate --auto-kill --text "$(echo -e "${testo_zenity}" )" ${dimensione_finestra} &> /dev/null

but event using ${wait_for__PID} it raised..

there is no problem usinig kdialog or yad, dialog just send text and that's normal not tested with xdialog

mckaygerhard commented 9 months ago

after many test i cannnot reproduce it, desktop used for testing was KDE from debian 11..

vaisarger commented 9 months ago

I did many tests too, but I had not same problem.

My hypothesis is that message is by bash itself (it communicate to user about background process killed. To see it, you have to type Enter and bash communicate you that. If that is the case, we can't do anything about: it's normal bash behavior.

Unless anyone gives a suggestion... ;)

vaisarger commented 8 months ago

Other little tests done on this issue: my previous hypothesis

My hypothesis is that message is by Bash itself (it communicate to user about background process killed). To see it, you have to type Enter and bash communicate you that.

is correct.

Reason is that Bash tells to user that it has killed previous background process, its PID and its name. To "fix" this, you should to force Bash to be "quiet", e.g. redirecting StdErr to /dev/null, but I don't recommend it, especially for troubleshooting matter.