Tamsioji mozaikos pusė (III): XMonad

Atrodo, kad daug meldžiausi, ir tai yra tai, kad iki šiol aš nepadėjau milimetro nustatymų. Kaip aš žadėjau kurį laiką šiandien aš suplėšysiu savo xmonad.hs, kuriuos paruošiau specialiai šiai progai. Šis ir kiti konfigūracijos failai yra konkrečiai įklijuojami konsolės spalvos, lango nustatymus y viršutinė juosta.

Galite juos atsisiųsti iš ten ir atidaryti savo mėgstamiausiame teksto rengyklėje.

Prieš

Jei jums įdomu, mano darbalaukis buvo nedidelis „Debbox“ stabilios „Openbox“. Šiuo metu praleidžiant paskirstymo diegimo procesą, turėtumėte patikrinti, ar saugyklose yra reikalingi paketai. Padarykime tai (prisimindami, kad esu „Debian“):

sudo aptitude įdiegti ghc xmonad xmobar gmrun dmenu

Ir pasiruošę. Mes ką tik įdiegėme pagal išvaizdą; Glazgo „Haskell“ kompiliatorius, atsakingas už Haskelio sudarymą ir interpretavimą; „XMonad“, langų tvarkyklė, „XMobar“ yra juosta, pateikianti informaciją apie sistemą ir kai kuriuos programų paleidimo įrenginius, meniu „dmenu“ ir „gmrun“; maloniai jau sukonfigūruoti taip, kad „XMonad“ juos paleidžia naudodami „Mod + P“ ir „Mod + Shift + P“.

Taip atrodė mano darbalaukis. Aš tai išdėstiau taip, kad turėtume palyginimo tašką ir mėgdžiotume kai kuriuos dalykus, kuriuos jau sukonfigūravau minimalistiškesnėje aplinkoje.

Nieko ypatingo

Bet staigmena. „XMonad“ mus taip sutinka. Užfiksuodamas aš jau atidariau „gmrun“, norėdamas parodyti, kad jis nėra sugadintas:

Nieko įspūdingo

Mes norime, kad jis atrodytų taip, jau sukonfigūruotas ir viskas:

Taigi

Ekrano kopijoje rodomas terminalas, kuriame veikia „ncmpcpp“, terminalo MPD klientas; ir GVim sesija, tiek su paletės spalvomis Saulės šviesa. Tai padaryti iš tikrųjų nebuvo sunku ir net Vim ir urxvt jau buvo pasirengę mano sistemoje.

Xmonad.hs, kaip baisu!

Visai ne. Konfigūracija, kurią pamatysite, yra labai paprasta ir paprasta. Jis turėtų veikti visose sistemose, kuriose yra „XMonad 0.9.1“, nors jau yra 0.10. Na, bijok, labai bijok:

