2009
09.15

guk

Özgürlük İçin’de Charlotte v1.0′i görünce, aklıma saat başı (ya da dakika başı) öten cd-rom’ı açıp, kapatan bir guguklu saat yapma fikri geldi. Ama sonra cd-rom’un ömrünü tüketmektense sadece ötüp, dursun diye düşünmeye başladım. İlk önce pygame .mp3 çalan önceki yazımda belirtiğim betiği kullandım. Sonra güzel bir while döngüsü ile sistem saatini durmadan güncelleyip, dakika bölümünün 0 olmasını bekleyerek ilk denememi yaptım. Fakat gelin görün ki işlemcim PyGuguk’un döngüsüyle %90′larda çalışmaya başladı.

time.sleep() kullanarak sadece saatin bir kere güncellenmesiyle yapabileceğini görüp, ikinci bir deneme daha yaptığımda pyguguk işlemcimi yormadan “guuuguuk” demeye başladı. Sonra bu güzel guguklamayı, Knazar gibi saatin yanında yer almasını istedim. Qt’deki TrayIcon ile bunu başarmışken, kullandığım while döngüsü beni yüz üstü bırakmıştı. Çünkü qt donuyordu. Google’da yaptığım onlarca aramadan sonra bana gereken thread (en küçük yönetim birimi) denen bir modülmüş. Bu modül ile arkaplanda iş yapabilir, arayüzünüze bir şey olmamasını sağlıyabiliyormuşuz. Yaptığım birkaç denemeden sonra artık PyGuguk, Knazar gibi, saatin yanında guguklamaya devam ediyor.

Fakat başaramadığım bir konu da, program açıkken sesini kesememen. Programı eğer denerseniz, “Kes sesini” dediğinizde program kendini kapatıyor.

Hataları var mı ? Evet var. guguk-thread.py’da garip bir kapatma yolu var. Neyse gene de çalışıyor. Thread modülü için güzel bir örnek olabilir.

İndirmek için buraya gidebilir, logoyu beğenmediyseniz (ben de pek beğenmedim) güzel bir logo yapabilirsiniz.
(Bu dakika başı öten sürümüdür. Python’a yeni başlayanlar modifiye edebilirler. Eğer güzel yorumlar alırsam,  guguklu saati baştan geliştireceğim.)

Benzer yazılar:

  1. Kontrolcu 2.0-alpha’yı Yayınladık!

2 yorum yapılmış.

Yorumla!
  1. Bence çok güzel bir düşünce, ancak tıpkı gerçek guguklu saatler gibi her saat başı o saatin sayısı oranınca guguk diye ötse ve her yarım saatte bir de sadece bir kez guguklasa çok güzel olur.
    Eğer böyle bir şey yaparsanız logoyu yapmaya talibim. :)

  2. Yorumunuz için teşekkür ederim. Bunu bir teknoloji demosu olarak görebilirsiniz. Gerçek bir guguklu saat, yaptığım bu demodan sonra pek zor olmayacaktır. Boş bir zaman bulursam, logo için ilk size başvuracağım. :)