15. helmikuu 2010, 18:19

Xmonad

Sitten viime jakson on tapahtunut kaikenlaista tässä. Viikko sitten kirjoittamassani jutussa valittelin sitä, kun Xinerama tuhoaa suorituskyvyn ja kaiken siihen liittyvän. Päädyin kuitenkin lopulta ottamaan sen takaisin käyttöön. Ei olisi niinkään tarvinnut, jos olisin jäänyt Fluxboxia käyttämään. Mutta kun olen tullut, tai tulin siihen tulokseen, että olisi aika vaihtaa johonkin kunnolliseen tileävään manageriin.

Edellisessä viestissäni kerroin alkuvaikutelmia Awesomen käyttöönoton suhteen. Kivaahan se alkuun on (ja kannettavallani käytellessä se säilyi koko viikon ajan kivana: näissä kahdessa kirjoitelmassa lisää) mutta kun nyt sitä sai kokeilla peräti kolmen näytön kera, jotain yksinkertaisesti jäin kaipaamaan kokonaisuudesta. Pari pientä bugia kenties kerkeää jo pilata koko satsin?

Niinkin nätiltä kuin tuo Awesomen käyttö näyttää, se siis on kovin hankala yksi. Hyvät oletukset toki löytyy, eikä varmasti olisi pienen säädön jälkeen valittamista lainkaan. Se tukee myös Rainlendarin hankalia ikkunoita suoraan tarjota työpöydälle. Awesome jakaa Xmonadin kanssa osaksi samat suunnittelufilosofiat: ruudukkolayouteissa on yleensä yksi tai kaksi master-ikkunaa, jotka vievät about puolet näytöstä, ja loput ikkunat jakavat toisen puoliskon keskenään. Sieltä sitten valitaan näppärillä pikanäppäinyhdisteillä aina haluttu akkuna aktiiviseksi eteen. Tyylillisesti näissä tileävissä ympäristöissä keskeinen komento on "käynnistä uusi terminaali" ja sitten pari pyörittelykomentoa. Xmonad tarjoaa oletuksena hyvin laihasti komentoja, mutta ne yllättäen riittävätkin pitkälle, elleivät peräti loppuun saakka.

Vähän eroja

Awesome antaa jokaiselle näytölle omat 9 virtuaalipöytää, joista voi sitten haluamansa kombinaation muodostella. Xmonad tarjoaa oletuksena 9 virtuaalipöytää, mutta ne kaikki jaetaan näyttöjen kesken. Siis saatavilla olevat virtuaalipöydät muodostavat sellaisen poolin, josta valitaan yksi pöytä per näyttö. Jännä ratkaisu, joka toimii paremmin kuin luulisikaan. Awesome tarjoaa Xineramatuen ja valmiit näppäimet näyttöjen välillä pomppimiseen tyylillä: seuraava näyttö, edellinen näyttö. Xmonad tarjoaa sitä vastoin oletuksena up to kolmelle näytölle valmiit hyppykomennot, jotka on sijoitettu w:n, e:n ja r:n päälle. Sinänsä hankalasti saatavilla, kun modifier-namiskana on Mod4, mutta noita voikin helposti uudelleenkonffata. Intuitiivisesti ikkunoita voi siirrellä näytöltä toiselle lisäämällä shiftiä mukaan näppäinpainallukseen.

Varustelussa Xmonad jää jalkoihin: siinä missä Awesome ja about kaikki muutkin (jopa dwm!) tarjoavat pienen statusbarin, missä näkyy virtualipöytätilanne ja sen sellaiset jutut, Xmonad ei sellaisia hömpötyksiä tarjoile. Yleinen ratkaisu tähän ongelmaan on asettaa Xmonad pumppaamaan merkkijonotietoa ulos stdouttiin tai johonkin nimettyyn putkeen, ja sitten putken vastaanottavassa päässä on joku monitoriohjelma. Suosituimpia ovat myös haskellilla kirjoitettu xmobar ja sitten on dzen. Kumpikin vaikutti hyvältä. Dzenillä aloitin, mutta tympäännyin sitten ja kokeilin piruuttani erään ohjeen mukaan xmobaria. Sen defaultit miellyttävät enemmän, ja jätin sen pyörimään.