- „Xmonad“ konfigūracija - kaip matote, importuoti „XMonad“ yra labai paprasta: importuoti „XMonad.Util.EZConfig“ importuoti „XMonad.Util.Run“ wrk = ["A", "C", "G", "T"] main = do xmproc <- spawnPipe "xmobar" neršti "azotas - atkurti" neršti "urxvtd" neršti "mpd" neršti "xfce4-volumed" xmonad $ defaultConfig {modMask = mod4Mask, terminal = = urxvtc ", borderWidth = 2, normalBorderColor =" # fdf6e ", fokusuotasBorderColor =" # 3b002 ", darbo vietos = wrk}" papildomi raktai "[((mod26Mask, xK_v), nerštas" gvim "), ((mod4Mask, xK_c), nerštas" mpc toggle "), ((mod4Mask, xK_a) , neršti „mpc prev“), ((mod4Mask, xK_s), neršti „mpc next“)] - konfigūracijos pabaiga. Paprasta, lengva ir švaru.

Kas nutiko čia?

Jei jie jau atsigavo po šoko, galime pamatyti, kad mūsų konfigūracija vos pasiekia 30 kodo eilučių. Aš iš dalies paaiškinsiu, kodėl, jei nukopijavote ir įklijavote tai, „XMonad“ sudarys ką tik parašytą programą. Paruošta?

Priklausomybių skyrius

Netoli failo pradžios yra trys eilutės, prasidedančios raktiniu žodžiu importuoti. Kaip ir kitomis programavimo kalbomis, jis siunčia kompiliatorių ieškoti norimo modulio ir suteikia jam laimingo modulio funkcijas. Pažiūrėkime dar kartą:

importuoti XMonad importuoti XMonad.Util.EZConfig importuoti XMonad.Util.Run

Mūsų programoje naudojamos trys priklausomybės. Pirmasis pateikia mums pačių „XMonad“ funkcijas, antrasis ir trečiasis padės vėliau apibrėžti sparčiuosius klavišus ir paleisti programas. Tęskime.

Kintamieji

Tas dalykas yra wrk o kam jis skirtas? Įvertinkime kodą atidžiau:

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

wrk yra kintamasis, kuris prilygsta keturių elementų, visų eilučių, sąrašui; nes „Haskell“ sąrašai priima tik vieną elemento tipą. Jei įdomu, kodėl aš pasirinkau šias keturias raides savo staliniams kompiuteriams, aš prisiminiau keturios nukleinės bazės DNR.
Pavadinimas yra tik santrumpa, ir mes galėjome įdėti „myWorkspaces“, „pepitoRojo“ ar bet ką kitą, jei tik jis prasideda mažosiomis raidėmis ir nurodome jį kitame skyriuje.
Čia prasideda geras dalykas turėti visą programavimo kalbą, nes lango spalvą galėtume apibrėžti iš kintamojo:

windowColor = "#FFFFFF"

Arba netgi sukurkite funkciją, kuri grąžina spalvą pagal mūsų nuotaiką:

nuotaikaSpalvos m | m == "Liūdna" = "# b0c4f6" - kažkas panašaus į mėlyną | m == "Piktas" = "# ba3f3f" - kažkas panašaus į raudoną | m == "Happy" = "# 8bff7e" - Kažkas kaip žalia | kitaip = "#FFFFFF" - balta, neutralioms dienoms

Ir daug daugiau. Ar jau jaučiate jėgą ant pirštų? Vienas dalykas. Jei nesuprantate, kas nutiko, pagalvokite, kad tai yra paties Haskello struktūra, kurią mes vadiname apsauga ir tai iš esmės kaip medis, jei-tada-kitas, bet labiau organizuotas ir gražus. Ir nesijaudinkite, kodą parašiau aš ir jis puikiai veikia.

Pagrindinis skyrius

Iš eilutės, kuri sako pagrindinis = daryti mes pradėjome nurodyti „XMonad“ elgesį. Pažiūrėkime ramiai.

Pradėti daiktus iš pradžių

Tai galima pasiekti įvairiais būdais, tačiau, norėdamas nepritarti priklausomybei ir padaryti kodą švaresnį, nors ir aiškiai urvinį, aš pasirinkau tai:

xmproc <- spawnPipe "xmobar" neršia "azoto - atstatykite" nerštą "urxvtd" neršia "mpd" neršia "xfce4-volumed"

Pirmoji eilutė paleidžia „XMobar“, kurio konfigūracijos failą pamatysime vėliau.
Tada mes pradėjome keletą esminių dalykų man, gražių ekrano užsklandų (tų pačių kaip ir pirmoje ekrano kopijoje), demono, kuris priverčia urxvt veikti kaip vėjas, MPD demonas - kuris groja mano muziką nuo pat pradžių ir niekada neužsidarau - ir garso reguliatorius. Taip, viskas. Sintaksė yra ta pati, jei norite pradėti tai, ko jums reikia.

Galutiniai patikslinimai

Čia mes apibūdiname keletą dalykų, kurie paprastai yra tik asmeniniai pageidavimai. Pavyzdžiui, aš norėčiau vietoj „Alt“ naudoti paprastai nenaudingą „Super“ klavišą (iš tikrųjų „Windows“), bet tai mano pirmenybė. Jei norite grįžti į „Super“, pašalinkite pirmąją eilutę.

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

Tada mes apibrėžiame savo terminalą, urxvtc, nes taip mes vadiname anksčiau paleisto demono klientą. Kiti dalykai, pvz., Darbo vietų sąrašas, kuriuos galėjome įdėti į tokius dalykus:

, darbo vietos = ["H", "O", "L", "A"], darbo vietos = ["A", "R", "C", "H", "L", "I", "N "," U "," X "], darbo vietos = [" 1: internetas "," 2: muzika "," 3: nenaudojama erdvė "," 4: Ufff "]

Ir kiti dalykai, kuriuos mums leidžia Haskello eilučių sąrašo apdorojimas.
Kraštinės storis yra tik sveikas skaičius ir jei norime pakeisti lango spalvą, sutelktą pagal funkciją nuotaikaSpalvos ką tik sukūrėme, nes kintamąjį paliekame tokį:

--..., focusBorderColor = moodColor "laimingas" - ...

$ Eilutėje xmonad ... tai tik teisingų asociacinių funkcijų taikymas, tai yra, mes išsaugome keletą skliaustų. 😀

Klaviatūros nuorodos

Failo pabaigoje turime sąrašą rinkinių, kuriuose yra tam tikrų nuorodų, šiuo atveju jie paleidžia „GVim“, pristabdo arba leidžia muziką ir iš anksto ją atideda arba atideda. Tai viskas. Funkcija „extraKeys“ yra antrame importuojamame modulyje, o užpakaliniai akcentai leidžia ją vykdyti div (/) funkcijos stiliumi, pvz., 1/2, o ne div 1 2, todėl ją lengviau skaityti. Taip yra:

- ...} „Papildomi raktai“ [((mod4Mask, xK_v), neršia „gvim“), ((mod4Mask, xK_c), neršo „mpc toggle“), ((mod4Mask, xK_a), neršia „mpc prev“), (((mod4Mask, xK_s), neršti „mpc next“)]

.Xmobarrc

Konfigūruoti {font = "- * - monospace-9 - * - * - * - * - * - * - * - * - * - * - *", bgColor = "# fdf6e3", fgColor = "# 657b83", pozicija = Viršuje , lowerOnStart = Netiesa, komandos = [Vykdyti „Com“ echo “[" $ USER "]" vartotojo vardą "864000, Vykdyti Com" pagrindinio kompiuterio pavadinimą "[" -s "]" pagrindinio kompiuterio pavadinimą "864000, Vykdyti Com" mpc dabartinę "[" "] "mpd" 10, vykdymo data "% a% b% d" "date" 36000, vykdymo data "% H:% M" "laikas" 10, paleisti StdinReader], sepChar = "" ", alignSep ="} {" , template = "'vartotojo vardas' @ 'hostname'} {'mpd' | 'data' - 'laikas'"

Tai turėtų veikti ir iš tikrųjų veikia. Sintaksė yra šiek tiek sudėtingesnė ir geriausia, jei ją analizuosite patys, kad suprastumėte. Taigi apsiribosiu tik pasakymu, kad aprašome komandas, jų parinktis ir keletą papildomų nustatymų, kurie bus rodomi „XMobar“.
Šablono eilutėje yra visas veiksmas, ir aš sugalvojau parodyti dainą, kurios klausausi. Šiam triukui ir norint pakeisti dainą naudojant sparčiuosius klavišus, reikalingas mpc - MPP klientas, vykdomas iš terminalo.

Išvados

Viskas, manau. Mes jau praėjome pagrindinį „XMonad“ failą ir pradėjome mokytis „Haskell“, norime to ar ne. Jei norite tęsti, turite pradėti nuo labai gero vadovo.
Kitoje dalyje mes tyrinėsime neprogramuojamus valdytojus, ypač „Spectrwm“ / „Scrotwm“. Iki.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   ivanovjuoda sakė

    !Fantastinis!

    Spectrwm kitą kartą? !Taip, pone!

  2.   Smėlio žmogus86 sakė

    Labai geras vadovas, jis atrodo labai įdomus, noriu pasižvalgyti, nors man labiau patinka mano „Openbox“.

  3.   kovos sakė

    Oi, man nepavyko nurodyti, kur yra šie failai, bet kai redaguoju įrašą, jis siunčia man klaidos pranešimą:
    Mirtina klaida: iškvieskite neapibrėžtą funkciją get_header () /home/desdelin/public_html/blog/wp-content/themes/dlinux/index.php on-line
    Jei kas nors gali jį redaguoti, jis taip elgiasi:

    Pagrindinis konfigūracijos failas: ~ / .xmonad / xmonad.hs
    Xmobarrc failas: ~ / .xmobarrc
    Pulto konfigūracijos failas: ~ / .Xnumatymai
    ????

    1.    kovos sakė

      Atrodo, kad negaliu redaguoti savo pranešimų. Taip pat niekur nerandu parinkties darbalaukyje. Turiu porą klaidų, viskas, minimalių pataisymų.

  4.   Nano sakė

    Na, manau, kad tai labai įdomu, nes jis yra produktyvesnis, kai reikia programuoti. Noriu susipainioti su „Awesome“, nes labai noriu išmokti LŽŪA.

    Tai egzistuoja tiems iš mūsų, kurie programuoja „Python Qtile“, tačiau tiesa yra ta, kad negaliu jo paleisti, aš naudoju „Ubuntu“ ir įdiegiau jį per PPA, taip pat iš šaltinių, bet gaila, kad tai nenori veikti xD

    Bet kokiu atveju LŽŪU aš PRIVALU išmokti ir nieko geresnio, nei matyti vienas kito veidus naudojant tokio tipo plyteles.

    Taip ir toliau, jūs esate pakeliui į savo autorių DesdeLinux

    1.    Nano sakė

      Ir taip, aš studijuoju ir šitame šūde jie neturi „Linux xD“

      1.    kovos sakė

        Ačiū nano. Bet ar galite man padėti redaguoti straipsnius po jų paskelbimo? Aš negaliu.

        1.    nanotechnologijų sakė

          Taip, nusiramink, palik juos tokius, kokie tau labiausiai tinka, nei aš juos sutvarkau

  5.   xykyz sakė

    Ačiū anti, aš tikrai išbandysiu XMonad. Matau, kad jame naudojami pagrindiniai „Haskell“ dalykai, nereikalaujant daug sudėtingumo, pavyzdžiui, apsaugai, programų operatorius ir akivaizdžiai nenaudojant sąrašų (kitaip tai nebūtų „Haskell xD“).

    Pažiūrėkime, kaip tai atrodo! 🙂

  6.   Fernando sakė

    Aš jau seniai naudoju plytelių klojimo tvarkyklę „Awesome“. Kai turėsiu laiko, padarysiu pamoką, kurioje tikiuosi paaiškinti visą procesą - nuo nuostabaus diegimo iki lengvų programų rinkinio konfigūravimo ir savo temos kūrimo.

    Jei jums tai atrodo gerai, kai turiu, galiu jus apie tai pranešti, kad galėtumėte paskelbti čia.

    Beje, jums leidus, aš šiek tiek reklamuojuosi savo mažoje svetainėje, jei norite, galite pasižvalgyti, jei jus domina koks nors leidinys:

    http://niferniware.sytes.net

    Pasveikinimas!

    1.    MSX sakė

      Jei tai nuostabus 3, tai tikrai domiuosi.

  7.   Fernando sakė

    Viena detalė, žiniatinklio skyrius, kuriame priglobiau tinklaraštį, yra:
    http://niferniware.sytes.net/blog/

    Aš apgailestauju dėl klaidos.

    Nudžiugink!

    1.    gyvas sakė

      Man labai patiko tavo tinklaraštis ... ^^

      1.    Fernando sakė

        Labai ačiū Elavui, mes bendraujame!

        Tiesa ta, kad tam tikra prasme DesdeLinux Tai paskatino mane sukurti savo tinklaraštį. Tiek daug laiko naudojant „Linux“ verčia apsvarstyti galimybę ką nors prisidėti ^^

        Pasveikinimas!

  8.   MSX sakė

    - Jei įdomu, kodėl aš pasirinkau tas keturias raides savo darbastaliams, prisiminiau keturias DNR nukleines bazes.
    Mielas, +1

    1.    kovos sakė

      Na, man labai patinka mintis įdėti DNR ant savo stalų.

  9.   halonsovas sakė

    Puikus vadovas, jos dėka aš tiesiog bandau „xmonad“ ir galiu pasakyti apie tai tik vieną dalyką: įsimylėjau „xmonad“, vis dar neuždedu rankos ir vis tiek atrodo puikus, labai ačiū

    1.    MSX sakė

      Puiku, tikimės, kad jūsų pažanga pavirs įrašu! =)

  10.   Viktoras Salmeronas sakė

    Nedidelis pastebėjimas mokytojui, šiuo metu aš naudoju „Debian stabil“ („Squeeze“), o norint įdiegti meniu, tai daroma ne su „aptitude install“ meniu, bet su „suckless-tools“ paketu, kitaip, puiki pamoka

    1.    kovos sakė

      Tas pats gabumas tai pataiso. Be to, tvarka geriau suprantama taip.

  11.   tarantonio sakė

    Šiame vadove daroma prielaida, kad esate įdiegę x.
    Mano atveju aš pradedu tik iš „debian“ konsolės, su kuria turėjau įdiegti „xorg“. Būtų puiku, nes tai, ko mes ieškome, yra minimalistinė aplinka, pradedant debianu be grafinės aplinkos, įdiegiant „xmonad“ paprastu režimu ir įtraukiant įrankius bei konsolės programas, tokias kaip „mutt“, „irssi“ ir kt.

    1.    kovos sakė

      Taip, X jau buvo įjungtas. Pats įrašas paaiškina, kad aš pradėjau nuo minimalaus „Debian“, jau sukurto naudojant „Openbox“.