|
Efsane - İlk Türk X Pencere Yöneticisi |
|
Kısaca Efsane Efsane,
X Window System altında çalışan, özgün bir pencere yöneticisidir.
En önemli özelliklerinden birisi ülkemizde yazılmış ilk ve şu anda
tek pencere yöneticisi olmasıdır. Diğer pencere yöneticileriyle karşılaştırıldığında
görünüm ve kullanım açılarından önemli farklılıklar gösterir. Efsane’nin Ortaya ÇıkışıEfsane
projesi, Tübitak 1999 Lise Öğrencileri Arası Araştırma Projeleri Yarışması’na
Bilgisayar Dalı’nda katılabilmek amacıyla, yani tamamen şahsi
bir amaçla ortaya atılan birçok projeden biridir. Yarışma amacı güdülmesi
nedeniyle, proje tamamen benim tarafımdan düşünülmüş, planlanmış
ve gerçekleştirilmiştir. Hala da projede benden başka geliştirici
bulunmamaktadır. Yarışmaya katılma amacıyla ortaya atılan projeler
arasında Efsane’nin seçilmesinde ise diğer projelerle ilgili Görkem
Çetin Bey dahil olmak üzere, birçok insana danışılmış ve gelen
yorumlar sonucu onların Efsane kadar önemli olmadığına karar verilmiş
olmasıdır.
Efsane’nin TarihiEfsane, 1998 yılında geliştirilmeye başlanmış ve 11 Şubat 1999 tarihinde ilk Beta sürümü olan 0.1.1.1 sürümüne ulaşılmıştır. Bu sırada Efsane, Turgut Uyar Bey’in ilgisini çekti ve Efsane’nin eski sürümlerinden bir tanesi ilk Türk Linux dağıtımı olan Turkuaz Linux’a dahil oldu. Kullanıcılara 14 Mayıs 1999 tarihinde sunulan 0.5.11 sürümünden hemen sonra ara bir sürüm olan 0.5.2 ile Tübitak 1999 Lise Öğrencileri Arası Araştırma Projeleri Yarışması’nın Bilgisayar Dalı’nda Türkiye İkinciliği ödülüne layık görülmüştür. Daha sonra Efsane kısa bir süre gelişmeye devam etmiş ve 16 Temmuz 1999 tarihinde çıkan 0.6.0 sürümünden sonra Efsane’nin gelişimi uzun süreliğine durdurulmuştur. Son
olarak Gelecek Linux adlı yeni Türk Linux dağıtımına girebilmek için
bir ara sürüm olan 0.6.5 sürümü, 9 Eylül 2000 tarihinde kullanıcılara
sunulmuştur. Fakat bazı optimizasyon ve RPM paketi hazırlama
problemlerinden dolayı Efsane, Gelecek Linux 1.0’da bulunmamaktadır. Efsane’nin Geleceği Efsane’nin Gelecek Linux için hazırlanan 0.6.5 sürümünün, Gelecek Linux 1.1’de bulunması için gerekli iletişim Görkem Çetin Bey ile sağlanmıştır. Bir aksilik olmazsa, birçok kullanıcının da istediği gibi Efsane, Gelecek Linux içinde rahatlıkla kullanılabilecektir Efsane’nin bir sonraki sürümü olan 0.7.0’ın çalışmaları 2000 yılının Ağustos ayında başlamıştır. Ekim 2000’de ise 0.7.0’ın eski Efsane’den bağımsız olmasına karar verildi. Yani Efsane 0.7.0 yeniden yazılacak ve eski Efsane’deki sorunlardan kurtulacak. Bu nedenle adı da Efsane II olarak değiştirildi. Efsane II’de görünüm ve kullanım da tamamen değişecek. Ayrıca Efsane II paketinin içerisinde çok daha fazla yan uygulama bulunacak. Bunların içinde dosya yöneticisi, hesap makinesi gibi uygulamalar olacak. Efsane II’nin yan uygulamalarının ekran görüntüleri Efsane’nin ev sayfasında (aşağıda Daha Çok Bilgi kısmında verilmiştir) bulunabilir. Efsane II paketinin pencere yöneticisi de ekran görüntüsü alınabilecek bir duruma geldiğinde, onun görüntüleri de yine ev sayfasından alınabilecektir.
Teknik
Altyapı Efsane, tamamen C++ ile OOP (Nesneye Dayalı Programlama) tekniği kullanılarak hazırlanmıştır. Derleyici olarak GNU C Compiler tercih edilmiştir. Yan programlar için de grafiksel öğe kütüphanesi olarak QT kullanılmıştır. Efsane paketinin temeli olan pencere yöneticisi, QT gibi bir grafiksel öğe kütüphanesi kullanmamaktadır. Tamamen standart X kütüphaneleri kullanılarak hazırlanmıştır ve bu nedenle de birçok sisteme uyumludur. Efsane
II’de OOP’nin yeteneklerinden sonuna kadar faydalanılmakta ve Efsane
II’de gelişmiş birçok grafiksel öğe bulunmaktadır. Ayrıca Efsane
II’de grafik işlemleri için Imlib kütüphanesi kullanılmaktadır. Efsane’nin
Özellikleri Efsane temel olarak, bütün pencere yöneticileri gibi X ortamında uygulamaları yönetme özelliklerini barındırır. Eski Efsane bazı modern standartlardan yoksun olduğundan, günümüz uygulamalarından bazılarıyla (örneğin XMMS) uyumsuzluk göstermektedir. Fakat hızla geliştirilmekte olan Efsane II, X ile ilgili bütün standartları desteklemektedir. Efsane’nin eski sürümlerindeki bir özellik de Efsane’nin uzaktan kontrol edilebiliyor olmasıydı. Yani ağ bağlantısı (Internet bağlantısı dahil) olan bir sisteme kurulduğunda, ağa bağlı başka bir makineden Telnet protokolü ile Efsane’yi yönetmeniz mümkündü. Örneğin hangi programların çalıştığını öğrenmek, pencereleri kapatmak, yeni uygulamalar çalıştırmak ve pencereleri hareket ettirmek gibi. Fakat X ortamının bu şekilde yönetilmesinin gereksiz olduğuna karar verildiği, bu yönetim sisteminin yeteneklerinin birçoğunun standart kabuk tarafından da yapılabileceği düşünüldüğü ve bazı güvenlik açıklarına neden olabileceği ihtimali göz önünde bulundurulduğu için Efsane’nin bu özelliği Efsane II’de bulundurulmayacaktır. Efsane’nin kolay kullanım özelliklerinden birisi de, pencerelerin sistem menülerinde uygulama menüsünün de bulunmasıdır. Yani, bir uygulamayı tam ekran kullanırken, eğer ortalıkta bir araç çubuğu da yoksa, diğer pencere yöneticilerinde yapmanız gereken, pencereyi küçültüp veya ikonlaştırıp, diğer uygulamayı çalıştırmak, sonra bu küçülttüğünüz pencerenizi tekrar eski haline döndürmektir. Halbuki Efsane’de, pencerenin sistem menüsüne girip, oradan uygulamalar menüsüne geçebilir ve istediğiniz bir programı direk çalıştırabilirsiniz. Bu özellik, ortama kullanışlılık kattığından Efsane II’de de aynen bulundurulacaktır. Efsane II’de ayrıca Theme desteği bulundurulacaktır. Yani kullanıcı, Internet’ten indirebileceği bir paket sayesinde Efsane II pencerelerinin görünümünü Windows’a ya da KDE’ye benzetebilecektir. Fakat Efsane II’nin kendine özgü, diğer pencere yöneticilerine veya grafik ortamlarına benzemeyen standart bir arayüzü de bulunmaktadır. Efsane II’de menülerinizi tasarlamak için gerekli bir uygulama ve sistemdeki birçok X uygulamasını tanıyıp otomatik olarak menüye yerleştirebilecek bir uygulama bulunacaktır. Fakat bunları tercih etmek yerine, KDE menülerinizin de Efsane II tarafından kullanılmasını sağlayabilirsiniz. Böylece KDE için hazırladığınız veya Linux paketinizin hazırladığı menüyü Efsane II’ye uygulamak için tek bir seçeneği işaretlemeniz yeterli olacak. Ayrıca
Efsane II’de sadece gelişmiş pencere yöneticilerinde görebileceğiniz
modül desteği de bulunmaktadır. Yani Efsane II’ye modül olmak üzere
hazırlanmış bir yazılım, Efsane II’nin araç çubuğuna yerleşip
orada çalışmaya devam edebilecek. Efsane
Neden Kullanılabilir? Eski Efsane’yi birçok insan denemiş, fakat eksikleri, barındırdığı hataları ve bazı özelliklerinin kullanışsızlığı nedeniyle kullanmak istememiştir. Bu nedenle eski Efsane’nin kullanılması için yeterli bir sebep gösterilemez. Fakat Efsane II’de bütün bu bildirimler dikkate alınarak yepyeni bir ortam yaratılmaktadır. Efsane II’nin kullanılması için gösterilebilecek bazı sebepler şöyle sıralanabilir: 1) Göze hitap eden ve zevke/alışkanlıklara göre değiştirilebilen grafik ortamı 2) Kullanışlı pencereler, menüler ve araç çubuğu 3) Sınırsız sayıda sanal masa üstü 4) Tamamen bir Türk yazılımı olduğundan, tamamen Türkçe destek 5)
Kullanıcıların önerileri doğrultusunda gelişen bir ortam Projeye
Katkı Efsane projesine katılım, sınırlı olmakla birlikte mümkündür. Efsane II paketindeki, Efsane Pencere Yöneticisi’nin benim için önemi dolayısıyla, bu kısıma hiçbir zaman ortak alınmayacaktır. Fakat
projenin asıl amaçlarından birisi KDE gibi, sadece bir pencere yöneticisinden
daha öteye gidip, bir masaüstü ortamı olabilmektir. Bu yüzden de
Efsane, gün geçtikçe birçok yan uygulamaya sahip olacaktır. Bu
nedenle kendi yazılımını geliştiren herhangi bir geliştirici, yazılımını
QT kütüphanesiyle hazırladıysa, Efsane II paketi içine dahil
edebilecektir. Böylece hem Efsane II’ye olan talep artacak, hem de
artan talep dolayısıyla projeye katılan yazılımın kullanıcı sayısı
da artacaktır. Yazılım
Geliştiriciler İçin Efsane’nin gelişimi süresince Linux altında ve X kullanarak programlama konusunda birçok problem yaşanmıştır. Benzer kategoride veya benzer kütüphaneler kullanılacak yazılımlar ve yazılımcıların da aynı problemleri yaşamaması için benden her zaman yardım talep edilebilir. Tabi ki Efsane II projesinin yanında başka bir projeye aktif olarak katılmayı düşünmüyorum. Fakat takıldığınız yerlerde, daha önceden benzer bir problemi yaşamış olma ihtimalim yüksek. Şahsen proje süresince en çok takıldığım nokta X’in çalışma mantığını ayrıntılarıyla anlayamamış olmam ve bu nedenle eski Efsane’yi sisteme tam olarak oturtamamış olmamdı. X’in çalışma mantığını öğrenmek için önerebileceğim bir kaynak var. Efsane II’ye başlamadan önce bu kitaptan bir tane edindim ve bu sayede Efsane II, sistemle çok daha uyumlu çalışıyor. Kitabın adı: Xlib Programming Manual ve yazarı da Adrian Nye. Ayrıca
eski Efsane’de C++’ın sadece OOP özelliklerinin küçük bir kısmından
yararlanılmıştır. Efsane II’de C++’ın OOP’si daha fazla kullanılmış
ve diğer bazı özellikler de işe yaramıştır. C++’ı tam olarak öğrenmek
için de Bjarne Stroustrup’un The C++ Programming Manual
isimli kitabını kullandım. Daha
Çok Bilgi Efsane ve Efsane II ile ilgili daha çok bilgiyi Efsane’nin kendi sitesinden almanız mümkün. http://efsane.sitebest.com adresi Efsane’nin ev sayfasıdır. Ayrıca Linux Kullanıcıları Derneği tarafından da Efsane için bir sayfa açılmıştır. http://efsane.linux.org.tr adresinden de bu siteye ulaşabilirsiniz. Türkçe içerik olarak bu iki site aynı olmakla birlikte, http://efsane.sitebest.com adresinde İngilizce içerik de bulunmaktadır. Ayrıca
Efsane ile ilgili her türlü sorun ve önerinizi, programın yazarı olan
Serdar Özler’e, yani bana (sozler@sitebest.com)
gönderebilirsiniz Lisans Efsane ücretsizdir ve lisans olarak da GPL kabul edilmiştir. Yani Efsane, GPL’de belirtilen koşullar yerine getirtildiği sürece ücretsiz olarak kullanılabilir, kaynak kodu temin edilebilir ve belirli medyalar yolu ile dağıtılabilir.
Yazıyla ilgili görüş ve yorumlarınızı sozler@sitebest.com ve yorum@teknoTurk.org adreslerine yollayabilirsiniz.
|