Fluxbox Dokümantasyonu

Tobias Klausmann

Yayına hazırlayan

Engelbert Gruber


İçindekiler
1. Giriş
1.1. Bu dokümantasyon hakkında
1.2. Fluxbox Hakkında
1.2.1. Fluxbox nedir
1.2.2. Özellikler
1.2.3. Fluxbox'ı Edinme Yolları
1.2.4. Soru sorma ve destek alma
2. Başlangıç
2.1. Fluxbox Kurulumu
2.1.1. Kaynakları (Source) edinmek
2.1.2. Açma ve Derleme
2.1.3. Fluxbox'ı çalıştırma
2.1.4. İhtimaller ve Sonuç
3. Araçlar
3.1. Giriş
3.2. fbrun
3.3. fluxbox-generate_menu
3.4. fluxspace
3.5. wmctrl
4. Sekmeler (Tabs)
4.1. Sekmelere giriş
4.2. Gelişmiş Sekmeler
4.2.1. Özensiz Pencere Gruplandırma
4.2.2. Tekli pencere sınıflarını sekme yapmak
4.2.3. Sekmeleri tamamen kapatmak
4.2.4. Sekme Yerleşimi
4.2.5. Otomatik Sekme Gruplama
4.2.6. Temalar içinde Sekmeler
5. Tuş Bağlantıları
5.1. Tuş algılayıcı
5.2. Tuş İsimleri
5.3. Eylemler
6. Masaüstü Arkaplanları
7. Slit
8. Araç Çubuğu
9. Menüleri Düzenlemek
9.1. Menü dosyası konumunu ayarlama
9.2. Mevcut Komutlar
10. Temalar
10.1. Tema temelleri
10.2. Gelişmiş Tema Düzenlemesi
A. .xinitrc/.xsession ayarları
B. Sıkça sorulan sorular (SSS)
C. Tema Referansı
C.1. Tema Yönergeleri
D. Fluxbox için Artwiz Fontları
E. Hata ayıklama
Tablolar
5-1. Navigation
5-2. Pencere İşlemleri
5-3. Pencere Boyutlandırma
5-4. Pencere Hareketleri
5-5. Muhtelif
10-1. Doku tanımları
C-1. Araç çubuğu biçemleri
C-2. Menü biçemleri
C-3. Pencere Biçemleri
C-4. Tutma yeri (Handlebar) biçemleri
C-5. Boyutlandırma tutacağı biçemleri
C-6. Pencere düğme biçemleri
C-7. Pencere çerçeve biçemleri
C-8. Sekme biçemleri
C-9. Pencere etiket biçemleri yazı tipleri
C-10. Muhtelif biçemler
Örnekler
4-1. groups file
5-1. Fluxbox tuş dosyası
5-2. XMMS tuş eşlemleri
5-3. XMMS için Çokluortam tuşları
5-4. Sağ Ok tuşu için xev çıktısı
7-1. Slitlist tanımı
8-1. Araç çubuğu araç örneği
9-1. Menü dosyası konumunu ayarlama
9-2. menu
10-1. Araç çubuğu Saat biçemi
10-2. Menü biçemi
10-3. Yazı tipi biçemi
10-4. Doku biçemi
10-5. Tipik kısa biçem
A-1. .xinitrc
B-1. Stil dosyalarında kişiselleştirilmiş tablar
D-1. fonts.dir

Bölüm 1. Giriş

1.1. Bu dokümantasyon hakkında

Fluxbox , X11 pencere yöneticisinin yeni dokümantasyonudur. Değişik formatlarla kolay adaptasyon amacıyla eski HTML dokümantasyonlardan yaratılmıştır.Kaynak olarak DocBook 4.1 'de (dokümantasyonlar için özel dizayn edilmiş bir format) yazılmıştır.

Bir kaç Fluxbox dokümantasyon destekçisi vardır. Şu an okuduğunuz dokümanlar büyük çoğunlukla Rando Christensen'in çalışmalarına dayandırılmış yada orjinal olarak kendisi tarafından yazılmış ve devam edilmiş ve diğerleri tarafından katkıda bulunulmuştur. Eğer adınızın burada olması gerektiğini düşünüyorsanız, lütfen düzeltilmesi için ü bilgilendiriniz.

tarafından Türkçe'ye çevrilmiştir.

Fluxbox'ın kendisini ilgilendiren sorular E-Posta listelerine yönlendirilmelidir. Üyelik bilgileri Resmi Fluxbox sayfasında bulunabilir

NotÖneriler ve Tercüme
 

İnsanların eklenmesini düşündüğü burada anlatılmamış ve iyi yazılmış tüm dokümantasyon önerilerini kabul edeceğim; Nasıl yardım edebileceğiniz hakkında sorular sormak için veya eklemek istediğiniz dokümantasyon hakkında bana yukarıda bahsedilen adrese e-posta gönderebilirsiniz.

Bu dokümantasyonun kaynağı ve HTML ve PostScript gibi değişik formatlara çevrilmiş halleri Fluxbox sitesinden elde edilebilir.Eğer değişik bir DTD veya bir başka format kullanmak isterseniz, DTD leri değiştirmek için büyük ihtimalle biraz DocBook uzmanlığına ihtiyaç duyacak olsanız da kaynak kod size yardımcı olacaktır. Eğer kaynak dosyayı Fluxbox sitesinde sunulanlardan farklı bir formata çevirmek isterseniz,docbook2x paketi yararlı olacaktır.


1.2. Fluxbox Hakkında

1.2.1. Fluxbox nedir

Fluxbox X için bir başka pencere yöneticisidir. Blackbox 0.61.1 koduna dayandırılmıştır. Fluxbox Blackbox'a benzer ve stilleri, renkleri, pencere konumlarını tamamen Blackbox gibi ele alır (%100 tema/stil uyumluluğu).

O zaman Fluxbox ve Blackbox arasındaki fark nedir? Cevap: BİR ÇOK ŞEY ! İşte burada Fluxbox'ın halihazırda sahip olduğu yada üzerinde çalışılan özellikler...


1.2.2. Özellikler

Tamamlanmış:

  • Ayarlanabilir pencere sekmeleri.

  • Antialias desteği (Xft)

  • UTF-8 desteği

  • İkonbar (küçültülmüş/ikonlaştırılmış pencereler için)

  • Pencere/Sekme otomatik gruplama

  • MouseWheel ile çalışma alanı değiştirme

  • Ayarlanabilir başlık çubuğu (buton konumları , yeni butonlar vs.)

  • KDE ve Gnome (Gnome 2 dahil) desteği

  • Gelişmiş Pencere Yöneticisi İpuçları (ewmh) desteği

  • Bütünleşik Özgül tuşyakalayıcısı (keychains gibi emacs desteği)

  • Slit seçeneğiyle Maksimize

  • Slit dockapp sıralama

Planlanan:

  • Oturum Yönetimi

  • Windows Snapping

  • Ayarlanabilir araç çubuğu

  • Diğer küçük yenilikler

Bütün bunlar bir yana, kod üzerinde bir çok değişiklik ve geliştirme yapılmıştır.


1.2.3. Fluxbox'ı Edinme Yolları

Fluxbox kaynak kodu ana Fluxbox sitesinden http://fluxbox.sourceforge.net/ indirilebilir. Çoğu Linux dağıtımı ve diğer serbest Unixler ayrıca Fluxbox'ın kaynak kodunu ve binary paketlerini ihtiva ederler. Emin olamıyorsanız, son dağıtım paketlerini kullanınız.


1.2.4. Soru sorma ve destek alma

Fluxbox oldukça kolay kullanımlı ve ayaralanabilir olsada bazı noktalarda sorular olabilir ve problemler çıkabilir. Bunların büyük çoğunluğu daha önce cevaplanmış yada çözümlenmiştir. Bu nedenle, e-posta listelerinde veya IRC kanalında soru sormaya başlamadan önce, lütfen Ek B daki sıkça sorulan sorulara bakınız.


Bölüm 2. Başlangıç

2.1. Fluxbox Kurulumu

Bu kısım Jason Gillman Jr. aka "Ircaddict" tarafından hazırlanmıştır.

Birçok dağıtım (yada, şimdilik Gentoo ve FreeBSD, portları/build leri) Fluxbox kurulumunu ağrısız sızısız yapan Fluxbox binary paketleri sunarlar. Yine de kaynak kodun derlenmesini gerektiren sebepler olabilir. Mesela, Fluxbox 'ın en son versiyonu dağıtım paketi olarak mevcut olmayabilir.Ek olarak, Fluxbox belli derleyici flaglarıyla derlenmek istenebilir. Eğer dağıtımların paketlerini kullanmak istiyorsanız, dağıtımların dokümantasyonuna başvurunuz. Bazı dağıtımlar için hem kaynak hem de binary paketler Fluxbox sitesinde sunulmuştur.

Bu dokümanın amacı X11 pencere sistemine (yada genel olarak Linux'a) oldukça yeni olan insanlara Fluxbox pencere yöneticisini derleme ve kurma aşamasında yardımcı olmaktır.


2.1.1. Kaynakları (Source) edinmek

İlk yapmak isteyeceğiniz şey download sayfasına gidip kaynak tarball'ı (uzantısı .tar.gz olacaktır) indirmektir.

Zaman zaman, özel, geliştirici sürümleri yapılır. Bunlar yeni gelecek/eklenecek şeyleri, yeni özellikleri ve bunun gibi şeyleri önceden izleme/görme imkanı verir. Bunların geliştirme-sürümü kalitesinden dolayı, bazen kararlı olmayabilirler. Bütün fayda ve tehlikeleriyle beraber Fluxbox'ın son geldiği noktayı elde edebilmek için bunları deneyebilirsiniz. Bunların nasıl elde edilebileceği hakkında bilgi almak için resmi Fluxbox sitesinde Haberler (News) kısmına bakınız.


2.1.2. Açma ve Derleme

Tamam, şimdi kaynak tarball'ı aldınız, ürünleri açmanız gerekiyor. Bu, aşağıdaki komutu çalıştırarak (indirdiğiniz dosyanın ismini kullanarak) yapılır:

    $ tar xzvf fluxbox-0.1.12.tar.gz

Sonra arşivden açılan dosyaların bir listesini gösterecek. Bunu yaptıktan sonra yaratılan dizine (fluxbox-0.1.12 gibi birşey olmalı fakat versiyona göre değişir) geçin. Bir sonraki adım Fluxbox'ı konfigure edip derlemek olacaktır. Konfigürasyon sırasında Fluxbox'ta bazı özellikleri etkin kılınabilir veya kaldırılabilir. Çoğu insan için varsayılan değerler iyidir. Eğer Fluxbox'ın Slit 'ini KDE pencere yöneticisinin panel ikonlarıyla beraber çalışmasını isterseniz, --enable-kde parametresini eklemelisiniz. aşka hangi parametreler olduğunu öğrenmek için configure betiğini --help parametresiyle çalıştırın. Eğer KDE'yi etkin kılmak istemezseniz, bu yeterli olacaktır:

    $ ./configure
    $ make

Fluxbox derlendikten sonra, root kullanıcısı olun ve şunu çalıştırın:

    # make install

Tebrikler, şu an Fluxbox'ı derlemiş ve kurmuş bulunuyorsunuz


2.1.3. Fluxbox'ı çalıştırma

Kurmayı bitirdinizse bu tamamen hoş ve güzel birşey fakat çalıştıramazsanız neye yarar?

Genel olarak X11'i (ve de Fluxbox'ı) çalıştırmanın iki değişik yolu vardır. geleneksel yöntem startx komutunu çalıştırmaktır. Diğer yol ise bir grafik ortamlı login yöneticisi (ayrıca "display-manager" olarak da adlandırılır) kullanmaktır. En yaygın kullanılan display-manager XFree86 dağıtımının da parçası olan xdm'dir. Gnome tarafından sağlanan display-manager'ın ismi gdm, KDE tarafından sağlananın ise kdm'dir.