Oletusasetuksillaan xmobar tarjoaa samankaltaista tietoa ikkunoinnista kuin esimerkiksi awesomen oma statusbar: siinä näkyy lista ikkunoilla täytetyistä työpöydistä, korostettuna ruudulla näkyvät työpöydät (ne kolme pöytää, jotka on valittu sieltä virtuaalipöytäaltaasta) ja vieläpä bonuksena aktiivinen ruutu. Koska xmobar on ensisijaisesti monitoripalkki, heitin oletuksena olleet CPU-graafit pois ja jätin Joensuun säätiedot ja kellonajan näkymään. Conkyn tottakai jätän toimittamaan tehtäviään kuten entisellään. Myös Rainlendarin sain toimimaan, kun asetin sen Xmonadin konfiguraatiossa kelluvaksi. Toivottavasti muistaa myös paikkansa. Ainakin sopisi olettaa näin.

Mikäs sitten Xmonadissa viehättää niin kovasti? Täytyy sanoa, että jotkut erikoismalliset ikkunaleiskat ovat hyvin miellyttäviä käytellä. Tällä hetkellä minulla on leiskalistalla muutama vain. Tämä oletuksena tuleva "Tall", sen peilattu versio, "Circle", "simpleTabbed" ja täysruutu. Nämä on heitetty avoidStruts-modifierin sekaan. En ole vielä niin varma Haskellin syntaksista, että osaisin sanoa, onko tuo funktio, joku lambdamääre vai mitä ihmettä. Joka tapauksessa minulla on siis tabeja, ympyröitä ja perinteistä tileämistäkin.

Ion3-tyyliset tabitukset olisi mukava saada viritellyksi, sitä varten pitää nimittäin tutkia sellaista asiaa kuin sisäkkäiset layoutit, jolloin voi yhdistää esimerkiksi tuon "tall"-leiskan ja siihen masterikkunaksi tabitukset. Awesomessa en ole tavannut tabeja. Ne kun ovat joihinkin tilanteisiin enemmän kuin hyödyllisiä.

Niin on mukavaa

Erityisen mukavalta Xmonad tuntuu siinä suhteessa, että se on todellakin kevyt paskiainen kaiken haskell-koodinsa alla. En sinänsä anna painoarvoa projektille sen LOC-luvun pienuuden perusteella, mutta kyllä sen on jossakin näyttävä. On luontevaa toimia tileympäristössä siten, että välillä vaihdetaan masterikkunaksi joku toinen simppelillä -painalluksella ja sitten palataan takaisin vastaavanlaisella. Se toimii joustavasti kaikkien niiden ohjelmien kanssa, jotka jaksavat uudelleenpiirtää ikkunaansa riittävän usein ja nopeasti. Toisaalta sellaiset ikkunat, jotka luokittelevat itsensä kiinteäkokoisiksi Xmonad taitaa suoraan nostaa kelluviksi.

Pelitehoa ei ole

Xineramalla tai ilman, PCI- ja PCIe-kortin yhteenkäyttö ei ole kovin järkevää. 3D-teho on nollassa täysiään. Tosin en minä niin paljoa pelailekaan. Kuitenkin ehkä yleisistä mukavuussyistä olen laittanut passiivisen myynti-ilmoituksen kahdesta näytöstäni internetteihin. Vaihdossa toivon rahan lisäksi (vaihtoehtoisesti) toista 22/24-tuumaista näyttöä, jolloin olisi pöytäalaa riittävästi ja vieläpä kaikenlaista muutakin kivaa. Aika näyttää. Hyvin tälläkin menee, ei tässä mitään. Xmonad on hyvä systeemi kyllä, bonuksena voi oppia vielä sitä haskelliakin vähän päälle.

Xmonad kahdella Circle-leiskalla ja keskellä perinteinen Tall

Xmonad kahdella Circle-leiskalla ja keskellä perinteinen Tall

Tageja: , , , ,

---
---

---

Aiheen vierestä