Mosaiikin pimeä puoli (III): XMonad

Vaikuttaa siltä, ​​että olen rukoillut paljon ja että en ole tähän päivään asti asettanut millimetriä asetuksia. Kuten olen ollut lupaava hetki tänään repi xmonad.hs, jonka valmistin erityisesti tähän tilaisuuteen. Tämä ja muut määritystiedostot ovat nimenomaan Liitä konsolin värit, ikkuna-asetukset y yläpalkki.

Voit ladata ne sieltä ja avata ne suosikkitekstieditorissasi.

Ennen

Jos mietit, työpöytäni oli pieni Openbox Debianin vakaa. Ohita jakelun asennusprosessi tällä hetkellä, varmista, että tarvittavat paketit ovat arkistoissa. Tehdään tämä (muistaa, että olen Debianissa):

sudo aptitude asenna ghc xmonad xmobar gmrun dmenu

Ja valmis. Asensimme juuri ulkoasun järjestyksessä; Glasgow Haskell Compiler, joka vastaa Haskellin kokoamisesta ja tulkinnasta; XMonad, ikkunanhallinta, XMobar on palkki, joka näyttää tietoja järjestelmästä ja joistakin ohjelman käynnistysohjelmista, valikosta ja gmrunista; jotka ovat jo ystävällisesti konfiguroitu niin, että XMonad käynnistää ne Mod + P- ja Mod + Shift + P -toiminnoilla.

Ja tämä näytti työpöydältäni. Sanon niin, että meillä on vertailukohde ja jäljittelen joitain asioita, jotka olin jo määrittänyt minimalistisemmassa ympäristössä.

Ei mitään erityistä

Mutta yllätys. XMonad toivottaa meidät tervetulleiksi näin. Sieppauksessa olen jo avannut gmrunin osoittaakseni, ettei se ole rikki:

Ei mitään mahtavaa

Ja haluamme, että se näyttää tältä, jo määritetty ja kaikki:

Joten kyllä

Kuvakaappaus näyttää päätelaitteen, jossa on ncmpcpp, päätelaitteen MPD-asiakas; ja GVim-istunto, molemmissa paletin väreillä Solaroitu valo. Tämän saaminen ei ollut todella vaikeaa ja jopa Vim ja urxvt olivat jo valmiita järjestelmässäni.

Xmonad.hs, kuinka pelottavaa!

Ei lainkaan. Kokoonpano, jonka aiot nähdä, on erittäin yksinkertainen ja yksinkertainen. Sen pitäisi toimia kaikissa järjestelmissä, joissa on XMonad 0.9.1, vaikka 0.10 on jo saatavilla. No pelkää, pelkää hyvin:

- Xmonad-kokoonpano - Kuten näette, on melko yksinkertaista tuoda XMonad tuoda XMonad.Util.EZConfig tuoda XMonad.Util.Run wrk = ["A", "C", "G", "T"] main = do xmproc <- spawnPipe "xmobar" kutee "typpeä - palauta" kutee "urxvtd" kutee "mpd" kutee "xfce4-volumed" xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e ", focusBorderColor =" # 3b002 ", työtilat = wrk}` lisääKeys` [((mod26Mask, xK_v), kutee "gvim"), ((mod4Mask, xK_c), kutee "mpc toggle"), ((mod4Mask, xK_a) , kutu "mpc prev"), ((mod4Mask, xK_s), kutee "mpc seuraava")] - Kokoonpanon loppu. Yksinkertainen, helppo ja puhdas.

Mitä täällä tapahtui?

Jos he ovat jo toipuneet sokista, voimme nähdä, että kokoonpanomme tuskin saavuttaa 30 koodiriviä. Selitän osittain, miksi jos kopioit ja liität tämän, XMonad kokoaa juuri kirjoittamamme ohjelman. Valmis?

Riippuvuusosio

Lähellä tiedoston alkua on kolme riviä, jotka alkavat avainsanalla tuoda. Kuten muillakin ohjelmointikielillä, se lähettää kääntäjän etsimään haluamaansa moduulia ja antaa sille onnekas moduulin toiminnot. Katsotaanpa se uudelleen:

Tuo XMonad Tuo XMonad.Util.EZConfig Tuo XMonad.Util.Run

Ohjelmassa käytetään kolmea riippuvuutta. Ensimmäinen tuo meille XMonad-toiminnot, toinen ja kolmas auttavat meitä myöhemmin määrittämään pikanäppäimet ja suorittamaan ohjelmia. Jatketaan.

