Difference between revisions of "Zenity"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
m
m
 
(3 intermediate revisions by one user not shown)
Line 7: Line 7:
 
Basic example
 
Basic example
 
  #!/bin/bash  
 
  #!/bin/bash  
  first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)  
+
  first=$(zenity --title="First Name" --text "What is your first name?" --entry)  
 
  zenity --info --title="Welcome" --text="Mr./Ms. $first"  
 
  zenity --info --title="Welcome" --text="Mr./Ms. $first"  
  last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry)  
+
  last=$(zenity --title="Last Name" --text "$first what is your last name?" --entry)  
 
  zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"
 
  zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"
 +
 +
Size and Font control
 +
zenity --info --text="This is an information box." --width=600 --height=400
 +
<nowiki>zenity --info --text '<span foreground="blue" font="32">Some\nbig text</span>\n\n<i>(it is also blue)</i>'</nowiki>
 +
<nowiki>zenity --info --text 'Normal <big>Big <big>Bigger</big></big>'</nowiki>
  
 
Functional dialog for media player
 
Functional dialog for media player
Line 46: Line 51:
 
prompt user from remote shell on remote desktop
 
prompt user from remote shell on remote desktop
 
  <nowiki>zenity --info --text "stop playing video games and do your homework" --display=:0</nowiki>
 
  <nowiki>zenity --info --text "stop playing video games and do your homework" --display=:0</nowiki>
 +
''Note:  You must be ssh into the remote system as the same user that is using the xdisplay locally.''
  
 
Suppress annoying GTK errors
 
Suppress annoying GTK errors

Latest revision as of 20:50, 21 February 2021

zenity (lower-case z) / formerly gdialog - have graphical GTK+ dialog boxes in command-line and shell scripts. Zenity adds graphical interfaces to shell scripts with a single command. Zenity is an open source and a cross-platform application

sample scripts

Basic example

#!/bin/bash 
first=$(zenity --title="First Name" --text "What is your first name?" --entry) 
zenity --info --title="Welcome" --text="Mr./Ms. $first" 
last=$(zenity --title="Last Name" --text "$first what is your last name?" --entry) 
zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

Size and Font control

zenity --info --text="This is an information box." --width=600 --height=400
zenity --info --text '<span foreground="blue" font="32">Some\nbig text</span>\n\n<i>(it is also blue)</i>'
zenity --info --text 'Normal <big>Big <big>Bigger</big></big>'

Functional dialog for media player

#!/bin/bash 
#zenity --list --title "Video Type?" --column="FPS" NTSC PAL

strPlayer="$1"
strPlayer=${strPlayer/"myth://user@192.168.254.88:6000"/"/mnt/mythtv/videos"}
echo $strPlayer >> /tmp/altplayer.log


varName1=$(zenity --list --title "$strPlayer" --column="FPS" NTSC PAL);
varName2=$(echo $varName1 | sed 's/[^a-zA-Z0-9]//g')

#zenity --error

#zenity --info --text="You selected $varName2";

case "${varName2}" in
        NTSC )
                zenity --info --text="Play standard NTSC video"
                vlc -f "$strPlayer" --no-embedded-video --no-sub-autodetect-file vlc://quit
                ;;
        PAL )
                zenity --info --text="Play at 96 percent for PAL"
                vlc -f "$strPlayer" --no-audio-time-stretch --rate=0.96 --no-embedded-video --no-sub-autodetect-file vlc://quit
                ;;
        * )
                zenity --error
                ;;
esac

exit 0

prompt user from remote shell on remote desktop

zenity --info --text "stop playing video games and do your homework" --display=:0

Note: You must be ssh into the remote system as the same user that is using the xdisplay locally.

Suppress annoying GTK errors

zenity --info --text "Hello World" 2>/dev/null

note: Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged. is the result of a suggested requirement in the GTK Toolkit that the programmer using GTK should specify a parent window for the one being used in the dialog. This apparently has been suggested as a future requirement and is for the purpose of aiding the window manager in keeping track of window state, however, is completely unnecessary and the error can be safely ignored.