Xmonad Pencere Yöneticisi

Arch Linux Türkiye Belgeleri sitesinden
Atla: kullan, ara

xmonad, X için çok parçalı bir pencere yöneticisidir. Ekranın olabildiğince etkin kullanılmasını sağlamak adına pencereler boşluk ve çakışma olmaksızın otomatik olarak döşenir.

xmonad Haskell ile geliştirilebilecek şekilde, yine Haskell ile yazılmış ve ayarlanmıştır. Kullanıcı özel yerleşim algoritmalarını, tuş kombinasyonlarını ve diğer ek özellikleri ayar dosyası üzerinden kolaylıkla ayarlayabilir.

Yerleşimler dinamik olarak uygulanır, ayrıca farklı masaüstlerinde farklı yerleşim biçimleri kullanılabilir. Pencerelerin pek çok fiziksel ekranlara döşenebilmesini mümkün kulan xinerama tam olarak desteklenmekte.

Ayrıntılı bilgi için, lütfen xmonad web sitesini ( http://xmonad.org/ ) ziyaret edin.

Konu başlıkları

Kurulum

xmonad community deposunda mevcut. Geliştirme sürümünün (darcs) son hâlini ise AUR'da bulabilirsiniz. Okuyacağınız içerik geliştirme sürümü olan xmonad-darcs için yazılmıştır.

Geliştirme sürümü (xmonad-darcs)

xmonad-darcs sürümü AUR'da mevcut olan 3 ayrı paketin yüklenmesini gerektirir (belirtilen sıra ile yükleyin):

Ayarlama

Xmonad'ı çalıştırmak

xmonad'ı otomatik olarak çalıştırmak için, xmonad komutunu başlangıç betiğine eklemeniz yeterli ( örn. ~/.xinitrc). Ek olarak, GDM ve KDM kullanıcıları yeni bir oturum dosyası oluşturarak uygun oturum menüsünden xmonad'ı seçebilirler.

Xmonad'ı ayarlamak

Xmonad ayarlarınızı, ~/.xmonad/xmonad.hs dosyası üzerinden düzenleyebilir, dosyanın düzenlenmesi tamamlandığında kaydettikten sonra Mod+q yuş kombinasyonu ile xmonad'ı yeni ayarlamalarla çalıştırabilirsiniz.

Xmonad ayarlarının tutulduğu dosya Haskell ile yazıldığından, programlama bilgisi olmayan kullanıcılar ayarlamaları yaparken zorlanabilirler. Ayrıntılı Nasıl Yaparım YAPILIR belgeleri için şu adreslere göz atabilirsiniz:

Xmonad'ı kapatmak

Mevcut xmonad oturumunu kapatmak için, Mod+Shift+q tuş kombinasyonunu kullanın (Mod tuşu eğer bir değişiklik yapılmadıysa Alt'tır).

İpuçları ve hileler

Tamamlayıcı Uygulamalar

Xmonad ile uyum içinde çalışan bir çok tamamlayıcı ek uygulama vardır. Bunların en popüler olanları şunlar:

Conky veya çekmece uygulamaları için yer açmak

Dikkat: defaultGaps özelliği 0.8 sürümünden itibaren kullanılamayacak ve bunun yerine avoidStruts ya da xmonad-contrib ile gelecek olan XMonad.Hooks.ManageDocks gibi kullanılacak.

Xmonad Conky ya da trayer gibi uygulamalar için ekranın üst veya alt kısmında boşluk bırakacak şekilde ayarlanabilir. Bunu yapmak için, Config.hsdosyasını metin düzenleyiciniz ile açın ve defaultGaps değerini dğeiştirin.

defaultGaps = [(0,0,0,0)]

Alanlar: üst, alt, sol, sağ. Yani, üst kısımda 15, alt kısımda 24 piksellik bir boşluk bırakmak için şu şekilde ayarlayabilirsiniz:

defaultGaps = [(15,24,0,0)]

Ya da boşluk ayırmayı otomatikleştirmek için XMonad.Hooks.ManageDocks'tan import edilecek avoidStruts da kullanılabilir.

layoutHook = avoidStruts (tiled Tall ||| ...
manageHook = manageHook defaultConfig <+> manageDocks

Hatta boşlukları etkin/pasif kılmak için şöyle bir kısayol bile atayabilirsiniz:

,((modMask x, xK_b     ), sendMessage ToggleStruts)

Xmonad ile xmobar kullanmak

Xmobar, xmonad ile kullanılmak üzere tasarlanmış metin tabanlı, hafif ve minimalist bir paneldir.

Xmobar'i xmonad ile kullanabilmeniz için, xmonad paketi haricinde iki paketin daha sisteminizde kurulu olması gerekiyor. Bunlar, [community] deposunda edinebileceğiniz xmonad-contrib ile AUR'dan edinebileceğiniz xmobar ( ya da xmobar-darcs ). Ayrıca, ekranda xmobar'ın yer alacağı kısımda yer açmanız da gerekiyor. Bunun için şuraya göz atabilirsiniz: Xmonad#Making room for conky or tray apps

xmonad üzerinde xmobar'ı çalıştırmak için iki yol mevcut. xmonad'ı çalıştırdıktan sonra kendiniz xmobar'ı çalıştırabilirsiniz, ya da xmonad.hs üzerinde yapacağınız ayarlama ile xmobar'ın otomatik olarak çalıştırılmasını sağlayabilirsiniz. İkinci yöntem daha mâkul gibi görünüyor... Siz de öyle düşünüyorsunuz, ama ayarlamak hakkında sorun mu yaşıyorsunuz? Yardımcı olalım :)

~/.xmonad/xmonad.hs'ı metin editörünüz ile açın. Öncelikle üç modülü 'import' etmemiz gerekiyor: IO, DynamicLog ve Run özelliği. IO, xmonad'dan masaüstleri (workspaces), mevcut pencerenin başlığı gibi verileri almak için gerekiyor. Diğer ikisi ise, xmobar'ı çalıştırmak ve çıktıları xmobar üzerinde göstermek için gerekli.

import IO
import XMonad.Hooks.DynamicLog
import XMonad.Util.Run

Şimdi, ana fonksiyona geliyoruz. Bunu yapmanın pek yolu mevcut olmasına karşın biz xmobarPP'yi kullanacağız ( Ayrıntılı bilgi için: XMonad.Hooks.DynamicLog).

Burada dikkat etmemiz gereken şey, ppOutput'u geçersiz kılmamız gerektiği; yoksa sadece stdout yazdırılacaktır.

main = do
       xmobar <- spawnPipe "xmobar"  -- spawns xmobar and returns a handle
       xmonad $ defaultConfig 
              { ...
              , logHook = dynamicLogWithPP $ xmobarPP { ppOutput = hPutStrLn xmonad } -- print the output of xmobarPP to the handle
              , ...
              }

Son olarak, ~/.xmobarrc dosyanızı açın ve 'template' içinde StdinReader'in olduğundan emin olun.

Config { ...
       , template = " %StdinReader% ... "
       }

gibi...

Bu kadar! Şimdi yapmanız gerek xmonad'ı yeniden başlatmak.

Örnek Ayar Dosyaları

İşte size bir kaç ayar dosyası örneği. Kendi ayar dosyanızı oluştururken kopya çekebilirsiniz :)

Diğer Bağlantılar

xmonad -- Resmi xmonad web adresi(ingilizce)

xmonad: küçük bir xmonad turu(ingilizce)

dzen -- xmonad ile kullanılabilecek bir durum çubuğu(ingilizce)

dmenu -- X için uygulamaları çabuk çalıştırabilmeyi mümkün kılan bir menü uygulaması(ingilizce)

Kişisel araçlar
GOOGLE