Eğer X11 önceki yolla (startx ile) çalıştıysa, önemli dosyanın ismi .xinitrc'dir ve kendi ev dizininizde bulunur. Bir display-manager kullanarak çalışma durumunda ise önemli olan dosyanın adı .xsession'dur ve aynı yerde bulunur.

Bir sonraki adım Fluxbox çalıştırılabilr dosyasının bulunmasıdır. Çoğu insan için bu dosya /usr/local/bin/fluxbox 'tır. Şimdi, daha önce bahsettiğim dosyayı açarak değiştirmeniz veya yenisini yaratmanız gerekiyor. Sadece dosyanın en altına aşağıdaki satırı koyun:

   exec /usr/local/bin/fluxbox

/usr/local/bin/fluxbox 'ı Fluxbox çalıştırılabilir dosyasını nereye kurduysanız orasıyla değiştirebilirsiniz, yukarıdaki örnek derleme sırasında varsayılan yerdir. Bunu yaptıktan sonra kaydedip metin düzenleyicinizden çıkın. Şimdide eğer startx kullanıyorsanız şu komutu çalıştırmanız gerekiyor:

   $ chmod 700 .xinitrc

.xsession durumunda buna gerek yoktur. Her iki durumdada Fluxbox'ın konfigurasyonunu saklayacağı bir dizin yaratmalısınız:

   $ mkdir .fluxbox

Eğer bunu yaratmazsanız, Fluxbox'tan çıkıp yeniden başlattığınızda bütün ayarlarınızı kaybedersiniz (bu dizin maalesef otomatik yaratılmaz).


2.1.4. İhtimaller ve Sonuç

Eğer yardıma ihtiyacınız olursa, Fluxbox yardım forumuna gidip sorunuzu postalayın, eminim birisi yardım etmekten memnun olacaktır. Ayrıca sorularınızı Fluxbox kullanıcıları e-posta listesinde de sorabilirsiniz. Bu listeye bir link Fluxbox sitesinde bulunabilir. Son bir not;/usr/local/share/fluxbox dizininden init, menu, ve titlebar dosyalarını alıp kendi ev dizininizdeki .fluxbox/ içine kopyalamanızı tavsiye ederim.


Bölüm 3. Araçlar

3.1. Giriş

Fluxbox hayatı biraz daha kolaylaştıran yada hoş özellikler sunan araçlarla beraber gelir. Varsayılan olarak, eğer başka bir yer seçmediyseniz /usr/local/bin 'e yani fluxbox çalıştırılabilir dosyasıyla aynı yere kurulurlar. Çoğu dağıtım farklı yerler seçerler, yani binary paket kurduysanız bunları /usr/bin de de bulabilirsiniz.


3.2. fbrun

fbrun basitçe diğer masaüstü ortamlarındaki "Run.." ın eşdeğeridir. Bunun anlamı, menüde bulunmayan ( yada özel bazı parametrelere ihtiyaç duyan) bir programı çalıştırmanın kolay bir yoludur.

Diğer bir şekilde fbrun daha önceden hazırlanmış ve sizin tarafınızdan değiştirilebilir bir komut satırının menüden çağrılmasıyla da çok kullanışlı olabilir. Örnek olarak devamlı değişen birçok opsiyonu bulunan ve çok uzun bir isme sahip bir bilgisayara ssh yapacaksınız, menüye bilgisayar ismi ve opsiyonlarını barındıran bir fbrun kaydı ekleyebilirsiniz. Bu kaydı çalıştırdığınız zaman da parametreleri değiştirip çalıştırabilirsiniz.

fbrun çeşitli seçeneklere sahiptir:

   -font [font name]           Metin yazıtipi
   -title [title name]         Başlık
   -text [text]                Metin girişi
   -w [width]                  Pencere genişliği (pixel)
   -h [height]                 Pencere yüksekliği (pixel)
   -display [display string]   Görünen isim
   -pos [x] [y]                Pencere pozisyonu (pixel)
   -fg [color name]            Metin rengi
   -bg [color name]            Arkaplan rengi
   -a                          Antialias
   -hf [history file]          Geçmiş dosyası (varsayılan ~/.fluxbox/history)
   -help                       Bu yardımı göster

Bu seçeneklerin çoğu kendi kendini açıklar nitelikte. -text ve -hf seçenekleri belki biraz açıklama istiyor. Önceki fbrun penceresindeki düzeltilebilir metni belirtiyor. Eğer birden fazla argüman belirtmek isterseniz (ssh -X -f gibi), başına ve sonuna tırnak koymayı unutmayınız:

	fbrun -text "ssh -X -f"

-hf seçeneği ise fbrun ın daha önce girmiş olduğunuz satırları tutması için gereken (bash in yaptığı gibi) geçmiş dosyasını belirtir. Normal olarak bu seçeneğe ihtiyacınız yoktur varsayılan bir tane kullanılır. Eğer menünüzde birden fazla fbrun kaydı varsa ve herbiri için farklı geçmiş dosyaları tutmak isterseniz bu seçenek faydalı olabilir.


3.3. fluxbox-generate_menu

FIXME: Bu kısım yazılmalı.


3.4. fluxspace

