Zenity ile kabuk proglamlama: Revizyonlar arasındaki fark
kDeğişiklik özeti yok |
|||
(4 kullanıcıdan 20 ara revizyon gösterilmiyor) | |||
1. satır: | 1. satır: | ||
==Zenity | ==Zenity ile kabuk proglamlama== | ||
===1-Giriş=== | ===1-Giriş=== | ||
34. satır: | 34. satır: | ||
“Bir isim seçin”. | “Bir isim seçin”. | ||
====2- b)Çıkış | ====2- b)Çıkış kodları==== | ||
Zenity aşağıdaki çıkış kodlarını döndürür. | Zenity aşağıdaki çıkış kodlarını döndürür.<br> | ||
{| style="background-color:#f9eaaf;" width="440" | |||
Çıkış Kodu | !Çıkış Kodu!! Tanım | ||
0 | |---------------------------------------- | ||
1 | | 0 ||Kullanıcı Tamam veya Kapat butonuna basmıştır.<br> | ||
-1 | |---- | ||
5 | | 1 ||Kullanıcı İptal veya pencere kapat butonuna tıklamıştır.<br> | ||
|---- | |||
====2- c)Genel | | -1 ||Beklenmedik bir hata meydana gelmiştir.<br> | ||
|---- | |||
| 5 ||Diyalog, işlem zaman aşımına uğradığı için kapanmıştır.<br> | |||
|---- | |||
|} | |||
====2- c)Genel seçenekler==== | |||
Application Options: | Application Options: | ||
{| style="background-color:#f9eaaf;" width="540" | |||
! 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: | Bütün Zenity diyalogları aşağıdaki genel seçenekleri desteklerler: | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --title=Baslik | |||
|} | |||
Başlık diyaloğunu özelleştirir. | Başlık diyaloğunu özelleştirir. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --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. | 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. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --width=genislik | |||
|} | |||
Diyalog penceresinin genişliğini düzenler.. | Diyalog penceresinin genişliğini düzenler.. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --height=yukseklik | |||
|} | |||
Diyalog penceresinin yüksekliğini düzenler… | Diyalog penceresinin yüksekliğini düzenler… | ||
====2- d)Yardım | ====2- d)Yardım seçeneği==== | ||
Zenity’in bir diyaloğu hakkında yardım almak için ; | Zenity’in bir diyaloğu hakkında yardım almak için ; | ||
{| style="background-color:#f9eaaf;" width="200" | |||
#zenity --help --[arguman] | | #zenity --help --[arguman] | ||
|} | |||
şeklinde komut verilebilir. | şeklinde komut verilebilir. | ||
Zenity hakkında bilgi için ; | Zenity hakkında bilgi için ; | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| #zenity --about | |||
|} | |||
Zenity versiyon bilgisi için ; | Zenity versiyon bilgisi için ; | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| # zenity --version | |||
|} | |||
[[Resim:Zenityversion.jpg]] <br> | [[Resim:Zenityversion.jpg]] <br> | ||
komutları verilerek bilgi sahibi olunabilir. | komutları verilerek bilgi sahibi olunabilir. | ||
101. satır: | 121. satır: | ||
(Not: Bu çalışmada anlatılanlar v2 ve 2.28.0 üzerinde denenenlerdir.) | (Not: Bu çalışmada anlatılanlar v2 ve 2.28.0 üzerinde denenenlerdir.) | ||
====2- e)GTK+ | ====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 | Zenity standart GTK+ seçeneğini de destekler. Daha fazla GTK+ seçeneği hakkında bilgi edinmek için | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| #zenity -? | |||
|} | |||
komutunu veriniz. | komutunu veriniz. | ||
===3-Calendar | ===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. | Takvim seçeneği aşağıdaki seçenekleri destekler. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --text=metin | |||
|} | |||
Belirleyeceğiniz text takvim diyaloğunda görülecektir.. | Belirleyeceğiniz text takvim diyaloğunda görülecektir.. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --day=gun | |||
|} | |||
1-31 arasında seçeceğiniz takvim diyalog seçeneğidir. | 1-31 arasında seçeceğiniz takvim diyalog seçeneğidir. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --month=ay | |||
|} | |||
1-12 arasında seçilebilen takvim ay seçeneğidir. | 1-12 arasında seçilebilen takvim ay seçeneğidir. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --year=yil | |||
|} | |||
Takvim yıl seçeneği. | Takvim yıl seçeneği. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --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 | 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; | Aşağıdaki script size nasıl bir takvim diyaloğu oluşturulması husunda yardımcı olacaktır; | ||
147. satır: | 167. satır: | ||
[[Resim:Zenitytakvim.jpg]] <br> | [[Resim:Zenitytakvim.jpg]] <br> | ||
===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; | Dosya seçim penceresi aşağıdaki özellikleri destekler; | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --filename=Dosya_ismi | |||
|} | |||
Bu seçenek dosya ve dizinlerin ,dosya seçim penceresinde ilk göstereceği dizin veya dosyayı belirlememizi sağlar. | Bu seçenek dosya ve dizinlerin ,dosya seçim penceresinde ilk göstereceği dizin veya dosyayı belirlememizi sağlar. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --multiple | |||
|} | |||
Dosya seçimi penceresinde birden fazla dosya seçmemize olanak sağlar. | Dosya seçimi penceresinde birden fazla dosya seçmemize olanak sağlar. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --directory | |||
|} | |||
Sadece seçili dizinin içerisindeki dosyaların görünmesini sağlar. | Sadece seçili dizinin içerisindeki dosyaların görünmesini sağlar. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --save | |||
|} | |||
Dosya seçim penceresini kayıt moduna ayarlar. | Dosya seçim penceresini kayıt moduna ayarlar. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --separator=ayirac | |||
|} | |||
Dosya isimlerini listelemede ayıraç olarak kullanılabilecek bir string’e olanak sağlar. | Dosya isimlerini listelemede ayıraç olarak kullanılabilecek bir string’e olanak sağlar. | ||
184. satır: | 209. satır: | ||
[[Resim:Zenityfileselection.jpg]] <br> | [[Resim:Zenityfileselection.jpg]] <br> | ||
===5-Bildirim | ===5-Bildirim simgesi=== | ||
{{Kod||<nowiki>--text="metin"</nowiki>}} | {{Kod||<nowiki>--text="metin"</nowiki>}} | ||
197. satır: | 222. satır: | ||
--text="Sistemin güncellenmesi gerekmektedir!" | --text="Sistemin güncellenmesi gerekmektedir!" | ||
===6-Liste | ===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. | |||
{{Kod||<nowiki>--column=sutun</nowiki>}} | {{Kod||<nowiki>--column=sutun</nowiki>}} | ||
237. satır: | 262. satır: | ||
[[Resim:Zenity_list.jpg]] <br> | [[Resim:Zenity_list.jpg]] <br> | ||
===7-İleti( | ===7-İleti(mesaj) diyalogları=== | ||
Zenity ile dört farklı ileti diyaloğu oluşturabilirsiniz. | Zenity ile dört farklı ileti diyaloğu oluşturabilirsiniz. | ||
245. satır: | 270. satır: | ||
Dört ileti seçeneğinde de –text seçeneği ile görüntülenecek metini belirleyebiliriz. | Dört ileti seçeneğinde de –text seçeneği ile görüntülenecek metini belirleyebiliriz. | ||
====7- a)Error | ====7- a)Error dialog==== | ||
--error seçeneğini kullanarak hata iletisi oluşturabilirsiniz. | --error seçeneğini kullanarak hata iletisi oluşturabilirsiniz. | ||
258. satır: | 283. satır: | ||
[[Resim:Zenity_error.png]] <br> | [[Resim:Zenity_error.png]] <br> | ||
====7- b)Bilgi | ====7- b)Bilgi diyaloğu==== | ||
--info seçeneğini kullanarak bilgi diyaloğunu oluşturabilirsiniz. | --info seçeneğini kullanarak bilgi diyaloğunu oluşturabilirsiniz. | ||
270. satır: | 295. satır: | ||
[[Resim:Zenity_info6.jpg]] <br> | [[Resim:Zenity_info6.jpg]] <br> | ||
====7- c)Soru | ====7- c)Soru diyaloğu==== | ||
--question seçeneğini kullanarak soru diyaloğu oluşturabilirsiniz. | --question seçeneğini kullanarak soru diyaloğu oluşturabilirsiniz. | ||
282. satır: | 307. satır: | ||
[[Resim:Zenity.question7.jpg]] <br> | [[Resim:Zenity.question7.jpg]] <br> | ||
====7- d)Uyarı | ====7- d)Uyarı diyaloğu==== | ||
--warning seçeneğini kullanarak uyarı diyoloğu oluşturabilirsiniz. | --warning seçeneğini kullanarak uyarı diyoloğu oluşturabilirsiniz. | ||
294. satır: | 319. satır: | ||
[[Resim:Zenity_uyari8.jpg]] <br> <br> | [[Resim:Zenity_uyari8.jpg]] <br> <br> | ||
===8-İlerleme | ===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 durumu 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. | İlerleme diyaloğu aşağıdaki seçenekleri destekler. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --text="metin" | |||
|} | |||
İlerleme diyaloğunun | İlerleme diyaloğunun metin kısmına ne yazmamız gerektiğine olanak verir. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --percentage=yuzde | |||
|} | |||
İşlem yüzdesinin nereden başlaması gerektiğini ayarlamamıza yardımcı olur. | İşlem yüzdesinin nereden başlaması gerektiğini ayarlamamıza yardımcı olur. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --auto-close | |||
|} | |||
İşlem %100 olduğunda işlemi kapatır. | İşlem %100 olduğunda işlemi kapatır. | ||
336. satır: | 361. satır: | ||
fi | fi | ||
[[Resim:Zenity_progress9.jpg]] <br> | [[Resim:Zenity_progress9.jpg]] <br> | ||
===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; | Metin girişi diyaloğu aşağıdaki seçenekleri destekler; | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --text=metin | |||
|} | |||
text kısmına ne yazmamız gerektiğine olanak verir. | text kısmına ne yazmamız gerektiğine olanak verir. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
--entry-text=text | | --entry-text=text | ||
|} | |||
Varsayılan olarak metin kurusunun içeisinde ne olması gerektiğini belirtir. | Varsayılan olarak metin kurusunun içeisinde ne olması gerektiğini belirtir. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --hide-text | |||
|} | |||
Girilen metinin gizlenmesini sağlar bu özellik parola girişi sırasında kullanılabilir. | Girilen metinin gizlenmesini sağlar bu özellik parola girişi sırasında kullanılabilir. | ||
373. satır: | 399. satır: | ||
[[Resim:Zenity_text11.jpg]] <br> | [[Resim:Zenity_text11.jpg]] <br> | ||
===10-Metin | ===10-Metin bilgi diyaloğu=== | ||
–text-info seçeneğini kullanarak metin bilgi diyaloğu oluşturabilirsiniz. | –text-info seçeneğini kullanarak metin bilgi diyaloğu oluşturabilirsiniz. | ||
Metin Bilgi Diyaloğu aşağıdaki seçenekleri destekler; | Metin Bilgi Diyaloğu aşağıdaki seçenekleri destekler; | ||
{| style="background-color:#f9eaaf;" width="200" | |||
| --filename=dosya_adi | |||
|} | |||
Metin bilgilendirmesi için kullanılacak dosyanın adını belirlemek için kullanılır.. | Metin bilgilendirmesi için kullanılacak dosyanın adını belirlemek için kullanılır.. | ||
{| style="background-color:#f9eaaf;" width="200" | |||
--editable | | --editable | ||
|} | |||
Metin Bilgi Diyaloğundaki bilginin düzenlenmesini sağlar. | Metin Bilgi Diyaloğundaki bilginin düzenlenmesini sağlar. | ||
404. satır: | 431. satır: | ||
[[Resim:Zenity_list_dialog12.jpg]] <br> | [[Resim:Zenity_list_dialog12.jpg]] <br> | ||
<p>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 | == Sonuç == | ||
== | <p>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 ekleyerek 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.</p> | ||
http://library.gnome.org/users/zenity/stable/index-info.html.en | |||
== | == Ayrıca bakınız == | ||
[http://yucelkilic.com/?p=228 | * [[Zenity betiği ile otomatik bilgisayar kapatma]] | ||
[[ | * http://library.gnome.org/users/zenity/stable/index-info.html.en | ||
== Kaynakça == | |||
* [http://yucelkilic.com/?p=228 yucelkilic.com] | |||
[[Kategori:Geliştirme]] |
02.58, 7 Şubat 2015 itibarı ile sayfanın şu anki hâli
Zenity ile 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. |
5 | Diyalog, işlem zaman aşımına uğradığı için kapanmıştır. |
2- c)Genel seçenekler
Application Options:
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:
--title=Baslik |
Başlık diyaloğunu özelleştirir.
--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.
--width=genislik |
Diyalog penceresinin genişliğini düzenler..
--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 ;
#zenity --help --[arguman] |
şeklinde komut verilebilir.
Zenity hakkında bilgi için ;
#zenity --about |
Zenity versiyon bilgisi için ;
# 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
#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.
--text=metin |
Belirleyeceğiniz text takvim diyaloğunda görülecektir..
--day=gun |
1-31 arasında seçeceğiniz takvim diyalog seçeneğidir.
--month=ay |
1-12 arasında seçilebilen takvim ay seçeneğidir.
--year=yil |
Takvim yıl seçeneği.
--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.
--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="metin"
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 durumu 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.
--text="metin" |
İlerleme diyaloğunun metin 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
!/bin/bash zenity --entry \ --title="Kullanıcı Adı" \ --text="Kullanıcı Adınızı Giriniz:"
10-Metin bilgi diyaloğu
–text-info seçeneğini kullanarak metin bilgi diyaloğu oluşturabilirsiniz.
Metin Bilgi Diyaloğu aşağıdaki seçenekleri destekler;
--filename=dosya_adi |
Metin bilgilendirmesi için kullanılacak dosyanın adını belirlemek için kullanılır..
--editable |
Metin Bilgi Diyaloğundaki bilginin düzenlenmesini sağlar.
Aşağıdaki script örneği bunu daha iyi açıklayacaktır.;
#!/bin/sh FILE=`zenity --file-selection \ --title="Bir dosya seçiniz."` case $? in 0) zenity --text-info \ --title=$FILE \ --filename=$FILE \ --editable 2>/tmp/tmp.txt;; 1) echo "Dosya seçilmedi.";; -1) echo "Dosya seçilmedi.";; esac
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 ekleyerek 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.
Ayrıca bakınız
- Zenity betiği ile otomatik bilgisayar kapatma
- http://library.gnome.org/users/zenity/stable/index-info.html.en