Efe Çiftci: Bir KWin Teması: Oxygen-appmenu

Başlatan Ozmo, 28 Aralık 2011 - 20:12:49

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Ozmo

Sanırım Windows 7′nin çıkmasıyla birlikte uygulamaların pencere başlık çubuklarına kendi istedikleri gibi menü yerleştirebilmelerinin önü açılmıştı:



Bunun peşinden Ubuntu ve Global Menu geldi. Global Menu, Mac OS X'in pencere menülerinin ekranın en tepesinde belirmesine benziyordu:



Bu sürece Linux açısından bakacak olursak işler pek göründüğü gibi kolay olmuyor, yani "Hadi Firefoxçuğum, menünü yukarıya çek" demekle olacak kadar kolay değil. Linux'ta masaüstü ortamının ve pencerelerin ne şekilde yönetildiğini bilenler vardır; GNOME için Metacity adı verilen, KDE için KWin adı verilen vb. "pencere yönetici" dediğimiz uygulamalar vardır. Bu uygulamaları tek amaçları, kendilerini kullanan pencerelerin konum, sıra, boyut gibi bilgilerini yönetmektir. Tek başına olan bir pencere yöneticiyi içi tamamen boş olan, sadece tepesinde başlık, küçült, büyüt, kapat tuşları olan çubuk ve 3 kenarındaki kenarlıklar şeklinde düşünebiliriz. Pencere yöneticiler olmazsa Linux'ta açık olan pencereleri taşıyamaz, yeniden boyutlandıramayız. Pencere yöneticiler ve uygulamalar arasında ise normal şartlar altında hiç bir bağlantı yoktur, yani bir pencere yönetici kendi içinde çalışan programda neler vardır bilgisi olmaz, o sadece o uygulamanın etrafına çerçevesini çizer. Yani özetle ekranda gördüğünüz herhangi bir uygulama aslında iki farklı uygulamadan oluşuyor: uygulamanın kendisi ve uygulamanın etrafını çerçeveleyen pencere yönetici:


Pencere Yönetici                                                                                                      Pencere Yönetici'ye bağlanan KCalc uygulaması

Bakın normal şartlar altında dedim, her zaman demedim. Mesela yukardaki Ubuntu ve Global Menu örneğine geri dönelim. Global Menu'nün ekrandaki terminal uygulamasına "ait olan" menüyü uygulama dışındaki bir masaüstü bileşenine (panel) çıkartabilmiş olmasının altında D-Bus adını verdiğimiz uygulamalar arası haberleşme kanalı yer alıyor. Global Menu ekrandaki seçili olan pencere ile D-Bus kanalı aracılığıyla haberleşmeye geçiyor ve diyor ki "kendi menünün yapısını benle paylaş ve sonra menü çubuğunu gizle", daha da sonra uygulamadan gelen menüyü kendi içersinde çiziyor.

KDE'nin eli armut toplamıyor tabii bu arada. KDE4′te de "Window Menubar" adı verilen bir plasmoid bulunuyor. Plasmoid'leri bilirsiniz, ister masaüstünüze ister panelinize istediğiniz gibi yerleştirebildiğiniz masaüstü programcıkları. Bu plasmoid'in yaptığı şey Global Menu ile tamamen aynı, detaylarına girmeyi planlamıyorum bu yüzden.

Aşağıda ise geride bıraktığımız birkaç saat içinde ise ta nisan ayından beri geliştirilmesine rağmen yeni haberdar olduğum bir KWin teması yer alıyor, Oxygen Appmenu:



Kendisi gördüğünüz üzere Global Menu ve Window Menubar gibi çalışan uygulamalardan menü bilgilerini çalıp bir başka uygulamaya yönlendiriyor – bu sefer bizzat pencere yöneticisi olan KWin'e. Bu temanın standart KWin teması olan Oxygen'den tek farkı, Oxygen üzerine bir de görmüş olduğunuz menü arabirimini ekliyor olması.

