
Apa itu zenity?
zenity adalah dialog window script yang berbasis gtk utk membantu membuat program berbasis GUI, yang bisa berjalan pada berbagai platform distro linux. pada ubuntu yang berbasis gnome sudah terinstall sebagai default. sedangkan pada ubuntu dengan desktop lain seperti KDE/Xfce/LXDE harus menginstal-nya terlebih dahulu :
sudo apt-get install zenity.
ketik di terminal :
zenity --info --text="Ini percobaan"
zenity --error --text="Pesan error"
zenity --info --text="Informasi"
zenity --warning --text="Peringatan"
zenity --question --text="Bagaimana kabar anda hari ini ?"
zenity --calendar --title="Tanggal"
zenity --file-selection --title="Pilih File"
zenity --list --title="Contoh List Menu" --column="Col1" --column="Col2" --column="Col3" 1.1 2.1 3.1 1.2 2.2 3.2 1.3 2.3 3.3
zenity --entry --title="Isi data" --text="Isi Password Anda:"
Berikutnya saya akan membahas penggabungan zenity dialog window dengan shell programming.
buat file dengan extension .sh
lalu buka dengan gedit jika di gnome, trus isi sbb :
#!/bin/sh
#contoh zenity pertanyaan input data
isi=`zenity --entry --title="Isi Data" --text="Bagaimana kabar anda hari ini?"`
if [ "$isi" != "" ]; then
zenity --info --text=$isi
else
zenity --info --text="Anda tidak mengisi"
fi
cukup sekian dulu contoh dari saya, akan di lanjutkan lagi dilain waktu...
Latihan 2 : (update 23/1/2012)
script dialog box pertanyaan pilihan :
if `zenity --question --text="Sudahkah anda mandi hari ini ?"`; then
zenity --info --text="anda menekan YES"
else
zenity --info --text="anda menekan NO"
fi
penjelasan diatas adalah menampilkan dialog pilihan pertanyaan, YES atau NO, dan hasil ditampilkan dalam dialog box info sesuai dengan yang tombol yang ada tekan
melihat home user anda :
zenity --info --text="Directory anda adalah $HOME"
melihat username anda :
zenity --info --text="username anda adalah $USER"
Latihan 3 : (update 24/1/2012)
contoh Progress Dialog :
#!/bin/sh
(
echo "10" ; sleep 1
echo "# Updating mail logs" ; sleep 1
echo "20" ; sleep 1
echo "# Resetting cron jobs" ; sleep 1
echo "50" ; sleep 1
echo "This line will just be ignored" ; sleep 1
echo "75" ; sleep 1
echo "# Rebooting system" ; sleep 1
echo "100" ; sleep 1
) |
zenity --progress \
--title="Update System Logs" \
--text="Scanning mail logs..." \
--percentage=0
if [ "$?" = -1 ] ; then
zenity --error \
--text="Update canceled."
fi
contoh progress dialog pulsate ( bolak-balik )
biasanya menyajikan proses yang tidak bisa diukur berapa lama akan selesai.
contoh proses copy :
cp -Rfv $HOME/Documents $HOME/baru | zenity --progress --pulsate --auto-close --auto-kill --text="Mohon ditunggu...."