Mahesh Chandra
Mahesh Chandra

Reputation: 65

how to use yad in bash scripting?

so i am writing a small bash script to automate a few tasks...and i have stumbled on to a issue here.. my problem is

  val=$ ( yad --center --width=300 --height=100 --title "Alert" --image "dialog-question" --buttons-layout=center --text "Search for Broadcast Stations ?" \ --button=gtk-yes:0 --button=gtk-no:1 )   

if [[ $val == 0 ]]; then

The Above piece of code is not working out ... what i am trying to do here is save the exit code of the YAD window to the val variable then use it in the if then statement.... what mistake am i doing here ???? i know the exit status check is $? but i am totally lost on how to actually implement it though ..!!

Upvotes: 2

Views: 7542

Answers (2)

spudgunman
spudgunman

Reputation: 1

The last answer works fine, expanded.. button 2 and 1 are used for yes and no to keep things random here. 252 is exit code. the long Yad string is provided one line to keep any word wrap issues away. Simple Yad yes/no dialog box.

question=$(yad --center --width=300 --height=100 --title "Question" --image "dialog-question" --buttons-layout=center --text "Search for Broadcast Stations?" --button=gtk-yes:2 --button=gtk-no:1 )
answer=$?
[[ $answer -eq 252 ]] && echo "Window Closed" && exit 1
[[ $answer -eq 0 ]] && echo "Unused"
[[ $answer -eq 1 ]] && echo "No clicked" && exit 0
if [[ $answer -eq 2 ]]; then
    echo "Yes clicked"
fi
exit 0

Upvotes: 0

syntagma
syntagma

Reputation: 24334

This is a full working example based on YAD Wiki examples:

val=$(yad --center --width=300 --height=100 --title "Alert" --image "dialog-question" --buttons-layout=center --text "Search for Broadcast
Stations ?" --button=gtk-yes:0 --button=gtk-no:1 )   
ret=$?

[[ $ret -eq 1 ]] && echo "No clicked" && exit 0

if [[ $ret -eq 0 ]]; then
    echo "Yes clicked"
    exit 0
fi

Upvotes: 3

Related Questions