Bu tema gördüğüm kadarıyla (henüz) Ubuntu paket depolarına girmiş durumda değil ancak isterseniz temanın KDE-Look.org'daki sayfasından hazır deb paketini indirebilirsiniz. Eh tabi yer yüzündeki tüm dağıtımlar deb paketleriyle çalışmadığı için isterseniz de temanın kaynak kodunu çekip kendi sisteminizde derleyip kullanmaya başlayabilirsiniz.

Kubuntu için konuşmak gerekirse derleme işlemine başlamadan önce sisteminize kurmanız gereken bazı paketler var:

sudo apt-get install git appmenu-qt appmenu-gtk kdelibs5-dev cmake libdbusmenu-qt-dev qt4-qmake build-essential libxrender-dev kdebase-workspace-dev

Ön hazırlığı tamamladıktan sonra temanın kaynak kodlarını internetteki deposundan çekmek gerekli:

git clone git://anongit.kde.org/scratch/cedric/oxygen-appmenu.git

Daha sonra da yapmanız gereken şey kaynak kodları derlemek ve temanın sisteme kurulumunu gerçekleştirmek:

cd oxygen-appmenu
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ..
make
sudo make install


Eğer make satırından sonra derleme işleminiz liboxygenstyle kelimesini içeren bir hata nedeniyle kesilirse aşağıdaki gibi bir düzeltme yapmanız gerekmekte:

sudo ln -s /usr/lib/liboxygenstyle.so.4 /usr/lib/liboxygenstyle.so

Eğer herşey yolunda giderse sistem ayarları uygulamasından çalışma alanı görünümü seçeneklerinden yeni temanızı seçebilir hale geleceksiniz demektir.

http://www.efeciftci.com/2011/12/28/bir-kwin-temasi-oxygen-appmenu/
http://forum.debian.org.tr/index.php?topic=3190.0;topicseen

decent

Konu şuradaki (1) ile aynı mıdır ?
(1) http://kde-look.org/content/show.php/Oxygen-appmenu?content=141254

ve

Ulaşılmak istenen hedef resimdeki menü müdür ?



amon-ra

Alıntı yapılan: decent - 28 Aralık 2011 - 20:51:44
Konu şuradaki (1) ile aynı mıdır ?
(1) http://kde-look.org/content/show.php/Oxygen-appmenu?content=141254

ve

Ulaşılmak istenen hedef resimdeki menü müdür ?



Menüyü panele değil de pencere başlığına taşıyor.

özgürubuntu

#4
Kubuntu için, ilk iletideki gibi derlemeye gerek yok arkadaşlar KDE-Look sayfasından "Kubuntu packages" linkine tıklayın ve kurulumunu yapın ;
sudo add-apt-repository ppa:gnumdk/ppa
sudo apt-get update
sudo apt-get install kwin-style-oxygen-appmenu
ile kurulumunu yapın veya update komutundan sonra sisteminize uygun paket linkine tıklayarak kurun ;

32 Bit için : https://launchpad.net/~gnumdk/+archive/ppa/+files/kwin-style-oxygen-appmenu_4.7.2-0ubuntu0%7Egnumdk2_i386.deb
64 Bit için : https://launchpad.net/~gnumdk/+archive/ppa/+files/kwin-style-oxygen-appmenu_4.7.2-0ubuntu0%7Egnumdk2_amd64.deb

Kurulum bittikten sonra ; Sistem Ayarları > Çalışma Alanı Görünümü ve Davranışı > Çalışma Alanı Görünümü > Pencere Dekorasyonları menüsünden Oxygen-appmenu seçip Kubuntu'dan logout (çıkış) yapın. Yeniden başlattığınızda pencere menülerini göreceksiniz. Üstelik pencere düğmeleriniz soldaysa Menü sağa yerleşiyor bende olduğu gibi ;

eribol

@özgürubuntu, anlatımda kubuntu için derleme anlatılmamış sanırım. Derleme işlemleri hazır paketi olmayan sistemler için ele alınmış.

özgürubuntu

@eribol, iletimi düzenledim, teşekkürler uyarın için