5/20/2013

Ekran kırpma aracı da kullanıma hazır.


Merhabalar, bu hafta uygulamaya yeni bir özellik ekledim. Bu özellik projenin ilk taslağında olmayan bir özellikti, danışmanıma önerdiğimde beğendi ve eklemeye karar verdik. Öncelikle Cairo grafik kütüphanesiyle uğraşmam gerekiyordu, bu da bilmediğimden gözümü korkutuyordu fakat Cairo'nun tam da olması gereken basitlikte ve harika işler yapabilen bir kütüphane olduğunu öğrendim, bu da işimi oldukça kolaylaştırdı. Aracı yazarken yaptıklarım ekran görüntüsüne biraz şeffaflık ekleyip tam ekran bir pencereye basmak, imleç ile seçilen dikdörtgene ekran görüntüsü şeffaflık eklemeden tekrar basmak ve etrafına kesikli bir çerçeve eklemek, böyle anlatıyorum ama yaptıklarım gerçekten de paint_with_alpha() rectangle() set_border_width() gibi fonksiyonlarla tam da anlattığım basitlikte yapılıyor, bir gün işiniz düşerse bu kütüphaneyi çok seveceğinize eminim. Bu araç ile ilgili commit'e bu adresten ulaşabilirsiniz, deneme yanılma yöntemiyle geliştirdiğimden bu commit'in pek atomik bir yanı yok maalesef.

Bu hafta içerisinde canımı sıkan uzun Evernote linklerinden de projeye goo.gl link kısaltma hizmetini kullanacak eklemeler yaparak kurtuldum. Tabii ki bu özellik isteğe bağlı olacak.

Bunun haricinde hafta başında Oğuz Yarımtepe'nin uygulamayı Kde üzerinde denemesiyle projede bildirim seslerini çaldırmak için kullandığım /usr/bin/canberra-gtk-play yolunda bulunan uygulamanın sadece Gnome tabanlı masaüstü ortamlarında kurulu geldiğini öğrendim. apt-file aracıyla bu dosyanın gnome-session-canberra paketinde yer aldığını tespit ettim. Tam bu paketi bağımlılık olarak ekleme planları yapıyordum ki yine evdeki hesap çarşıya uymadı. Maalesef bu paket Gnome oturum açılış ve kapanış seslerini çaldırmakla yükümlü. Kde kullanıcılarına Gnome açılış sesi dinletmek pek akıllıca bir çözüm olmayacağından, şimdilik bu dosyayı çağıran kısımı bir try/catch bloğuna alarak hata vermesini engelledim. Tabii bu geçici bir çözüm, kalıcı çözüm için ise canberra-gtk-play kaynak kodunu incelemeye başladım. Bu C kodunun benzerini Python'a uyarlayarak bildirim seslerini libcanberra ile kendim çaldırmayı hedefliyorum.


Haftanın geri kalanında OpenSUSE Build Service ile uğraştım, daha önce kurcalayıp becerememiştim. Bu sefer oldukça olumlu sonuçlar elde ettim. Geçen hafta oluşturduğum paketleri bu kez de OBS üzerinde Ubuntu 12.04/12.10/13.04 ve Fedora 17/18 dağıtımları için hem 32 hem 64 bit olarak derletip, paketlettim. Şimdilik uygulama farklı mimarilerde derlenmeye ihtiyaç duymuyor ama önümüzdeki günlerde klavye kısayolları atamak için C ile yazılmış bir kütüphane kullanmam gerekecek (bunun nedenleriyle ilgili detaylı bir yazı yazmayı düşünüyorum) ve bu kütüphanenin her mimari için ayrı ayrı derlenmesi gerekecek. Bu açıdan OBS benim için inanılmaz işimi kolaylaştıran bir araç oldu. Ayrıca yum ve apt gibi araçlar ile de paket deposu olarak kullanılabilmesi uygulamayı kullananların güncellemeleri otomatik olarak alabilmelerini sağlayacak. Aynı işi yapan bir başka alternatif de Launchpad ancak o sadece Ubuntu dağıtımı için derleme ve paketleme işlemi gerçekleştirebiliyor. Bu açıdan OBS desteklediği onlarca dağıtım ile birkaç boy ileride diyebiliriz. 

Önümüzdeki hafta Final sınavlarım olduğu için tüm bu heyecan dolu araştırma ve geliştirme sürecine ara veriyorum. Yakından Eğitim danışmanlarına da anlayışlı davranarak bitiş tarihini on gün erteledikleri için ayrıca teşekkür etmek istiyorum.

Saygılarımla

1 yorum:

Tuncay Kilicoglu dedi ki...

Eline sağlık Özcan güzel olmuş. Benim kullanırken eksikliğini hissettiklerim şöyle :
-Programın çalıştığına dair bir bilgilendirme olması( Çalışmıyor bu program deyip 5 dk sonra görev çubuğundaki transparan ikonun dikkatimi çekmesiyle çalıştığını anladım.)

-Copy from Selection seçeneğinde seçilen kısımın Enter tuşuna bastıktan sonra yakalandığınıda deneme sonucu buldum. Kısa yolları biryerlerde göstermek lazım.

-Yakalanan görüntüyü önizleme yapabilmek güzel olurdu.

-Eğer görüntü biryerlere upload ediliyorsa upload ediliyor, %x kısmı upload edildi gibi bilgilendirmeler gerekli. Çünkü Copy from file seçeneğinde dosyam biraz büyükmüş ve herhangi bir bilgilendirme olmadığı için upload edilinceye kadar ne olduğu anlamadım.

Yorum Gönder