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 Tarihi

Efsane, 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.

 

Serdar Özler

Yazıyla ilgili görüş ve yorumlarınızı sozler@sitebest.com ve yorum@teknoTurk.org adreslerine yollayabilirsiniz.