(Alıntı:http://fluxspace.sourceforge.net):

Fluxspace Fluxbox'ın pencere yönetimini yeni masaüstü yönetim yetenekleriyle tamamlamaktadır. Halihazırda bulunan bileşenleri Python'un gücüyle Fluxbox ve diğer hafif pencere yöneticilerine elastik bir masaüstü yaratmada yardımcı olmak için güçlendirir.

  • Rox Filer ve Idesk gibi araçların entegrasyonunu sağlayarak çalışma alanı simgeleri ve paneller ekler.

  • Her çalışma alanını farklı duvar kağıdı ile dekore eder.

  • Başlanğıç uygulamalarınızı yönetir.

  • Çalışma alanlarınıza giriş çıkışınızda her çalışma alanının kendi araçlarının ve yapışık uygulamarının (dockapp) olmasına olarak vererek, otomatik olarak küçük uygulamalarınızı (Applet) çalıştırır/durdurur.


3.5. wmctrl

Wmctrl EWMH/NetWM uyumlu bir X Pencere Yöneticisi ile etkileşimli çalışabilmek için bir komut satırı aracıdır.


Bölüm 4. Sekmeler (Tabs)

4.1. Sekmelere giriş

Fluxbox'ın sekmeleri yeni bir fikir değildir. Bu uygulama PWM Pencere Yöneticisinde olduğuna çok benzer. Çalışma şekli ise: Birden fazla pencere beraberce gruplanır, aynı geometrik şekli tamamen aynı pozisyonda paylaşırlar ve pencere sürüklendiğinde hep beraber sürüklenirler. Bunları bir kağıt yığını halinde düşünebilirsiniz. Sekmeler şu üzerine kağıtları yapıştırabildiğiniz küçük plastik parçalara benzerler.

0.1.14 e kadar olan versiyonlarda sekmeler aslında pencerelere bağlı idi, 0.9.x ten sonraki sekmeler pencerenin başlık çubuğuna gömülüdür.

Bu sekmelerin Fluxbox'ta nasıl çalıştığını tam olarak açıklıyor. Basitçe istediğiniz pencerenin sekmesini seçtiğiniz zaman o pencere yığının en üstüne gelir. Hadi şimdi deneyelim.

Basit sekmeler

Hatırlayacağınız ilk şey bütün sekme işlemleri için 3'üncü fare düğmesini kullanmaktır. Öyleyse, başlangıç için, gruplamak istediğiniz iki pencereyi seçin. Birincisinin üstüne 3'ncü fare düğmesiyle tıklayın ve onu sürükleyip ikincisinin üstüne bırakın. Tebrikler, beraber ve yapışık hale geldiler! Şimdi, ikisi arasında geçiş yapmak için sekmeleri kullanabilirsiniz.

Bir sekmeyi ayırmak için ise aynı şeyi yapmak gerekir. 3'üncü fare düğmesiyle sekmeyi seçip dışarıya sürükleyebilirsiniz.


4.2. Gelişmiş Sekmeler

4.2.1. Özensiz Pencere Gruplandırma

"Fakat , büyük bir sekmeyi küçük olanının üstüne bırakmak bana saçma/düzensiz geliyor."

Öyleyse, iyi haber. Fluxbox 'ayarlar' menüsünden, 'Özensiz Pencere Gruplandırma' (Sloppy Window Grouping) seçeneğini seçiniz. Bu seçim sekmenizi gruplandırma için hedef pencere içinde istediğiniz yere bırakabilmenizi sağlar.


4.2.2. Tekli pencere sınıflarını sekme yapmak

"Bu güzel, ama ben sadece program X i sekme yapmak istiyorum!"

Bunu yapmanın kaç adet programı bu kapsama alacağınıza göre iki değişik yolu vardır. Pencerelerden doğru açıp/kapatabilirsiniz (Başlık çubuğuna sağ klik yapıp 'sekme' seçeneğinden), ya da tamamen 'Ayarlar->Sekmeleri kullan' seçeneğinden kapatabilirsiniz. Kapattıktan sonra da her pencerede yukarda beirtildiği gibi sekmelerin kullanılmasını sağlayabilirsiniz.


4.2.3. Sekmeleri tamamen kapatmak

"Sekmeleri sevdiğimi sanmıyorum. Bunları kapatabilirmiyim?"

Kesinlikle. Fluxbox 'Ayarlar' menüsünden 'Sekmeleri kullan' (Use Tabs) seçeneğini seçiniz. Bunun bir geçişli düğme olması sebebiyle , tekrar seçtiğinizde tekrar açmış olacaksınız. Ayrıca bunun için init dosyasında da bir ayar vardır:

    session.tabs:   true

Sekmeleri true kısmını false ile değiştirerek kapatabilirsiniz.


4.2.4. Sekme Yerleşimi

Versiyon 0.1.14 'e kadar sekmeler pencereye bağlı idi, versiyon 0.9.x ten sonra sekmeler pencere başlık çubuğuyla bütünleşti.

(0.1.14) 'Tab Yerleşimi' (Tab Placement) adında bir ayar menüsü seçeneği vardır. Bunlar sekmelerin yerleşeceği yerleri gösteren pencere bölümleridir. Bu oldukça yerinde kullanılmış bir sözdür, yani sadece 'ilişik' seçeneklerden birini seçmemiz yeterlidir. Bu seçeneklerin sayesinde pencereye bağlı bütün sekmelerin toplam uzunluğu pencerenin uzunluğuna eşit olur. Yani pencerede sadece bir sekme varsa sekme pencerenin uzunluğuyla aynı olur. Eğer iki sekme varsa , her sekme pencerenin uzunluğunun 50% 'sine eşit olur. Bu seçenek sıklıkla sekmelerin sade görünmesine yol açar ve çok popülerdir.


4.2.5. Otomatik Sekme Gruplama

Bazen bazı uygulamaların çalışır çalışmaz otomatik olarak gruplanmasını istersiniz. Buna mantıken "Otomatik Gruplama" denir. Bu bölüm nasıl çalıştıklarını açıklar. İlk olarak Fluxbox versiyon 0.1.11 veya üstüne ihtiyacınız vardır. Otomatik gruplama daha eski versiyonlarda çalışmamaktadır. Daha sonra ~/.fluxbox/groups adında bir dosya yaratmanız gerekir. Sonra ~/.fluxbox/init dosyasını açarak bu satırı ekleyiniz (yada zaten varsa ve değişik gözüküyorsa değiştirin):

         session.groupFile:		~/.fluxbox/groups

Tamam, herşey yerliyerinde. Şimdi basitçe groups dosyasını doldurmak zorundasınız.

Grup dosyası düzeni

Dosyada her satır için bir grup vardır ve siz sadece gruplanacak programın ismini yazarsınız. Örnek:

Örnek 4-1. groups file

    Navigator nedit
    xterm

Bu iki adet grup yaratacaktır, birincisi netscape ile nedit ikincisi de xterm. Yeni pencere sadece kendisini aynı çalışma alanındaki diğer pencerelere ve en son fokuslanan pencereye gruplayacaktır. Grup dosyasına yazacağınız ismi şu şekilde alabilirsiniz:

    xprop |awk '/WM_CLASS/{print $4}'

ve pencereye klikleyiniz. Eğer herhangi birşey göstermezse, $4$3 ile değiştiriniz.

Sekmelerden Otomatik Gruplama

Bu eğer sekmeye sağ klik yapar ve bir uygulama seçerseniz bu uygulamanın sekmede gruplanmasını sağlayacaktır.

Not

Bu şekilde gruplama (Sekmelerden) normal otomatik gruplamayla kötü yönde etkileşebilir.


4.2.6. Temalar içinde Sekmeler

Sekmelerin temalar içinde gözükmesiyle ilgili bütün bir (Bölüm 10) bölümümüz vardır. Temanızdaki sekmelerin görüntü şeklini değiştirmekle ilgilenirseniz buraya br gözatabilirsiniz. (Temalardaki sekmeler normal olarak başlık çubuklarının görüntüsü gibi varsayılmışlardır; bazen insanlar değiştirmek isterler)


Bölüm 5. Tuş Bağlantıları

5.1. Tuş algılayıcı

Tuş algılayıcı mükemmel bir araç olan fakat bazı sınırları bulunan (ve lisans uyumsuzluğu olan) bbkeys'e benzer şekilde çalışır, fakat tamamen yeni sözdizimine sahip bir ayar dosyası vardır, ve Fluxbox'ı daha güçlü yapan birkaç yenilik içerir.

İlk olarak, yeni tuş algılayıcı tuş kombinasyonlarını zincir olarak (emacs gibi) destekler... yani örnek olarak bir sonraki çalışma alanına geçmek için: Mod1 + M + Mod1 + F yapabilirsiniz.

Eğer zincirin bir kısmını yazmışsanız fakat sonra vazgeçerseniz, (keys dosyasında belirttiğiniz) başka bir tuş kombinasyonuyla devam edebilirsiniz ve eskisi iptal olur.

Buna ek olarak, bir gruptaki pencerelerde gruplu/sekmeli arasında seçim için bir tuş kombinasyonu belirleyebilirsiniz (SonrakiSekme ve ÖncekiSekme ile)

Son olarak, rahatlığınız için size bbkeys ayar dosyasını Fluxbox tuş dosyasına çevirebilen iki adet betik (her ikiside aynı şeyi yapar) sunduk. (betiklerin kullanımı mevcuttur) İndirme: convertkeys or convertkeys2.

Örnek 5-1. Fluxbox tuş dosyası

    Mod1 Tab :SonrakiPencere
    Mod1 F1 :ÇalışmaAlanı 1
    Mod1 F2 :ÇalışmaAlanı 2
    Mod1 F3 :ÇalışmaAlanı 3
    Mod1 F4 :ÇalışmaAlanı 4
    Control n Mod1 n :SonrakiSekme

Gördüğünüz gibi, ilk olarak bir niteleyici, sonra bir tuş (eğer daha uzun bir kombinasyon isterseniz sonra bir niteleyici ve yine bir tuş) ve son olarak bir eylemle beraber bir virgül.

Geçerli tuş eylemlerinin bir listesi için biraz daha aşağıyı okuyunuz.

Bu neden sizin için uygun? O zaman xmms'inizin efendisi olabilirsiniz, mesela:

Örnek 5-2. XMMS tuş eşlemleri

    Mod1 P :ExecCommand xmms -p
    Mod1 F :ExecCommand xmms -f

Eğer bazı ek tuşlarınız varsa (mesela çokluortam tuşları), bu tuşları XFree86'da düzgün bir şekilde ayarlayarak xmms'i bu şekilde kontrol edebilirsiniz:

Örnek 5-3. XMMS için Çokluortam tuşları

    None XF86AudioPlay :ExecCommand xmms -u
    None XF86AudioStop :ExecCommand xmms -s

Daha geniş bilgi için xmms --help 'i kullanabilirsiniz derdim ama büyük ihtimalle şimdi bunu yapıyorsunuz...


5.2. Tuş İsimleri

Büyük ihtimalle kendinize tuş isimlerini nasıl bulacağınızı soruyorsunuzdur. xev'i çalıştırın, fareyi yeni yaratılan pencerenin üzerine getirin ve bir tuşa basın , bu tuş için söylenenleri göreceksiniz. Burada Sağ Ok tuşuna basıldığında oluşan örneği görüyoruz:

Örnek 5-4. Sağ Ok tuşu için xev çıktısı

    KeyPress event, serial 18, synthetic NO, window 0x2c00001,
    root 0x60, subw 0x0, time 3745737930, (373,380), root:(504,526),
    state 0x10, keycode 102 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 characters:  ""

İlginç olan parantezler içinde keysym ile beraber olan tuş ismidir. Bu örnekte (keysym 0xff53, Right). Bu şekilde bu tuşun ismi Right'tır.

Özel Tuşlar

İşte rahatınız için bazı özel tuşlar. Aklınızda bulunsun bunlar xev içinde onlara basarbasmaz gözükecekler (öteki tuşlara niteleyici olarak değil).

KeyX11 Name
Control, StrgControl
AltMod1
Super, Meta, Win* KeysMod4


5.3. Eylemler

Bunlar şu an için Fluxbox tarafından sunulan eylemlerdir. Tuşlara atamak isteyebileceğiniz şeylerin çoğunu kapsamaktadırlar. Aklınızda bulunsun tuşeşlemleri dosyasında eylemden önceki son karakter : olmalıdır.

Eylemler küçük/büyük harf duyarlı değildir.

Tablo 5-1. Navigation

ActionResult
WorkspaceBelirtilen çalışma alanına git. Kullanım :ÇalışmaAlanı 1, :ÇalışmaAlanı 2, vs.
NextTabGrupta sonraki sekmeye git.
PrevTabGrupta önceki sekmeye git.
NextWindow NSonraki pencereye git. Bakınız: Note 1.
PrevWindow NÖnceki pencereye git. Yine, nakınız: Note 1.
NextWorkspaceSonraki ÇalışmaAlanına git.
PrevWorkspaceÖnceki ÇalışmaAlanına git.
NextGroup, PrevGroup Önceki/sonraki pencere grubuna git.
LeftWorkspacePrevWorkspace ile aynı.
RightWorkspaceNextWorkspace ile aynı.

Not1. NextWindow / PrevWindow
 

SonrakiPencere/ÖncekiPencere bir sayısal parametreye sahiptir. Yukarıdaki tabloda açıklandığından biraz daha karmaşıktır. Şu şekilde çalışır.

Seçenekleri belirten ve aşağıdaki tablodan alınmış sayısal parametre:

Bit değeriSeçenek
1İnmiş seklemeri atla (sekme gruplarına bir pencere gibi davran.)
2Yapışık pencereleri atla.
4Gölgelenmiş pencereleri atla.

İstediğiniz seçeneklerin değerlerini toplayınız. Sonuç NextWindow/PrevWindow için parametredir. Yada değeri bu tablodan seçebilirsiniz:

ParametreSeçenekler
0Atlama yok.
1İnmiş sekmeleri atla.
2Yapışık pencereleri atla.
3İnmiş sekmeleri/Yapışık pencereleri atla.
4Gölgeli pencereleri atla.
5İnmiş sekmeleri/gölgeli pencereleri atla.
6Yapışık pencereleri/gölgeli pencereleri atla.
7İnmiş sekmeleri/gölgeli pencereleri atla.

Tablo 5-2. Pencere İşlemleri

EylemSonuç
ClosePencereyi kapat.
KillWindowxkill'i çalıştırıp pencereye kliklemekle aynı.
Minimize"Iconify" olarak ta kullanılır.Simge durumuna getir.
ShadeWindowPencereyi 'gölgeli' duruma getirir, yada 'gölgeli' durumdan çıkarır.
StickWindowPencerenin 'yapışkan' durumunu değiştirir.
ToggleDecorPencerenin kenarlı oluşunu, düğmelerini ve başlık çubuğunu değiştirir.
RaiseBring the window to the 'Top', it will appear 'Above' windows that it overlaps.
LowerRaise'ın karşıtı.
NextTab, PrevTabSonraki , önceki sekmeyi aktifleştir.
MoveTabLeft, MoveTabRightAktif sekmeyi n sekme sola/sağa getir.
DetachClient Sekme grubundan çıkart.

Tablo 5-3. Pencere Boyutlandırma

EylemSonuç
HorizontalIncrementPencereyi bir ünite genişletir(Bakınız: Note 2).
HorizontalDecrementHorizontalIncrement 'ın karşılığı
VerticalIncrementPencereyi bir ünite uzatır (Bakınız Note 2).
VerticalDecrementVerticalIncrement'ın karşılığı
MaximizeHorizontalPencereyi yatay olarak büyütür.
MaximizeVerticalPencereyi dikey olarak büyütür.
MaximizeWindowPencereyi büyütür.
ResizeAktif pencereyi delta ile belirlendiği gibi boyutlandırır, mesela resize -8 -8.
ResizeHorizontalSadece yatay olarak boyutlandır.
ResizeVerticalSadece dikey olarak boyutlandır.
ArrangeWindowsPencereleri döşe.
ShowDesktopBütün pencereleri simge durumuna getir.

Not2. HorizontalIncrement / HorizontalDecrement / VerticalIncrement / VerticalDecrement
 

Boyutlandırmayı açıklarken "bir ünite" der. bU xterm/aterm/Eterm 'de bir piksel büyütmek/küçültmek yerine yeni bir karakteri de içine alabilecek şekilde büyütmek/küçültmektir.

Diğer uygulamalar için bu sadece bir piksel'dir.

Tablo 5-4. Pencere Hareketleri

EylemSonuç
SendToWorkspaceAktif pencereyi belirtilen çalışma alanına gönder. Kullanım :SendToWorkspace 1
Movedelta-x delta-y kadar.
MoveLeftTahmin et.
MoveRightTahmin et.
MoveUpTahmin et.
MoveDownTahmin et.

Tablo 5-5. Muhtelif

EylemSonuç
AbortKeychainZincir tuş-kombinasyonlarında, tuş zincirini iptal et.
ExecCommandBir komut çalıştır. Örnek :ExecCommand xmms -t.
RootMenuAna Menüyü çağır.
WorkSpaceMenuÇalışmaAlanı Menüsünü çağır.
RestartFluxbox'ı yeniden başlat.
ReconfigureAyarları tekrar okur. Mesela keys dosyası değişti, fakat init ve slitlist okunmadan önce yazılabilir.
SetStyleBelirtilen dosyayı yükle.
SetWorkspaceNameÇalışma alanı ismini belirt.
SaveRCKaynak dosyaları kaydet.
QuitFluxbox'tan çık.

Bölüm 6. Masaüstü Arkaplanları

Fluxbox'ın, Blackbox gibi, bunun için sadece iki aracı vardır - Aslında, Blackbox takiyle aynı isimlere sahiptirler: bsetroot ve bsetbg. Hadi nasıl çalıştıklarına bakalım.

bsetroot

bsetroot xsetroot 'un karşılığıdır. xsetroot arkaplanları basit oldukları sürece (mesela tek renk) ayarlayabilir. bsetroot ayrıca "gradient" olanları da ayarlayabilir.

bsetbg

bsetbg ise daha yüksek-seviyeli bir programdır. Aslında arkaplan belirleyen diğer yardımcı programlara bir "wrapper" olarak çalışır. Mesela wmsetbg, Esetroot, ImageMagick'den display uygulaması, vs. İlk olarak çalıştırıldığı zaman ~/.fluxbox/bsetbg ayar dosyasını oluşturur. bu dosya onu kullanabilecek programları ayarlar. Bunları değiştirmek için istediğiniz zaman bu dosyayı edit edebilirsiniz. Transparanlık imkanı olan xchat ve Eterm gibi 'Transparan' uygulamalar kullanabilmek için ya wmsetbg yada Esetroot kullanmanız gerekir.

Tema arkaplanlarını kullanmamak

Blackbox'ın kusurlarından birisi de arkaplanının tamamen temaya bağlı oluşudur. Ne zaman temayı değiştirseniz arkaplan olarak tema yazarının seçtiği arkaplan gelir. Birçok insan bu davranışı sevmez. Fluxbox'ta bunu düzeltmek için bir yol vardır. ~/.fluxbox/init dosyanıza böyle bir satır ekleyin:

        session.screen0.rootCommand: bsetbg -f ~/backgrounds/zimdib_dark.png

Ve buraya ne koyduysanız o sizin arkaplanınız olacaktır, tema'nın yazarının ne dediği önemli değil.


Bölüm 7. Slit

En çok sorulan sorulardan biri de "Slit nedir?" dir. Gerçekte, bu doküman yazılırken, #fluxbox'ta günde on kere sorulmasını engellemek için ve de araç çubuğunun bir başka ismi olduğu söylentisini engellemek için sıkça sorulan sorular kısmının tepesine buraya yönlendiren bir link koydum.

Slit Fluxbox'ın Blackbox'tan alınmış birçok parçasından biridir. Windowmaker "Dockapp" lerini (ve 'withdrawn' yada (daha az kullanışıyla) 'swallowed' modda çalışabilen herhangi birşeyi) ele alabilmesi için dizayn edilmiştir. Bu tip uygulamalar sıklıkla -w opsiyonuna sahiptirler, ama bazıları otomatik olarak withdrawn modunda çalışırlar.

Emin olmanız gereken ilk şey bunun sizin Fluxbox kopyanızda derlenmiş olmasıdır. Genellikle bu şekilde olduğunu varsaymak güvenlidir. Bildiğim kadarıyla, değişik dağıtımlarda bütün paketler bununla beraber gelir. Eğer onsuz daha iyi olduğunu düşünüyorsanız, derleme anında devredışı bırakabilirsiniz. Bununla birlikte aklınızda bulunsun, kullanılmayan Slit'ler ekran alanı kaplamazlar ve çok az hafıza harcarlar, yani eğer diğer yazılımlarla problem çıkarttığını düşünüyorsanız sadece devredışı bırakmanız yeterlidir.

Bundan başka, herhangi bir 'dockable' uygulamayı çalıştırabilirsiniz. (Bu ayrıca 'withdrawn' modda çalıştırmak olarak ta bilinir). Örnek olarak, xmms wmxmms uygulamasıyla beraber dağıtılır. Sadece wmxmms &'i çalıştırın, ve xmms'i Slit'te göreceksiniz. Yukarıda bahsedildiği gibi, bazı uygulamalar (mesela gkrellm) Slit'te çalışabilmek için -w komut satırı opsiyonuna ihtiyaç duyarlar.

Dockapp'leri (Yapışık Uygulamalar) nereden bulabilirim?

Başlangıç için en iyi yer Dockapp deposu'dur. Burada bir çok değişik dockapp vardır. Ayrıca, Freshmeat'te arama yapabilir, yada kendi dağıtımınızı kontrol edebilirsiniz.

Bbtools sayfası bir grup Blackbox/Fluxbox aracı ihtiva eder, büyük çoğunluğu da Slit'te çalışabilir.

Ayrıca, eğer KDE desteğini devreye almışsanız, KDE dock appletleri'de Slit'te gözükecektir.

Dockapps.Org ise sadece dockapp'lerine adanmış yeni bir web sitesidir.

Slit'in davranışlarını değiştirebilirmiyim?

Tabiiki. Basitçe Slit'in görünen kısmına sağ klik yapıp buradan "Options"'u seçiniz. Buradaki seçeneklerin çoğu Görevçubuğunda olduğu gibidir. Aynı olmayan tek şey ise Direction'dır. Slit hem Horizontal hem de Vertical modda çalışabilir.

Aynı zamanda ayarlar menüsünde bir Maximize Over Slit seçeneği vardır; bu , büyültülmüş pencerelerin Slit'i kaplamasını sağlar.

Slit uygulamarımın sıralarını hatırlamalarını istiyorum!

Fluxbox 0.1.10 ve sonrasında, bu, bir slitlist dosyası kullanarak mümkündür. İşte bunu kullanmak için bazı talimatlar.

Dockapp'lerin aktif sırası bir dosyada saklanır.Varsayılan olarak ~/.fluxbox/slitlist. Slit'e dockapp'leri yüklerken, Slit daha önce çalışmış uygulamaları isme göre karşılaştırarak daha önceki sıralamayı korumaya çalışır.

Slit sıralamasını sizin istediğiniz gibi yapmak için bir basit bir prosedür:

Dockappleri sıralamak

  1. Fluxbox'ı dockappsiz olarak çalıştırın.

  2. Dockappleri sizin istediğiniz sırayla çalıştırın.

  3. Otomatik başlangıç komut dosyanıza dockapplerinizi ekleyin, mesela .xinitrc yada .xsession. Burada sıra önemli değildir.

Bu sıralama ~/.fluxbox/slitlist dosyasına kaydedilecek ve daha sonraki Fluxbox oturumlarında korunacaktır.

slitlist dosyasını elle düzeltebilirsiniz. Her satırda basitçe dockapp'nin ismi yazar. Bu dosya Fluxbox çalışmıyorken düzenlenmelidir. Yoksa değişikliklerin üzerine yazılabilir.

Ayrıca Slit liste dosyası için değişik bir yer de seçebilirsiniz. Aşağıdaki init dosyasında bu yer değiştirilmiştir:

Örnek 7-1. Slitlist tanımı

    session.slitlistFile: /home/me/etc/slitsort

Aklınızda bulunsun sıralamayı tamamen devre dışı bırakmak için bir seçenek yoktur. Yazar rastgele sıralamanın herhangi bir yararı olmadığını düşünmektedir.


Bölüm 8. Araç Çubuğu

Araç çubuğu fluxbox tarafından bir saat yada çalışan programların düğmeleri gibi bilgiler içerebilen küçük bir alandır.

Init dosyası ve biçem dosyası tarafından konfügüre edilir. Init ayarları genellikle araç çubuğu menüsünden değiştirilir.

Araç çubuğu kapatılabilir (Fluxbox init dosyasından session.screen0.toolbar.visible: false yapılarak)

Gösterilecek araçlar kaynak dosyasından , genellikle .fluxbox/init, toolbar.tools. kısmından konfigüre edilebilir.

Örnek 8-1. Araç çubuğu araç örneği

session.screen0.toolbar.tools: clock, iconbar, workspacename
Mevcut araçlar: workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow, clock

Araç çubuğu genişliği ,şeffaflığı ve katmanı araç çubuğu menüsünden konfigüre edilebilir. Araç çubuğu menüsü saate veya araç çubuğunda çalışma alanı ismine sağ klik yaparak açılabilir.

Simge çubuğu ise hiçbirşeyi göstermemesi, bütün çalışma alanlarından simgeler, Çalışma alanı simgeleri, çalışma alanındaki tüm pencereleri veya bütün çalışma alanlarından bütün pencereleri göstermesi şeklinde ayarlanabilir.

Bunların nasıl gösterileceği ise biçem dosyasından ayarlanabilir.


Bölüm 9. Menüleri Düzenlemek

Fluxbox'ı kurdunuz ve şimdi masaüstüne sağ klik yaptığınızda çıkan menü adında etkileyici küçük bir program görüyorsunuz. Eğer kullandığınız uygulamaları başlatmak için düzenleyemiyorsanız bunun sınırlı bir kullanımı vardır. Bu doküman buna ait tüm sorulara cevap vermeye çalışacak.

İlk olarak, Fluxbox'la beraber gelen fluxbox-generate_menu adında hoş bir araç vardır. Web tarayıcıları ve terminal emulatörleri gibi sıkça kullanılan uygulamaları bir araya getirerek bunlardan bir menü oluşturur. fluxbox-generate_menu detaylı olarak Kısım 3.3 kısmında anlatılacaktır.


9.1. Menü dosyası konumunu ayarlama

Fluxbox menüsü varsayılan olarak ~/.fluxbox/menu dedir., Bu ayar init dosyası içinde değiştirilebilir. İşte bu satır için bir örnek:

Örnek 9-1. Menü dosyası konumunu ayarlama

    session.menuFile:       ~/.fluxbox/menu

Eğer sizin menünüz için farklı bir dosya kullanmak istiyorsanız sadece ~/.fluxbox/menu kısmını değiştirin. Şu anki yapı, çoğu insan için iyi olmalı.


9.2. Mevcut Komutlar

Fluxbox menu sadece alt dizinler oluşturabileceğiniz, uygulamaları başlatabileceğiniz, çalışma alanlarını kontrol edebileceğiniz, Fluxbox'ı ayarlayabileceğiniz ve X 'e çıkış yapabileceğiniz bir metin dosyasıdır. Menü şu komutları alabilir:

    [begin] (MenüBaşlığı)
    [submenu]  (AltMenüİsmi) {AltMenüBaşlığı}
    [exec] (Uygulamaİsmi) {/programa/giden/yol}
    [include] (/menüdosyasına/giden/yol)
    [end]
    [nop] (--------)
    [workspaces] (AltMenüİsmi)
    [stylesdir] (/stildizinine/giden/yol)
    [config] (Fluxbox Konfigurasyonu)
    [reconfigure] (Ayarla)
    [restart] (Yeniden Başlat)
    [exit] (Çıkış)

Bunların çoğu ne yaptığını isimleriyle açıklayabiliyor. İtalik yazılmış kısımlar tamamen ekranınızda gözükecek şekildedir. Anlaşılması güç olan kısımları anlatacağım. Aklınızda bulundurun, alt menülerin derinliği konusunda sabit bir limit yoktur. Muhtemelen pratikte bir sınır vardır.

[nop] - Herhangi bir komut icra etmesini istemediğiniz yada tamamen boş olan sadece ayıraç olarak kullanılabilen bir metin girmenize imkan sağlar.

[reconfigure] - Eğer Fluxbox konfigurasyonunu değiştirmek için menüyü kullanıyorsanız, Fluxbox'tan çıktıktan sonra ayarlarınız kaybolacaktır. Ayarlarınızın sabit kalabilmesi için init dosyasına kaydedilmesi gerekir. Ayar değişikliği yaptıktan sonra reconfigure 'yi çalıştırarak bunu sağlayabilirsiniz.

[restart] - Sadece herkesin "restart" ın sadece Fluxbox'ı yeniden başlattığını ve bütün sistem için geçerli olmadığını bidiğine emin olmak istedim.

Örnek 9-2. menu

       # Fluxbox menu file
       [begin] (Fluxbox)
         [exec] (rxvt) {rxvt -ls}
         [exec] (netscape) {netscape -install}
         [exec] (The GIMP) {gimp}
         [exec] (XV) {xv}
         [exec] (Vim) {rxvt -geometry 132x60 -name VIM -e screen vim}
         [exec] (Mutt) {rxvt -name mutt -e mutt}
         [submenu] (mozilla)
           [exec] (browser) {mozilla -browser}
           [exec] (news) {mozilla -news}
           [exec] (mail) {mozilla -mail}
           [exec] (edit) {mozilla -edit}
           [exec] (compose) {mozilla -compose}
         [end]
         [submenu] (Startup)
           [exec] (gkrellm) {gkrellm -w}
           [exec] (xmms) {xmms -p}
           [exec] (galeon) {galeon -s}
           [exec] (kdeinit) {kdeinit}
         [end]
         [submenu] (Window Manager)
           [exec] (Edit Menus) {nedit ~/.fluxbox/menu}
           [submenu] (Style) {Which Style?}
             [stylesdir] (~/.fluxbox/styles)
             [stylesmenu] (Fluxbox Styles) {/usr/local/share/fluxbox/styles}
           [end]
           [config] (Config Options)
           [reconfig] (Reconfigure)
           [restart] (Restart)
         [end]
         [exit] (Log Out)
       [end]
       # end of menu file

Yada Fluxbox ile beraber gelen yukarıdaki örnek menüyü kullanabilirsiniz.


Bölüm 10. Temalar

10.1. Tema temelleri

Bu bölüm Justin Rebelo aka "demerol" tarafından eklenmiştir

Biçem nedir ve nasıl çalışır?

Bir biçem basitçe Fluxbox için bir temadır. Pencere yöneticisinin değişik bileşenlerini nasıl üreteceğini söyleyen basit bir ASCII metin dosyasıdır. Genellikle ~/.fluxbox/styles altında ve kuruluma göre farklı yerlerde bulunan genel Fluxbox paylaşımlı dizininde bulunur.

Kendiminkini nasıl yaparım?

Bir biçem dosyasını favori editörünüzde (vim i tavsiye ederim) açarak işe başlayın. Biçemin nasıl yapılandırıldığına ve organize edildiğine bakın. Sadece bakmakla sorabileceğiniz çoğu soruya cevap bulabilirsiniz.

Bir biçemin yapısı

Biçem, kendi alt-dizinleri bulunan birkaç bileşenden oluşur. toolbar,menu ve window ana bileşenlerdir.window.* yönergeleri pencere sekmelerini kontrol eder. menu.* masaüstüne sağ klik yaptığınızda gelen popup menüyü kontrol eder. toolbar.* ekranın altında veya üstünde gördüğünüz çubuktur. Slit (Diğer pencere yöneticilerinde dock, wharf vs. olarak adlandırılır) de eğer biçemini özel olarak ayarlamadıysanız araç çubuğu ayarlarından kontrol edilir.

Slit'in görünümünü nasıl değiştiririm?

Slit genellikle araç çubuğuyla aynı seçenekleri kullanır. Çoğunlukla bu şekilde makul çalışır. Eğer özel olarak Slit'i biçemlemek isterseniz, üç adet biçem yönergesi mevcuttur:

    slit: [doku seçeneği]
    slit.color: [renk değeri]
    slit.colorTo: [renk değeri]

Bu komutlar menu, pencere,vs gibi Slit'i dokulandırırken de çalışır.

Arkaplan için resim/renk ayarlayabilirmiyim?

Biçem dosyasının biryerinde rootCommand ile başlayan ve arkaplan rengini veya resmini ayarlayan bir komutla devam eden (tercihan bsetbg) bir satır göreceksiniz. Siz değişik rootCommand kullanabilirsiniz, fakat tavsiye etmem. bsetbg pencere ayarları için diğer komutların işine yarayan küçük bir uygulamadır. Bu şekilde (Esetroot vs.) tercih ettiğiniz arkaplanı belirtebilirsiniz ve bu bsetbg kullanan tüm temalarda geçerli olur.

Biçemlerimde Not/Yorum/Açıklama satırı kullanabilirmiyim?

Tabi, satıra sadece bir (#), bir (!) ile başlayınız, yada C++ açıklama satırları (//) kullanınız.

Hala sorularım var...

Fluxbox tarafından sağlanan biçemlere bakınız, bu şekilde veya değişik ayarlar deneyerek sorularınıza cevaplar bulabilirsiniz. Eğer hala kapamadıysanız OPN 'de (Open Projets Network) #fluxbox kanalına uğrayın. Benim nickim demerol.


10.2. Gelişmiş Tema Düzenlemesi

Bu kısmın büyük bölümü Fluxbox 0.1.13 ün yardım sayfalarından (man) etkilenmiştir. Genellikle yardım sayfaları (man) bu konu hakkında kesin otoritedir, fakat bu doküman yeni başlayan biçem yazarları için daha aydınlatıcıdır.

Biçem mekanizmasının nasıl işlediğini anlamak için biraz X11 bilmeniz çok iyi olur.

X11 kaynak kodları bir anahtar ve değerinden oluşur. Anahtar (.) 'larla ayrılmış daha küçük anahtarlardan oluşur (bazen child denir). Anahtarlar joker sembol olarak kullanılmak üzere (*) da içerebilir. Bu sadece bir veya iki renk kullanılan biçemler için kullanışlıdır.

Fluxbox üç ana bileşenini konfigure etmenize olanak sağlar: Araç çubuğu, menüler ve pencere dekorasyonları. Slit otomatik olarak kendi biçemini araç çubuğundan alır fakat ihtiyaç olduğunda farklı şekilde biçemlenebilir. Pencereleri sürüklerken x-y pozisyonlarını gösteren küçük pencere de biçemini pencerenin başlık çubuğundan ödünç alır.

Temel söz dizimini örneklemek için bazı örnekler:

Örnek 10-1. Araç çubuğu Saat biçemi

    toolbar.clock.color:  green

Bu araç çubuğundaki saatin renk değişkenini green olarak ayarlar. Başka bir örnek:

Örnek 10-2. Menü biçemi

    menu*color: rgb:3/4/5

Bu menünün renk değişkenini ve bütün alt özelliklerini rgb:3/4/5 olarak ayarlar. Renk isimlerinin açıklamaları için X11 yardım (man) sayfalarına bakınız. Öyleyse, bu menu.title.color ve menu.frame.color a da etki eder. Ve bununla da:

Örnek 10-3. Yazı tipi biçemi

    *font: -b&h-lucida-medium-r-normal-*-*-140-*

bütün anahtarların yazıtipi ismini tek seferde ayarlarsınız. Sisteminizde kurulu bulunan yazıtipleri hakkında bilgi almak için xfontsel, gfontsel, yada xlsfonts gibi programlar kullanabilirsiniz.

Şimdi, Fluxbox'ı bu kadar muhteşem yapan şey, dokuları anında icra edebilme yeteneğidir. Doku açıklamaları uygulanmaları gereken anahtarca belirlenmiştir, örn:

Örnek 10-4. Doku biçemi

    toolbar.clock:   Raised Gradient Diagonal Bevel1
    toolbar.clock.color: rgb:8/6/4
    toolbar.clock.colorTo: rgb:4/3/2

Endişelenmeyin, bu yönergelerin nasıl çalıştığını açıklayacağız. Bir doku tanımı beş taneye kadar alan içerir ve şu şekildedir:

Tablo 10-1. Doku tanımları

YönergeTanım
Flat / Raised / Sunken / Tiled

Bileşeni düz, kabartmalı veya döşenmiş görünümlü olarak ver.

Döşeme sadece pixmaplere etki eder ve boyutlandırılmaz.

Gradient / Solid Eğimli veya düz doku olarak çiz.
Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / PyramidBu doku tiplerinden birini seç. Bunlar sadece Eğimli (Gradient) seçiliyken çalışır.
InterlacedDokuyu karıştır (bir sonraki her satırı koyulaştırarak). Bu seçenek çoğunlukla eğimli (Gradiented) dokularda kullanılır fakat Blackbox 0.60.3 ten sonra ( ve bu yüzden Fluxbox 'ın tüm versiyonlarında) düz dokularda da çalışır.
Bevel1 / Bevel2Kullanılacak kenar (bevel) tipi. Bevel1 varsayılan kenar tipidir. Gölgelendirme köşelere koyulmuştur. Bevel2 de bir alternatiftir. Gölgelendirme köşelerden bir pixel içeriye koyulmuştur.

Doku açıklaması sayılmazsa da , bileşeni ebeveyninin (parent) bir parçası gibi gösteren ParentRelative seçeneği de kullanılabilir.

Bütün eğimli (Gradient) dokular iki renk değerinden oluşur: color ve colorTo. Interlaced Solid modda kullanıldığında, colorTo değeri birbirine geçme rengi olarak kullanılır.

Bileşenlerin tümü ve hangi tip değer alabilecekleri Ek C da bulunabilir.

Şimdi uzun bir liste gibi görünüyor ama kendi biçeminizi yarattığınız zaman tek bir komutta bir çok anahtarı ayarlayabilirsiniz, örn:

Örnek 10-5. Tipik kısa biçem

    *color:             slategrey
    *colorTo:           darkslategrey
    *unfocus.color:     darkslategrey
    *unfocus.colorTo:   black
    *textColor:         white
    *unfocus.textColor: lightgrey
    *font:              lucidasans-10

Ek A. .xinitrc/.xsession ayarları

Verin 'in katkılarıyla.

xinit'in parçalardaki yeri

Bir pencere yöneticisi X11 de çalışan netscape, gimp yada xterm gibi bir uygulamadır. X11 'e yeni olan birçok insan X11 'in pencere yöneticisini çalıştırdığını ve diğer programları da pencere yöneticisinin çalıştırdığını düşünür. Fakat bu doğru değildir. Eğer doğru ayarlandıysa, bütün programlarınızı X11 altında çalıştırabilirsiniz, pencere yöneticisini öldürüp başka bir pencere yöneticisini çalıştırmak gibi.

X11 'in çalıştırdığı ve diğer programları çalıştıran gerçek program .xinitrc veya .xsession betiğidir. X11 çalıştığı zaman sizin .xinitrc yada .xsession betiğiniz çalışır, ve betik bittiği zaman, X11 'de biter. Bunu tekrar edeyim, bu çok önemli: .xinitrc bittiği zaman X te bitmiş demektir. Pencere yöneticiniz çıkış yaptığı zaman değil.

Betik düzeni

Güzel, şimdi zaten bildiğiniz birşeyi anlayalım. Kabuk'ta bir komut yazdığınız zaman komut bitene kadar başka birşey yapamazsınız. .xinitrc yada .xsession betiğide aynıdır. Başladığı zaman, çok uzun zaman alan bir programı (çoğu X11 programı gibi) çalıştırması gerektiğinde, o program çalışmasını bitirene kadar orada durur.

İdeali, betiği askıda tutacak sadece bir programınız olmasıdır. Ve genellikle bunun sonda olmasını istersiniz. Yani, bu programdan önce X11 in çalıştırmasını istediğiniz programlar varsa bunları arkaplana atmanız gerekir. Satırın sonuna bir & koyarsınız. Mesela, ek olarak xclock 'un çalışmasını istiyorsunuz, bu satırı askıda kalan programdan önceye koabilirsiniz:

    xclock &

Şimdi, bir sonraki şey exec, bir çok kaynakta pencere yöneticisini betiğinize nasıl ekleyeceğinizi bu şekilde tavsiye eder. Fakat, dürüst olmak gerekirse bu gerçekten gerekli değildir, eğer pencere yöneticinizi betiğin son satırına koyarsanız, exec olmadan da orada askıda kalacaktır.

Öyleyse neden exec? Mesela betiğinize bir sürü pencere yöneticisi başlangıç satırı koymak istiyorsunuz ve sadece birinin çalışmasını istiyorsunuz. exec ile seçtiğiniz başlangıç-satırını tepeye koyabilirsiniz. Çünkü bu exec in anlamıdır:

"Beni bu programla değiştir, mesela, bunu çalıştır ve bittiği zaman beni de bitir."

Eğer bir exec enlightenment satırının tepesine bir exec wmaker satırı koyarsanız, wmaker satırı bittiği zaman betik te biter, bir sonraki satıra geçmez.

Gerekli değil dediğimde ne anlatmak istediğimi anladınız mı? Yani bir grup commented-out pencere yöneticisi satırını koyabilirsiniz, ve aynı şekilde çalışmaya devam eder.

Bunları yapmanın bir başka yolu.

Alternatif olarak, pencere yöneticinizi çalıştırabilir ve proses id sini bir ortam değişkenine saklayabilirsiniz:

        wmaker & wmpid=$!

Bu onu arka planda çalıştırır (&) ve proses id sini ($!) bir değişkene(wmpid) atar. Sonra, wait: ile askıda kalmasını sağlayabilirsiniz:

    wait $wmpid

yada herzaman çalışmasını istediğiniz programı, mesela gkrellm, arka plana atmıyarak orada askıda kalmayı sağlayabilirsiniz. Fakat unutmayın onu bitirdiğiniz zaman X11 oturumunuz da sonlanacaktır.

Ben wait metodunu kullanırım, çünkü dockapp lerimi çalıştırmadan önce pencere yöneticimi seçmekten hoşlanırım. Ayrıca, herhangi birşey yapmadan önce, X11 ayarlarımı değiştirmeyi, mesela dpms, ekran koruyucu, ve hatta font path'ime (genel fontlara eklemek istemediğim fontlar) bazı dizinleri eklemeyi severim. Ve sonra herşey bittikten sonra, font path'imi temizlerim, çünkü eğer bir görüntü yöneticisi çalıştırdıysam herzaman fot path'i resetlemek iyi değildir.

Örnek A-1. .xinitrc

    # ekran karartmayı kapat ve energy star özelliklerini aktif et
    xset s off
    xset dpms 600 60 60

    # seçmeli fontlarımı font path e ekle
    xset +fp "$X_FONTPATH"
    xset fp rehash

    # debug edilme durumuna karşı, şu anki ortam değişkenlerini çık
    env > ~/.xenv

    # pencere yöneticisi
    fluxbox & wmpid=$!

    bbrun &
    wmCalClock &
    wmxmms &

    # ASKI NOKTASI - pencere yöneticisi çıkana kadar bekle
    wait $wmpid

    # x font path i geri al
    xset fp default

Ek B. Sıkça sorulan sorular (SSS)

B.1. Slit nedir?
B.2. Slit uygulamalarının belli bir sırada olmasının bir yolu var mı?
B.3. Araç çubuğu Zaman formatını nasıl değiştirebilirim?
B.4. ~/.fluxbox/init dosyamda değişiklikler yapıyorum, fakat üzerine yazılıyor.
B.5. Tabs nasıl çalışıyor?
B.6. Anti-Aliasing (Örtüşme-önler) 'e geçince fontlarım çok büyük oldu! Nasıl düzeltebilirim?
B.7. Sanki eski fontları (örn. Snap AA...) kullanamıyorum gibi gözüküyor.Ne alaka?
B.8. Bu Artwiz fontları hakkında birşeyler duyuyorum.Nedir?
B.9. Arkaplanımı nasıl set ederim?
B.10. Temaları değiştirdiğimde arkaplanım çirkin birtanesiyle değişiyor.
B.11. halihazırda kullandığım.blackboxrc dosyamı Fluxbox için kullanabilirmiyim?
B.12. Fluxbox başladığında otomatik olarak uygulamaları nasıl çalıştırabilirim?
B.13. Blackbox stillerini (temalar) Fluxbox'ta kullanabilir miyim?
B.14. .xinitrc/.xsession dosyalarımı nasıl ayarlarım?
B.15. KDE desteği var mı?
B.16. Gnome desteği var mı?
B.17. Yeniden başlattıktan sonra bile BBtools aktif stil ayarlarımı kullanmıyor.
B.18. Bazı stillerle 'tab'lar çirkin gözüküyor, nasıl düzeltebilirim?
B.19. Fluxbox masaüstüne nasıl ikon koyabilirim?
B.20. Fluxbox 0.9.6 yavaş...

B.1. Slit nedir?

Slit konusunda ilk bilmeniz gereken şey onun Fluxbox'ın taskbarı olmadığıdır.

Slit yapışık uygulamaların 'yapışabileceği' bir yerdir. Sadece Slit'e ayrılmış bütün bir bölümümüz vardır: Bölüm 7. slit ve nasıl çalıştığı hakkında soru sormadan önce onu okuyunuz.

B.2. Slit uygulamalarının belli bir sırada olmasının bir yolu var mı?

Fluxbox'ın 0.1.10 versiyonundan sonra, evet. Bölüm 7 te bununla ilgili bir açıklama var.

B.3. Araç çubuğu Zaman formatını nasıl değiştirebilirim?

init dosyanızdaki bu satırı değiştiriniz:

session.screen0.strftimeFormat: %a %d %H:%M

Format hakkında bilgi almak için makinenizde man 3 strftime komutunu çalıştırınız.

B.4. ~/.fluxbox/init dosyamda değişiklikler yapıyorum, fakat üzerine yazılıyor.

Bu Fluxbox'ın 0.1.8-bugfix2 den önceki versiyonlarındaki bir hatadır. Lütfen bunu rapor etmeden önce son versiyona veya düzeltmeye güncelleyiniz.

B.5. Tabs nasıl çalışıyor?

Bakınız : Bölüm 4.

B.6. Anti-Aliasing (Örtüşme-önler) 'e geçince fontlarım çok büyük oldu! Nasıl düzeltebilirim?

Xft 'nin gelişiyle fontlar değişik şekilde ele alınmaya başlandı. Yeni başlayanlar için, bunu tema (stil) dosyanızda belirtiniz:

*.font: Verdana:size=7

Tabiiki başka bir font ve büyüklük kullanabilirsiniz, bahsedilen örneğin menüleri kullanışlı hale getirmesi gerekir. Kullanabileceğiniz font çeşitleri hakkında bilgi almak için bir sonraki soruya bakınız.

B.7. Sanki eski fontları (örn. Snap AA...) kullanamıyorum gibi gözüküyor.Ne alaka?

Fluxbox'la AA yı aktif eder etmez karakterleri oluşturmak için Freetype2'yi kullanır. Eğer AA kullanmazsanız X11 in kendi font oluşturma mekanizması kullanılabilir. FT2'nin X11'in desteklediği bütün formatları desteklememesi sebebiyle Fluxboxta kullanılabilecek font seçenekleri sınırlı oluyor.Bu SSS yazılırken, FT2 şu formatları destekliyordu:

  • TrueType dosyaları (.ttf) ve kolleksiyonları (.ttc)

  • Type 1 font dosyaları hem ASCII (.pfa) hem de binary (.pfb) formatı

  • Type 1 Multiple Master fontlar

  • Type 1 CID-keyed fontlar

  • OpenType/CFF (.otf) fontlar

  • CFF/Type 2 fontlar

  • Adobe CEF fontları (.cef)

  • Windows FNT/FON bitmap fontları

Freetype 1, diğer şekilde, sadece TrueType fontlarını desteklesede GX ve OTF fontları için destek diğer bir kütüphane kullanılarak aktif hale getirilebilir.Detaylar Freetype web sayfasında bulunabilir.

B.8. Bu Artwiz fontları hakkında birşeyler duyuyorum.Nedir?

Ek D da bir açıklama var.

Eğer Artwiz fontlarından hoşlandıysanız, ama terminallerdeki görüntüsü hoşunuza gitmediyse,Linux Font Project den LFP fontpack'i deneyiniz. Burada iki set font var, LFP Fixed Width Fonts (terminaller için iyi), ve LFP Variable Width Fonts (diğerleri için) Fixed Width Fonts Linux konsol için de bulunur.

B.9. Arkaplanımı nasıl set ederim?

Bu Bölüm 6 da açıklanıyor.

B.10. Temaları değiştirdiğimde arkaplanım çirkin birtanesiyle değişiyor.

Bölüm 6 da bunun için bir çözüm yolu var.

B.11. halihazırda kullandığım.blackboxrc dosyamı Fluxbox için kullanabilirmiyim?

Kesinlikle; titlebar ve keygrabbing için birkaç satır eklemeyi unutmayın. Bunun yanında,blackboxrc ve ~/.fluxbox/init arasında sembolik bir link olması da akıllıca olabilir.

B.12. Fluxbox başladığında otomatik olarak uygulamaları nasıl çalıştırabilirim?

Bakınız: Ek A.

B.13. Blackbox stillerini (temalar) Fluxbox'ta kullanabilir miyim?

Evet. Her iki paket için de tar arşivleri %100 kullanılabilir. Bu aynı zamanda, garanti edemesem de, Waimea ve Openbox projeleri için de doğrudur. Böyle bir garantiyi her iki projede de görmedim, fakat Fluxbox'ın amaçlarından biri Blackbox stilleriyle ile uyumlu olarak kalmaktır.

B.14. .xinitrc/.xsession dosyalarımı nasıl ayarlarım?

Bakınız: Ek A.

B.15. KDE desteği var mı?

Evet, configure seçeneği --enable-kde yi kullanın. Bu KDE tray ikonlarının Slit 'te gözükmesini sağlıyacaktır.

B.16. Gnome desteği var mı?

Evet, configure seçeneği --enable-gnome u kullanın. Bu Gnome ipuçlarını kullanıma alacaktır. Fluxbox 0.1.12 ve sonrası için bu varsayılan olarak kullanılmaktadır.

B.17. Yeniden başlattıktan sonra bile BBtools aktif stil ayarlarımı kullanmıyor.

Basitçe ~/.blackboxrc nizi ~/.fluxbox/init 'e linkleyin, mesela şu komutla:

    $ ln -s ~/.fluxbox/init ~/.blackboxrc

B.18. Bazı stillerle 'tab'lar çirkin gözüküyor, nasıl düzeltebilirim?

0.1.14 yada önceki versiyonlar.

Tabların güzel (hatta daha güzel) görünmesi için o stile (tema) bazı ekstra satırlar eklemek gerekiyor. Bununla birlikte, bunu yapmak zorunda değilsiniz, Fluxboxın kendisi münasıp renkleri/stilleri ayarlamakta oldukça yeteneklidir, fakat, eğer nasıl gözükecekleri hakkında daha fazla kontrol sahibi olmak isterseniz, şu şekilde birkaç satır ekleyebilirsiniz:

Örnek B-1. Stil dosyalarında kişiselleştirilmiş tablar

    ! -- tab stili (Fluxbox için)
    window.tab.justify:                     Right
    window.tab.label.unfocus:               Flat Solid
    window.tab.label.unfocus.color:         rgb:AC/AC/AC
    window.tab.label.unfocus.textColor:     black
    window.tab.label.focus:                 Raised Solid
    window.tab.label.focus.color:           rgb:CC/CC/CC
    window.tab.label.focus.textColor:       black
    window.tab.borderWidth:                 1
    window.tab.borderColor:                 rgb:10/10/10
    window.tab.font:                        fixed
    ! --- end, tab style

Tamam, o zaman bütün bunlar ne yapıyor? Bir temada olan diğerleri gibi şeyler, eminim daha önce bir Blackbox teması yaptıysanız anlamışsınızdır .(Yapmadıysanız Bölüm 10 size ilgi çekici gelebilir).

Ayrıca, bu ekstra satırları içeren bir stil dosyası Blackbox ile de mükemmel bir şekilde çalışır, yani ekstra satırlar ekleyerek hiçbirşey kaybetmezsiniz.

B.19. Fluxbox masaüstüne nasıl ikon koyabilirim?

Fluxbox bu tip fonsiyonlar için kendi kardeş programına sahiptir, fbdesk olarak adlandırılır. fbdesk şu an için Fluxbox ile birlikte paketlenmemektedir. Ayrıca alternatifleri vardır: RoxFiler projesi, idesk, xdesk.

B.20. Fluxbox 0.9.6 yavaş...

Aşağıdaki satırı .xinitrc dosyanıza fluxbox'ı çalıştırmadan önce koyunuz:

export LC_ALL=C

yeni RedHat'lar da yardımcı olması gerekir.


Ek C. Tema Referansı

C.1. Tema Yönergeleri

Bu tema Yönergelerinin hangi değerleri alabileceklerini belirten tamamlanmış bir listedir. Bu yönergelerin detayları için bkz : Bölüm 10.

Tablo C-1. Araç çubuğu biçemleri

toolbarDoku
toolbar.heightSayı
toolbar.colorRenk
toolbar.colorToRenk
Düğmeler
toolbar.buttonDoku yada ParentRelative
toolbar.button.colorRenk
toolbar.button.colorToRenk
Basılı olmayan düğme okları için renk
toolbar.button.picColorRenk
Basılı durumdaki düğmeler
toolbar.button.pressedDoku (örn. Sunken) yada ParentRelative
toolbar.button.pressed.colorRenk
toolbar.button.pressed.colorToRenk
Basılı durumdaki düğme okları
toolbar.button.pressed.picColorRenk
Çalışma alanı etiketi
toolbar.labelDoku yada ParentRelative
toolbar.label.colorRenk
toolbar.label.colorToRenk
toolbar.label.textColorRenk
Çalışma alanı etiketi
toolbar.workspaceDoku yada ParentRelative
toolbar.workspace.pixmapPixmap
toolbar.workspace.colorRenk
toolbar.workspace.colorToRenk
toolbar.workspace.textColorRenk
toolbar.workspace.fontYazıtipi
Pencere etiketi
toolbar.windowLabelDoku yada ParentRelative
toolbar.windowLabel.colorRenk
toolbar.windowLabel.colorToRenk
toolbar.windowLabel.textColorRenk
Saat
toolbar.clockDoku yada ParentRelative
toolbar.clock.pixmapPixmap
toolbar.clock.colorRenk
toolbar.clock.colorToRenk
toolbar.clock.textColorRenk
toolbar.clock.fontYazıtipi
Boş Simge Çubuğu
toolbar.iconbar.emptyDoku yada ParentRelative
toolbar.iconbar.empty.pixmapPixmap
toolbar.iconbar.empty.colorRenk
toolbar.iconbar.empty.colorToRenk
toolbar.iconbar.emptyDoku yada ParentRelative
Odaklanmış ve odaklanmamış Simge Çubuğu
toolbar.iconbar.focusedDoku yada ParentRelative
toolbar.iconbar.focused.pixmapPixmap
toolbar.iconbar.focused.colorRenk
toolbar.iconbar.focused.colorToRenk
toolbar.iconbar.focused.textColorRenk
toolbar.iconbar.focused.fontYazıtipi
Metin
toolbar.justifycenter, left, yada right
toolbar.fontYazıtipi

Tablo C-2. Menü biçemleri

Başlık
menu.titleDoku
menu.title.colorRenk
menu.title.colorToRenk
menu.title.textColorRenk
menu.title.fontYazıtipi
menu.title.justifycenter, left, yada right
Çerçeve
menu.frameDoku
menu.frame.colorRenk
menu.frame.colorToRenk
menu.frame.textColorRenk
menu.frame.disableColorRenk
menu.frame.fontYazıtipi
menu.frame.justifycenter, left, yada right
Alt menü madde imleri
menu.bulletempty, triangle, square, yada diamond
menu.bullet.positionright yada left
menu.submenu.pixmapPixmap
Belirtilmiş Öğe
menu.hiliteDoku (örn. Raised)
menu.hilite.colorRenk
menu.hilite.colorToRenk
menu.hilite.textColorRenk
menu.selected.pixmapPixmap
menu.unselected.pixmapPixmap

Tablo C-3. Pencere Biçemleri

Başlık
window.title.focusDoku
window.title.focus.colorRenk
window.title.focus.colorToRenk
window.title.unfocusDoku
window.title.unfocus.colorRenk
window.title.unfocus.colorToRenk
window.title.heightSayı
Etiket
window.label.focusDoku yada ParentRelative
window.label.focus.colorRenk
window.label.focus.colorToRenk
window.label.focus.textColorRenk
window.label.unfocusDoku yada ParentRelative
window.label.unfocus.colorRenk
window.label.unfocus.colorToRenk
window.label.unfocus.textColorRenk

Tablo C-4. Tutma yeri (Handlebar) biçemleri

window.handle.focus.colorRenk
window.handle.focus.colorToRenk
window.handle.unfocusDoku
window.handle.unfocus.colorRenk
window.handle.unfocus.colorToRenk

Tablo C-5. Boyutlandırma tutacağı biçemleri

window.grip.focusDoku
window.grip.focus.colorRenk
window.grip.focus.colorToRenk
window.grip.unfocusDoku
window.grip.unfocus.colorRenk
window.grip.unfocus.colorToRenk

Tablo C-6. Pencere düğme biçemleri

window.button.focusDoku yada ParentRelative
window.button.focus.colorRenk
window.button.focus.colorToRenk
window.button.focus.picColorRenk
window.button.unfocusDoku yada ParentRelative
window.button.unfocus.colorRenk
window.button.unfocus.colorToRenk
window.button.unfocus.picColorRenk
window.button.pressed Doku
window.button.pressed.colorRenk
window.button.pressed.colorToRenk

Tablo C-7. Pencere çerçeve biçemleri

window.frame.focusColorRenk
window.frame.unfocusColorRenk

Tablo C-8. Sekme biçemleri

window.tab.justifyright, left yada center
window.tab.label.unfocusDoku
window.tab.label.unfocus.colorRenk
window.tab.label.unfocus.textColorRenk
window.tab.label.focusDoku
window.tab.label.focus.colorRenk
window.tab.label.focus.textColorRenk
window.tab.borderWidthPixel Sayısı
window.tab.borderColorRenk
window.tab.fontYazıtipi

Tablo C-9. Pencere etiket biçemleri yazı tipleri

window.fontYazıtipi
window.justifycenter, left, yada right

Tablo C-10. Muhtelif biçemler

Bütün bileşenler etrafındaki sınır
borderWidthPixel sayısı
borderColorRenk
bevelWidthPixel sayısı
handleWidthPixel sayısı
frameWidthPixel sayısı
Bir biçem yüklendiğinde çalıştırılacak komut
rootCommandKabuk komutu , örn. bsetbg nicepiccy.jpg
Eski BB 0.51 kaynakları
menuFontYazıtipi
titleFontYazıtipi

Ek D. Fluxbox için Artwiz Fontları

Giriş

Artwiz diye adlandırılan fontlar kendisini Artwiz olarak adlandıran biri tarafından (şaşırtıcı olarak yeterli) yaratılmış fontlardır. Han ise fontlardan oluşan bir tarball'ı kendi sitesine koyacak kadar yardımseverdi. Fontları http://www.xs4all.nl/~hanb/software/fluxbox/artwiz-fonts.tar.bz2 'den download edebilirsiniz.

Mandrake RPM leri varsa fontları elle kurmak zorunda değilsiniz. Eğer yoksa, şöyle. Artwiz fontları kurmanın iki yolu var: Sistem-geneli ve sadece-kullanıcı.

Sistem-geneli kurulum

Sisteminizdeki bütün kullanıcılar için bu fontları kurmak istiyorsanız, tarball'ı /tmp dizinine indirip şu şekilde işleme alabilirsiniz:

    # cd /usr/X11R6/lib/X11/fonts
    # tar xjf /tmp/artwiz-fonts.tar.bz2
    # cd fluxbox-artwiz-fonts
    # mkfontdir
    # chkfontpath -q -a /usr/X11R6/lib/X11/fonts/fluxbox-artwiz-fonts:unscaled

Ve font-server 'ı yeniden başlatın. Aklınızda bulunsun, sizin dağıtımınız system-wide fontlar için /usr/share/fonts gibi farklı bir lokasyon içeriyor olabilir. Yukarıdaki dizin makul bir varsayılandır.

Sadece-kullanıcı kurulumu

Eğer fontları sadece bir kullanıcı için kurmak istiyorsanız, biraz daha kolay. Tarball'ı kendi dizininize indirin, sonra:

    $ tar xjf artwiz-fonts.tar.bz2
    $ mv fluxbox-artwiz-fonts .fonts
    $ mkfontdir $HOME/.fonts

.xinitrc yada .xsession dosyanızı (X11'i nasıl çalıştırdığınıza bağlı) edit edin, ve herhangi bir programdan önce aşağıdaki satırları içermesini sağlayın:

    xset +fp $HOME/.fonts

Sonra, X11'i (tekrar)çalıştırın ve xlsfonts yada xfontsel ile sistemin fontları tanıdığını kontrol edin.

Hatalar

Artwiz fontları bazen yerelleştirme ayarlarınızla çakışabilir. Çalışmalarını sağlamak için aşağıdaki satırları .xinitrc yada .xsession dosyanıza koymak zorunda kalabilirsiniz:

    export LC=C
    export LC_ALL=C

Bu ayarlar yerelleştirme ayarları içindir, eğer fontlarınız kaybolur yada başka türlü problemler yaşarsanız tekrar kaldırın. Aleczapka tarafından katkıda bulunulmuş bir başka çözüm daha vardır.

Ve işte uluslararası ayarlarınızı kullanarak Artwizs fontlarını Fluxbox içinde kullanmanın yolu.

Yerelleştirme ayarları düzeltmesi

Çözüm çok kolaydır. Yapmanız gereken tek şey fonts.alias (ve/veya fonts.dir) 'ınızı düzeltmeniz.

Bu ayrıca diğer uygulamalarda karşılaştığınız problemleri de düzeltir (mesela Evolution ve UTF-8) İlk olarak düzgün bir fonts.dir dosyası yapmanız gerekir. Bu dosya Artwiz fontlarını kurduğunuz dizinde bulunur. Eğer yoksa o dizine geçiniz ve mkfontdir yapınız.

Bu dosyanın söz dizimi basittir. İlk satır sadece dosyadaki font sayısını içerir. Takip eden bütün satırlar ise şu formdadır

     font_dosyaismi fontismi

İşte örnek bir fonts.dir dosyası:

Örnek D-1. fonts.dir

14
glisp.pcf.gz -artwiz-glisp-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
gelly.pcf.gz -artwiz-gelly-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv
edges.pcf.gz -artwiz-edges-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
nu.pcf.gz nu
drift.pcf.gz drift
cure.pcf.gz cure
aqui.pcf.gz aqui
lime.pcf.gz -artwiz-lime-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
snap.pcf.gz -artwiz-snap-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv

Bizi ilgilendiren şeyler sadece kısa font belirteçleri olan satırlar, bu durumda Nu, Drift, Cure and Aqui fontları. Problem ise onların X11 font isimlerinin olmaması.

Dosyayı şu şekle sokun:

14
glisp.pcf.gz -artwiz-glisp-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
gelly.pcf.gz -artwiz-gelly-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv
edges.pcf.gz -artwiz-edges-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
nu.pcf.gz -artwiz-nu-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
drift.pcf.gz -artwiz-drift-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
cure.pcf.gz -artwiz-cure-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
aqui.pcf.gz -artwiz-aqui-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
lime.pcf.gz -artwiz-lime-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
snap.pcf.gz -artwiz-snap-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv

Son yapacağınız şey ise fonts.alias dosyasını (iso646'den farklı çevrimleri olan fontları da kullanabilmek için) düzeltmek.

Sözdizimi font_kısaismi font_ismi şeklindedir. Mesela artwiz fontlarının ISO-8859-9 çevrimiyle çalışmasını sağlamak için şöyle bir kısaltma (her biri bir satırda) yapınız:

-artwiz-anorexia-medium-r-normal--11-110-75-75-p-90-iso8859-9
-artwiz-anorexia-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv 

Ayrıca benim fonts.dir ve fonts.alias dosyalarıma bakabilirziniz, bunlar ISO-8859-1, ISO-8859-2, ve iso10646-1 (UTF-8) 'i destekliyor. Eğer herşeyi yukarıdaki gibi ayarlarsanız, LC_* ayarlarınızı C veya POSIX'e ayarlamak zorunda kalmazsınız. Ve bütün uygulamalarınız (sadece fluxbox değil) gerektiği gibi çalışacaktır; "can't convert characterset yada benzeri" şekilde uyarılar vermeyeceklerdir.


Ek E. Hata ayıklama

Genel bilgi

Hata ayıklama öğrenebileceğiniz bir marifettir. İyi hata raporlamasının nasıl yapılacağını anlatan birçok iyi doküman vardır. Birşeyler yapmadan, hatanız kaybolmadan, yada hatanız sizi öldürmeden önce lütfen bunları okuyunuz (MT: Doğru çevirmişimdir umarım). Tercihan hatayı berteraf etmek istiyoruz ve sizin yardımınıza ihtiyacımız var :-) Öyleyse savaşa iyi hazırlanmış olarak gidelim. Bugzilla Bug Raporlama NASIL ve Simon Tatham'ın Nasıl Etkili Hata Raporlaması Yapılır iki güzel dokümandır.

Resmi olmayan bazı düzeltmelerin doğası gereği, tamamını destekleyemiyoruz. Bunun (sizin için) anlamı, Fluxbox'ın uyguladığınız düzeltmeler olmaksızın da çöküp çökmediğini de kontrol etmeniz gerekiyor. Eğer Fluxbox'ınızın düzeltmeleri bir dağıtım sağlayıcı tarafından uygulanmış ise bu konuda onunla temasa geçiniz.

Eğer bu klavuzda anlatılandan daha fazla yardıma ihtiyaç duyarsanız, irc.freenode.net 'te #fluxbox kanalındakilerden biri yardım edebilir. Ana geliştiriciler ve bir kısım nitelikli insan herzaman oradadır.

Fluxbox'a özel şeyler

Fluxbox çıktıları

Herhangi bir uygulama gibi Fluxbox'ta bütün mesajları kendi çalıştığı konsola gönderir. Problem ise, normal durumlarda bütün çıktı metin konsola gider. Fluxbox başlangıç satırınızı exec xterm yada favori terminal emulatörünüze değiştirin. X11'i ve Fluxbox'ı bu terminalde çalıştırın ve bu şekilde kolaylıkla Fluxbox'tan gelen bütün mesajları görebilirsiniz.

İstediğimiz bilgiler

Birçok şeyi bilmek istiyoruz. Hepsini bildiğinizden emin olun.

Core dump'lar ile ne yapılır.

Eğer Fluxbox ile bir core dump aldıysanız şunları yapınız: OPN de #fluxbox kanalına gidin ve fluxgen 'e bir core dump aldığınızı söyleyin. İstediği bütün bilgiler verin. Büyük ihtimalle sizden şunları isteyecektir. Burada çok iş vardır ama biraz duyarlı ve biraz Unix tecrübesi olan herkes yapabilir. Aaa, ayrıca GNU Hata ayıklayıcısı gdb ye ihtiyacınız olacak.

Fluxbox'ı tekrar oluşturma

Evet doğru okudunuz. Gerçek bir hata ayıklayıcı olmak için Fluxbox'ı hata ayıklama sembolleriyle tekrar oluşturmanız lazım.

Fluxbox'ı herzamanki gibi oluşturun (build) ve make yaparken şu seçeneği ekleyin:

    $ CFLAGS=-Wall -g3 CXXFLAGS=-Wall -g3 make

Eğer Fluxbox sitesinden veya kendi dağıtımınızdan kaynak RPM lerini kullanıyorsanız şöyle birşey yapabilirsiniz:

    $ su
    # rpm -ivh fluxbox-0.1.11.1mdk.src.rpm
    # cd /usr/src/RPM/SPECS
    # env DEBUG=true rpm -ba fluxbox.spec
    # rpm -Uvh --force /usr/src/RPM/RPMS/i686/fluxbox*
    # exit
    $ mkdir -p ~/src/fluxbox
    $ cp -R /usr/src/RPM/BUILD/fluxbox* ~/src/fluxbox

Fluxbox dizinine gidin (böylece core dump'ı doğru yerde elde ederiz). Kabuk core-dosyaları etkisizleştiren acayip bir özelliğe sahiptir , yani şu şekilde core dosyası elde edeceğinize emin olun:

    $ ulimit -c unlimited

X11 'i çalıştırın ve hata ayıklamaya başlayın. Fluxbox'ın core dump oluşturması için ne gerekiyorsa yapın. Ve şimdi hata ayıklamaya başlıyoruz:

    $ gdb fluxbox core

gdb içinde bu komutu çalıştırın. (ilk kısım gdb'nin promptudur, onu yazmayın :)):

    (gdb) where

Şimdi birsürü çıktınız var. Fluxgen # ile başlayan bütün çıktıları ister.

Şimdi de bütün bunları bir e-postaya yapıştırıp ve ayrıca ~/.fluxbox/ içindeki dört adet dosyayı da ekleyerek fluxgen'e gönderin.

Lütfen core dosyasını ve kaynak kodu şimdilik silmeyiniz. Fluxgen birkaç ekstra soru sorabilir ve bu dosyalara ihtiyacınız olabilir. Lütfen core dosyasını eğer kendisi istemezse fluxgen'e göndermeyin - çünkü bu dosya tamamen sizin sisteminize özeldir, büyük ihtimalle hiç kullanamayacaktır ve core dosyaları gerçekten büyüktür.

Done.