muuttujat

Tuo asia on wrk ja mihin se on tarkoitettu? Arvostetaan koodia tarkemmin:

wrk = ["A", "C", "G", "T"]

wrk on muuttuja, joka vastaa neljän elementin, kaikkien merkkijonojen, luetteloa; koska Haskell-luettelot hyväksyvät vain yhden tuotetyypin. Jos mietit, miksi valitsin nuo neljä kirjainta työpöydällesi, muistan neljä nukleiiniemästä DNA: ta.
Nimi on vain lyhenne, ja voimme laittaa sen myWorkspaces, pepitoRojo tai mitä tahansa, kunhan se alkaa pienillä kirjaimilla ja määritämme sen seuraavassa osassa.
Tässä alkaa se hyvä asia, että meillä on käytössämme täydellinen ohjelmointikieli, koska voimme määrittää ikkunan värin muuttujasta:

windowColor = "#FFFFFF"

Tai jopa luo toiminto, joka palauttaa värin mielialallemme nähden:

moodColor m | m == "Surullinen" = "# b0c4f6" - Jotain sinistä | m == "Vihainen" = "# ba3f3f" - Jotain punaista m == "Hyvää" = "# 8bff7e" - Jotain kuin vihreää | muuten = "#FFFFFF" - Valkoinen, neutraaleille päiville

Ja paljon enemmän. Tunnetko jo sormiesi voiman? Yksi asia. Jos et ymmärrä mitä tapahtui, ajattele, että tämä on Haskellin oma rakenne, jota kutsumme Guarda ja se on pohjimmiltaan kuin jos-sitten-muu puu, mutta järjestäytyneempi ja kauniimpi. Ja älä huoli, koodi kirjoitin minä ja se toimii hyvin.

Pääosa

Siitä rivistä, joka sanoo main = tee aloimme määritellä XMonadin käyttäytymistä. Katsotaanpa se rauhallisesti.

Asioita alkuun

Tämä voidaan saavuttaa monin tavoin, mutta jotta pysyisin riippumattomina ja tekisi koodista puhtaampaa, vaikkakin selvästi luolamiehenä, valitsin tämän:

xmproc <- spawnPipe "xmobar" kutee "typpeä - palauta" kutee "urxvtd" kutee "mpd" kutee "xfce4-volumed"

Ensimmäinen rivi käynnistää XMobarin, jonka asetustiedoston näemme myöhemmin.
Sitten aloitimme joitain välttämättömiä asioita minulle, mukavan taustakuvan (sama kuin ensimmäisessä kuvakaappauksessa), demonin, joka saa urxvt: n toimimaan kuin tuuli, mpd: n demoni - joka toistaa musiikkini alusta alkaen ja en koskaan sulkeudu - ja äänenvoimakkuuden säädin. Joo, siinä se on. Syntaksi on sama, jos haluat aloittaa tarvitsemasi.

Lopulliset mukautukset

Tässä määritellään joitain asioita, jotka ovat yleensä vain henkilökohtaisia ​​mieltymyksiä. Esimerkiksi haluan käyttää normaalisti hyödytöntä Super-avainta (käytännössä Windows-näppäintä) Altin sijaan, mutta se on minun mieltymykseni. Jos haluat palata takaisin Superiin, poista ensimmäinen rivi.

- ... xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e3", focusBorderColor = "# 002b26", työtilat = wrk} - ...

Sitten määritämme päätelaitteemme, urxvtc, koska sitä kutsutaan aiemmin juoksemamme demonin asiakkaaksi. Muut asiat, kuten luettelo työtiloista, jotka olisimme voineet lisätä esimerkiksi:

, työtilat = ["H", "O", "L", "A"], työtilat = ["A", "R", "C", "H", "L", "I", "N "," U "," X "], työtilat = [" 1: verkko "," 2: musiikki "," 3: käyttämätön tila "," 4: Ufff "]

Ja muita asioita, jotka Haskellin merkkijonoluettelon käsittely antaa meille mahdollisuuden.
Rajan paksuus on vain kokonaisluku ja jos haluamme muuttaa toiminnon keskittämän ikkunan väriä moodColor jonka juuri loimme, koska jätämme muuttujan näin:

--..., focusBorderColor = moodColor "onnellinen" - ...

