Zenity ile kabuk proglamlama: Revizyonlar arasındaki fark
Değişiklik özeti yok |
Değişiklik özeti yok |
||
347. satır: | 347. satır: | ||
fi | fi | ||
[[Resim:Zenity_progress9.jpg]] <br> | [[Resim:Zenity_progress9.jpg]] <br> | ||
9-Metin Giriş Diyaloğu | ===9-Metin Giriş Diyaloğu=== | ||
–entry seçeneğini kullanarak metin giriş diyaloğu oluşturabilirsiniz. | –entry seçeneğini kullanarak metin giriş diyaloğu oluşturabilirsiniz. |
19.43, 17 Mart 2010 tarihindeki hâli
Zenity İle Kabuk Proglamlama
1-Giriş
Zenity aşağıdaki temel uygulamaları oluşturmanıza olanak verir;
- Takvim
- Dosya Seçimi
- Liste
- Bildirim simgesi
- İleti(Mesaj)
Hata, Bilgi, Soru, Uyarı
2-Kullanım
Yazdığınız scriptlerde kullanıcı ile daha verimli iletişimde bulunmak için Zenity’nin temel görsel öğelerini kullanabilirsiniz…
Şöyle ki;
Kullanıcı bilgi diyaloğu oluşturarak, örneğin takvim diyaloğu; kullanıcıya takvimden tarihi seçtirebilir veya dosya seçme diyaloğu ile dosyalarını seçmesini çok rahat hale getirebilirsiniz…Bir başka diyalog ekleyerek kullanıcının bilgilenmesini sağlayabilirsiniz.Örneğin, ilerleme çubuğu(progress dialog) ekleyerek kullanıcıya işlemin durumu hakkında bilgi verdirebilirsiniz veya uyarı iletisi ile kullanıcıyı durumdan haberdar edebilirsiniz. Eğer bu diyaloglar kullanıcı tarafından kapatılırsa, Zenity standart bir text hatası oluşturacaktır
Zenity komutlarını yazdığınızda hangi argumanların tırnak işareti ile belirlendiğine dikkat etmemiz gerekmektedir. Örneğin;
zenity --calendar --title="Tatil Planı"
Bu şekilde kullanmayınız;
zenity --calendar --title=Tatil Planı
Eğer tırnak işareti kullanmazsanız bazı beklenmedik sonuçlarla karşılabilirsiniz…
2- a)Kısayol tuşları
Kısa yol tuşları çoğu zaman kullancıya klavye ve fareden daha fazla kullanışlı olur ve çoğumuz onlara alışmışızdır. Her kısa yol tuşu menu veya diyalog pencereleri üzerinde altı çizili olarak bulunurlar.Bazı Zenity diyalogları kısayol tuşlarını desteklerler. Bir kısa yol tuşu oluşturmak için aşağıdaki örneği inceleyelim ;
“Bir isim seçin”.
2- b)Çıkış Kodları
Zenity aşağıdaki çıkış kodlarını döndürür. Çıkış Kodu Tanım 0 Kullanıcı Tamam veya Kapat butonuna basmıştır. 1 Kullanıcı İptal veya pencere kapat butonuna tıklamıştır. -1 Beklenmedik bir hata meydana gelmiştir.
2- c)Genel Seçenekler
Application Options: view source print?
- zenity -- [arguman]
–calendar Takvim Diyaloğunu gösterir. –entry Metin girdi diyaloğunu gösterir. –error Hata diyaloğunu gösterir. –info Bilgi Diyaloğunu gösterir. –file-selection Dosya seçme diyaloğunu gösterir. –list Liste diyaloğunu gösterir. –notification Bildirimleri gösterir. –progress Durum çubuğunu gösterir. –question Soru diyaloğunu gösterir. –warning Uyarı diyaloğunu gösterir. –scale Ölçeklendir diyaloğunu gösterir. –text-info Text bilgi diyaloğunu gösterir. –display=DISPLAY kulanımı
Bütün Zenity diyalogları aşağıdaki genel seçenekleri desteklerler: view source print?
--title=Baslik
Başlık diyaloğunu özelleştirir. view source print?
--window-icon=icon_yolu
Diyalog penceresi göründüğünde hangi icon’un görüneceğini bu şekilde düzenleyebilirsiniz. Zenity ‘bilgi’, ‘uyarı’, ’soru’ ve ‘hata’ için 4 farklı icon(simge) barındırmaktadır. view source print?
--width=genislik
Diyalog penceresinin genişliğini düzenler.. view source print?
--height=yukseklik
Diyalog penceresinin yüksekliğini düzenler…
2- d)Yardım Seçeneği
Zenity’in bir diyaloğu hakkında yardım almak için ; view source print?
#zenity --help --[arguman]
şeklinde komut verilebilir.
Zenity hakkında bilgi için ; view source print?
#zenity --about
Zenity versiyon bilgisi için ; view source print?
# zenity --version
komutları verilerek bilgi sahibi olunabilir.
(Not: Bu çalışmada anlatılanlar v2 ve 2.28.0 üzerinde denenenlerdir.)
2- e)GTK+ Seçeneği
Zenity standart GTK+ seçeneğini de destekler. Daha fazla GTK+ seçeneği hakkında bilgi edinmek için view source print?
#zenity -?
komutunu veriniz.
3-Calendar Dialog
–calendar seçeneğini kullanarak bir takvim oluşturabilirsiniz. Eğer komut satırında belirli bir tarih formatı belirtmezseniz Zenity hata verecektir.Eğer bir tarih seçilmezse Zenity şimdiki zamanı gösterir.
Takvim seçeneği aşağıdaki seçenekleri destekler. view source print?
--text=metin
Belirleyeceğiniz text takvim diyaloğunda görülecektir.. view source print?
--day=gun
1-31 arasında seçeceğiniz takvim diyalog seçeneğidir. view source print?
--month=ay
1-12 arasında seçilebilen takvim ay seçeneğidir. view source print?
--year=yil
Takvim yıl seçeneği. view source print?
--date-format=format
Tarihi belirledikten sonra varsayılan olarak yerel ayarlanıza göre tarih formatlanacaktır. Fakat tarih format strftime fonsiyonuna göre kabul edilebilir olmalı.Örneğin %A%d%m%y Aşağıdaki script size nasıl bir takvim diyaloğu oluşturulması husunda yardımcı olacaktır;
#!/bin/sh if zenity --calendar \ --title="Takvim" \ --text="Tarihi belirle." \ --day=9 --month=1 --year=2010 then echo $? else echo "Tarih seçilmedi." fi
4-Dosya Seçim Penceresi
–file-selection seçeneğini kullanarak dosya seçim penceresi oluşturabilirsiniz. Zenity’nin dosya seçim penceresi varsayılan olarak dosya seçimi sonrasında seçilen dosyayı açması için ayarlanmıştır.
Dosya seçim penceresi aşağıdaki özellikleri destekler;
--filename=Dosya_ismi
Bu seçenek dosya ve dizinlerin ,dosya seçim penceresinde ilk göstereceği dizin veya dosyayı belirlememizi sağlar.
--multiple
Dosya seçimi penceresinde birden fazla dosya seçmemize olanak sağlar.
--directory
Sadece seçili dizinin içerisindeki dosyaların görünmesini sağlar.
--save
Dosya seçim penceresini kayıt moduna ayarlar. view source
--separator=ayirac
Dosya isimlerini listelemede ayıraç olarak kullanılabilecek bir string’e olanak sağlar.
Aşağıdaki script size nasıl bir “Dosya Seçim Penceresi” oluşturulması husunda yardımcı olacaktır;
#!/bin/sh FILE=`zenity --file-selection --title="Bir dosya seçiniz."` case $? in 0) echo "\"$FILE\" seçildi.";; 1) echo "Hiçbir dosya seçilmedi.";; - 1) echo "Hiçbir dosya seçilmedi.";; esac
5-Bildirim Simgesi
--text=text
Bildirim menüsünde belirlenen bildirimi göstermek için kullanılır.
Aşağıdaki script size nasıl bir “Bildirim Simgesi” oluşturulması husunda yardımcı olacaktır;
#!/bin/sh zenity --notification\ --window-icon="Bilgi" \ --text="Sistemin güncellenmesi gerekmektedir!"
6-Liste Diyaloğu
–list seçeneğini kullanarak liste diyaloğu oluşturabilirsiniz. Zenity varsayılan olarak seçilen satırın sadece ilk sütununa girilen değeri döndürür.
--column=sutun
Sutun oluşturmak için kullanılır ve sütun bilgisi için –column seçeneği kullanılır.
--checklist
İlk sütundaki değerleri kontrol için kullanılır ve kontrol kutusu içerir.
--radiolist
Liste diyaloğunun ilk sutunu radyo kutusu ile listelenebilir.
--editable
Seçili verinin düzenlenmesine olanak sağlar.
--separator=ayirac
Şeçili girdileri ayırmak için kullanılan bir ayıraç belirtir.
--print-column=sutun
Hangi sutunun çıktı olarak görüntülenmesini belirlemek için kullanılır. Varyasılan sütun “1” . sütundur.
Aşağıdaki script size nasıl bir “Liste Diyaloğu” oluşturulması husunda yardımcı olacaktır;
#!/bin/sh zenity --list \ --title="Liste Diyalog" \ text="Lütfen amacınıza uygun bir kurulum yöntemi seçiniz." \ --column="YÖNTEM" --column="BOYUT" --column="Tanım" \ Normal 350MB "Sadece çok kullanılan bileşenler kurulacaktır." \ Özel Belirlenmedi "Kurulacak öğeleri kullanıcı belirleyecek." \ Tam 500MB "Bilgisayarınıza programın bütün bileşenleri kurulacaktır"
7-İleti(Mesaj) Diyalogları
Zenity ile dört farklı ileti diyaloğu oluşturabilirsiniz.
Error(Hata), Information(Bilgi) , Question(Soru), Warning(Uyarı)
Dört ileti seçeneğinde de –text seçeneği ile görüntülenecek metini belirleyebiliriz.
7- a)Error Dialog
–error seçeneğini kullanarak hata iletisi oluşturabilirsiniz.
Aşağıdaki script örneği bunu daha iyi açıklayacaktır.
#!/bin/bash zenity --error \ --title="Hata" \ -text="/etc/wpa_supplicant.conf dosyası bulunamadı!"
7- b)Bilgi Diyaloğu
–info seçeneğini kullanarak bilgi diyaloğunu oluşturabilirsiniz.
Aşağıdaki script örneği bunu daha iyi açıklayacaktır.;
#!/bin/bash zenity --info \ --title="Bilgi" \ --text="Kurulum tamamlandı."
7- c)Soru Diyaloğu
–question seçeneğini kullanarak soru diyaloğu oluşturabilirsiniz.
Aşağıdaki script örneği bunu daha iyi açıklayacaktır.;
#!/bin/bash zenity --question \ --title="Soru" \ --text="Çıkmak istediğinizden emin misiniz?"
7- d)Uyarı Diyaloğu
–warning seçeneğini kullanarak uyarı diyoloğu oluşturabilirsiniz.
Aşağıdaki script örneği bunu daha iyi açıklayacaktır.;
#!/bin/bash zenity --warning \ --title="Uyarı" \ --text="Dosyayı kayıt etmediniz!"
8-İlerleme Diyaloğu
–progress seçeneğini kullanarak ilerleme diyaloğu oluşturabilirsiniz. Zenity standart dosyadan verileri okurken satır satır okur ve “#” karakterini görünce o satırdaki veri ile durmu günceller. Eğer satır başında sayı da varsa bunu işlemin yüzdesi olarak algılar ve ona göre işlem yapar.
İlerleme diyaloğu aşağıdaki seçenekleri destekler. view source print?
--text=text
İlerleme diyaloğunun text kısmına ne yazmamız gerektiğine olanak verir.
--percentage=yuzde
İşlem yüzdesinin nereden başlaması gerektiğini ayarlamamıza yardımcı olur.
--auto-close
İşlem %100 olduğunda işlemi kapatır.
Aşağıdaki script örneği bunu daha iyi açıklayacaktır.;
#!/bin/sh ( echo "10" ; sleep 1 echo "# Sistem kuruluma hazırlanıyor..." ; sleep 1 echo "20" ; sleep 1 echo "# Dosyalar kopyalanıyor..." ; sleep 1 echo "50" ; sleep 1 echo "Bu satır okunmayacak!" ; sleep 1 echo "75" ; sleep 1 echo "# Sistem yeniden başlatılıyor..." ; sleep 1 echo "100" ; sleep 1 ) | zenity --progress \ --title="Kurulum" \ --text="XYZ programı kuruluyor..." \ --percentage=0 if [ "$?" = -1 ] ; then zenity --error \ --text="Kurulum İptal Edildi." fi
9-Metin Giriş Diyaloğu
–entry seçeneğini kullanarak metin giriş diyaloğu oluşturabilirsiniz.
Metin girişi diyaloğu aşağıdaki seçenekleri destekler;
--text=metin
text kısmına ne yazmamız gerektiğine olanak verir.
--entry-text=text
Varsayılan olarak metin kurusunun içeisinde ne olması gerektiğini belirtir.
--hide-text
Girilen metinin gizlenmesini sağlar bu özellik parola girişi sırasında kullanılabilir.
Aşağıdaki script örneği bunu daha iyi açıklayacaktır.;
#!/bin/sh if zenity --entry \ --title="Parola" \ --text="Parola Gir:" \ --entry-text "" \ --hide-text then echo $? else echo "Parola girilmedi." fi
Sonuç
Evet Zenity’nin kabuk programlama açısından ne kadar önemli bir gui ortamı sunduğunu anlamış olduk. Yararlandığım kaynağı Türkçe’ye çevirirken elbette birçok hata yapmışımdır ama pek çok şeyi deneyerek ve yeni yöntemleri ekyerek yazdığımdan emin olabilirsiniz. Hatta edindiğim yeni bilgileri de mutlaka ekleyeceğimden emin olunuz. Bu konuyu daha derinlemesine anlatacak arkadaşlara başlangıç seviyesinde bir Zenity rehberi hazırlayabildiysem ne mutlu bana. Kaynağı oluşturma aşamasında oluşturduğum dosyalarıda yazının sonuna ekledim inceleyebilirsiniz.
Dış Bağlantılar
http://library.gnome.org/users/zenity/stable/index-info.html.en