$ Rivillä xmonad ... se on vain oikeiden assosiatiivisten toimintojen sovellus, toisin sanoen tallennamme muutaman sulun. 😀

Pikanäppäimet

Tiedoston lopussa meillä on luettelo joukkoista, jotka sisältävät joitain pikanäppäimiä, tässä tapauksessa ne käynnistävät GVim-ohjelman, keskeyttävät tai toistavat musiikkia ja etenevät tai viivästyttävät sitä. Se siitä. AdditionalKeys-toiminto tulee toiseen tuontimoduuliin, ja taka-aksentit tekevät sen suoritettavaksi div (/) -funktion tyyliin, kuten 1/2 eikä div 1 2, mikä helpottaa lukemista. Niin se on:

- ...} `AdditionalKeys` [((mod4Mask, xK_v), kutee" gvim "), ((mod4Mask, xK_c), kutee" mpc toggle "), ((mod4Mask, xK_a), kutee" MPC prev ") , (((mod4Mask, xK_s), kutee "mpc seuraava")]

.Xmobarrc

Määritä {font = "- * - monospace-9 - * - * - * - * - * - * - * - * - * - *", bgColor = "# fdf6e3", fgColor = "# 657b83", sijainti = Yläosa , lowerOnStart = False, commands = [Suorita Com "echo" ["$ USER"] "käyttäjänimi" 864000, Suorita Com "isäntänimi" ["-s"] "isäntänimi" 864000, Suorita Com "mpc current" [""] "mpd" 10, Suorituspäivä "% a% b% d" "date" 36000, Suorituspäivä "% H:% M" "aika" 10, Suorita StdinReader], sepChar = "'", alignSep = "} {" , template = "'käyttäjänimi' @ 'isäntänimi'} {'mpd' | 'päivämäärä' - 'aika'"

Tämän pitäisi toimia, ja se todella toimii. Syntaksi on vähän monimutkaisempi, ja on parasta, jos analysoit sen itse ymmärtääksesi sen. Joten rajoittun vain kertomaan sinulle, että kuvaamme komentoja, niiden vaihtoehtoja ja joitain lisäasetuksia, jotka näytetään XMobarissa.
Mallirivillä on kaikki toiminnot, ja keksin temppun näyttämään kuuntelemani kappale. Tämä temppu ja se, joka muuttaa kappaleen pikanäppäimille, vaatii mpc: n, mpd-asiakkaan, joka voidaan suorittaa päätelaitteelta.

Päätelmät

Se on se, luulen. Olemme jo tarkastelleet XMonad-päätiedoston ja aloittaneet Haskellin oppimisen halusimmepa sitä vai ei. Jos haluat jatkaa, on aluksi erittäin hyvä opas.
Seuraavassa erässä tutkimme ei-ohjelmoitavia johtajia, erityisesti Spectrwm / Scrotwm. Nähdään.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   ivanovmusta dijo

    !Fantastinen!

    Spectrwm seuraavalla kerralla? !Kyllä herra!

  2.   The Sandman86 dijo

    Erittäin hyvä opas, se näyttää erittäin mielenkiintoiselta, haluan katsoa, ​​vaikka olenkin enemmän kuin tyytyväinen Openboxiin.

  3.   anti dijo

    Hups, jätin määrittelemättä, mihin nämä tiedostot menevät, mutta kun muokkaan viestiä, se lähettää minulle virheilmoituksen:
    Vakava virhe: Kutsu määrittelemättömälle funktiolle get_header () /home/desdelin/public_html/blog/wp-content/themes/dlinux/index.php verkossa
    Jos joku voi muokata sitä, hän menee näin:

    Pääkokoonpanotiedosto: ~ / .xmonad / xmonad.hs
    Xmobarrc-tiedosto: ~ / .xmobarrc
    Konsolin määritystiedosto: ~ / .X oletukset
    ????

    1.    anti dijo

      En näytä muokkaavan omia viestejäni. En myöskään löydä vaihtoehtoa mistään työpöydältä. Minulla on pari vikaa, siinä kaikki, vähän korjauksia.

  4.   Nano dijo

    No, minusta on erittäin mielenkiintoista, koska se on tuottavampaa ohjelmoinnissa. Haluan sotkea Awesomen kanssa, koska haluan todella oppia LUA: ta.

    Se on olemassa niille meistä, jotka ohjelmoivat Python Qtile -ohjelmassa, mutta totuus on, että en voi saada sitä toimimaan, käytän Ubuntua ja asensin sen PPA: n kautta ja myös lähteistä, mutta valitettava asia ei halua toimia xD

    Joka tapauksessa LUA on jotain, joka minun PITÄÄ oppia, eikä mitään parempaa kuin nähdä toistensa kasvot tämän tyyppisillä laatoilla.

    Jatka samaan malliin, olet matkalla kohti kirjailijaa DesdeLinux

    1.    Nano dijo

      Ja kyllä, olen yliopistossa, ja heillä ei ole Linux xD: tä

      1.    anti dijo

        Kiitos nanosta. Mutta voitko auttaa minua artikkeleiden muokkaamisessa niiden julkaisemisen jälkeen? En voi.

        1.    nano dijo

          Kyllä, rauhoittu, jätä ne sopiviksi kuin minä korjaan ne

  5.   xykyz dijo

    Kiitos anti, aion ehdottomasti kokeilla XMonadia. Katson, että se käyttää Haskellin perustekijöitä tarvitsematta paljon monimutkaisuutta, kuten vartijat, sovellusoperaattori ja ilmeisesti luetteloiden käyttö (muuten se ei olisi Haskell xD).

    Katsotaanpa, miltä se näyttää! 🙂

  6.   Fernando dijo

    Olen käyttänyt ikkunoiden hallintaa pitkään, mahtava. Kun minulla on aikaa, teen opetusohjelman, jossa toivon voivani selittää koko prosessin mahtavan asennuksesta kevyiden ohjelmien kokoonpanoon ja oman teeman luomiseen.

    Jos sinulla on kunnossa, ilmoitan sinulle, kun minulla on se, jotta voit julkaista sen täällä

    Muuten ja luvallasi teen vähän julkisuutta pienellä verkkosivustollani, jos haluat, voit katsoa, ​​jos olet kiinnostunut jostakin julkaisusta:

    http://niferniware.sytes.net

    Tervehdys!

    1.    MSX dijo

      Jos se on Awesome 3, olen ehdottomasti kiinnostunut siitä.

  7.   Fernando dijo

    Yksi yksityiskohta, verkko-osa, jossa blogia isännöidään, on:
    http://niferniware.sytes.net/blog/

    Olen pahoillani virheestä.

    Hurraa!

    1.    vilkas dijo

      Pidin todella blogistasi ... ^^

      1.    Fernando dijo

        Kiitos paljon Elav, olemme yhteydessä!

        Totuus on, että tavallaan DesdeLinux Se sai minut luomaan oman blogin. Niin paljon aikaa käyttää Linuxia saa harkitsemaan lahjoittamista vastineeksi ^^

        Tervehdys!

  8.   MSX dijo

    "Jos ihmettelet, miksi valitsin nuo neljä kirjainta työpöydällesi, muistin DNA: n neljä nukleiinipohjaa."
    Makea, +1

    1.    anti dijo

      Pidän todella ajatuksesta laittaa DNA työpöydällesi.

  9.   halonsov dijo

    Erinomainen opas, hänen ansiostaan ​​yritän vain xmonadia, ja voin sanoa siitä vain yhden asian, rakastin xmonadia, en vieläkään laita käteni siihen ja silti se näyttää hyvältä, kiitos paljon

    1.    MSX dijo

      Erinomainen, toivomme edistymisesi muuttuneen viestiksi! =)

  10.   Victor Salmeron dijo

    Pieni huomautus tutorille, tällä hetkellä käytän Debian vakaaa (Squeeze), ja dmenun asentamiseen ei tehdä aptitude install -valikkoa, vaan suckless-tools -pakettia, muuten, erinomainen opetusohjelma

    1.    anti dijo

      Sama kyky korjaa sen. Lisäksi järjestys ymmärretään paremmin tällä tavalla.

  11.   tarantonium dijo

    Tässä oppaassa oletetaan, että x on asennettu.
    Minun tapauksessani aloitan vain debian-konsolista, jolla minun oli asennettava xorg. Se olisi hieno, koska etsimämme on minimalistinen ympäristö, alkaen debianista ilman graafisia ympäristöjä, xmonadin asentamisesta yksinkertaisessa tilassa sekä työkalujen ja konsoliohjelmien, kuten mutt, irssi jne.

    1.    anti dijo

      Kyllä, X: t olivat jo päällä. Itse viesti kertoo, että aloitin pienellä Debianilla, joka on jo tehty Openboxilla.