Temna stran mozaika (III): XMonad

Zdi se, da sem veliko molil in to je, da do danes nisem postavil milimetra nastavitev. Kot sem že obljubljal nekaj časa danes bom raztrgal svoj xmonad.hs, ki sem ga pripravil posebej za to priložnost. Ta in druge konfiguracijske datoteke so posebej v pasti barve konzole, nastavitve okna y zgornja vrstica.

Lahko jih prenesete od tam in odprete v svojem najljubšem urejevalniku besedil.

Preden

Če bi se spraševali, je bilo moje namizje majhen Openbox na Debianovem hlevu. Če trenutno preskočite postopek namestitve distribucije, preverite, ali so potrebni paketi v skladiščih. Naredimo to (ne pozabite, da sem v Debianu):

sudo aptitude namestite ghc xmonad xmobar gmrun dmenu

In pripravljen. Pravkar smo namestili po vrstnem redu; prevajalnik Glasgow Haskell, ki je zadolžen za sestavljanje in interpretacijo Haskella; XMonad, upravitelj oken, XMobar je vrstica, ki predstavlja informacije o sistemu in nekaterih zaganjalnikih programov, dmenu in gmrun; ki so prijazno že konfigurirani, tako da jih XMonad zažene z Mod + P in Mod + Shift + P.

In tako je izgledalo moje namizje. Izročil sem tako, da imamo primerjalno točko in posnemamo nekatere stvari, ki sem jih že konfiguriral v bolj minimalističnem okolju.

Nič posebnega

Ampak presenečenje. XMonad nas tako pozdravlja. Pri zajemanju sem že odprl gmrun, tako da se vidi, da ni pokvarjen:

Nič spektakularnega

In želimo, da je videti tako, že konfigurirano in vse:

Torej ja

Na posnetku zaslona je prikazan terminal, ki izvaja ncmpcpp, odjemalca MPD za terminal; in sejo GVim, obe z barvami palete Solarizirana svetloba. Doseči tega v resnici ni bilo težko in tudi Vim in urxvt sta bila že pripravljena v mojem sistemu.

Xmonad.hs, kako strašljivo!

Sploh ne. Konfiguracija, ki jo boste kmalu videli, je izredno preprosta in osnovna. Delovati bi moral v vseh sistemih z XMonad 0.9.1, čeprav je 0.10 že na voljo. No bojte se, zelo se bojite:

- Konfiguracija Xmonad - Kot vidite, je to povsem preprosto uvoz XMonad uvoz XMonad.Util.EZConfig uvoz XMonad.Util.Run wrk = ["A", "C", "G", "T"] main = do xmproc < - spawnPipe "xmobar" spawn "dušik --restore" spawn "urxvtd" spawn "mpd" spawn "xfce4-volumed" xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e3 , focusBorderColor = "# 002b26", workspaces = wrk} `AdditionalKeys` [((mod4Mask, xK_v), micelij" gvim "), ((mod4Mask, xK_c), micelij" mpc toggle "), ((mod4Mask, xK_a), spawn "mpc prev"), ((mod4Mask, xK_s), spawn "mpc next")] - Konec konfiguracije. Preprosto, enostavno in čisto.

Kaj se je zgodilo tukaj?

Če so se že prestrašili, lahko vidimo, da naša konfiguracija komaj doseže 30 vrstic kode. Delno bom razložil, zakaj, če ste to kopirali in prilepili, bo XMonad zbral program, ki smo ga pravkar napisali. Pripravljeni?

Odsek odvisnosti

Blizu začetka datoteke so tri vrstice, ki se začnejo s ključno besedo uvoz. Tako kot v drugih programskih jezikih pošlje prevajalnik, da poišče želeni modul, in mu da funkcije modula sreče. Poglejmo še enkrat:

uvoz XMonad uvoz XMonad.Util.EZConfig uvoz XMonad.Util.Run

Naš program uporablja tri odvisnosti. Prva nam prinese funkcije XMonad, druga in tretja pa nam bosta kasneje pomagali določiti bližnjice na tipkovnici in zagnati programe. Gremo naprej.

Spremenljivke

Ta stvar je delo in čemu je namenjen? Naj natančneje cenimo kodo:

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

delo je spremenljivka, ki je enakovredna seznamu štirih elementov, vsi nizi; ker Haskell-ovi seznami sprejemajo samo eno vrsto predmeta. Če se sprašujete, zakaj sem izbral te štiri črke za namizja, sem se spomnil na štiri nukleinske baze DNA.
Ime je le okrajšava in lahko bi mu rekli myWorkspaces, pepitoRojo ali karkoli že, če se začne z malo črko in jo določimo v naslednjem razdelku.
Tu se začne dobra stvar, ko imamo na razpolago celoten programski jezik, saj bi lahko iz spremenljivke določili barvo okna:

windowColor = "#FFFFFF"

Ali celo ustvarite funkcijo, ki vrne barvo glede na naše razpoloženje:

moodColor m | m == "Žalostno" = "# b0c4f6" - Nekaj ​​podobnega modri | m == "Angry" = "# ba3f3f" - Nekaj ​​podobnega rdečemu | m == "Happy" = "# 8bff7e" - Nekaj ​​podobnega zeleni | sicer = "#FFFFFF" - bela, za nevtralne dni

In veliko več. Ali že čutite moč na prstih? Ena stvar. Če ne razumete, kaj se je zgodilo, pomislite, da gre za lastno strukturo Haskella, ki jo imenujemo prihranite in v bistvu je kot drevo, če pa takrat, vendar bolj organizirano in lepo. In brez skrbi, kodo sem napisal jaz in deluje v redu.

Glavni del

Iz vrstice, ki pravi main = do začeli smo določiti vedenje XMonad. Poglejmo mirno.

Začetek stvari na začetku

To je mogoče doseči na več načinov, vendar da se izognem odvisnostim in naredim kodo čistejšo, čeprav očitno bolj jamarsko, sem se odločil za to:

xmproc <- spawnPipe "xmobar" spawn "dušik --restore" spawn "urxvtd" spawn "mpd" spawn "xfce4-volumed"

Prva vrstica zažene XMobar, katerega konfiguracijsko datoteko bomo videli kasneje.
Nato smo začeli nekaj bistvenih stvari zame, lepo ozadje (enako kot na prvem posnetku zaslona), demon, zaradi katerega urxvt teče kot veter, demon mpd-ki predvaja mojo glasbo od začetka in nikoli ne zaprem - in nadzor glasnosti. Ja, to je to. Sintaksa je enaka, če želite začeti, kar potrebujete.

Končne prilagoditve

Tu določimo nekaj stvari, ki so običajno le osebne želje. Na primer, rad bi uporabil običajno neuporabno tipko Super (dejansko okensko) namesto Alt, vendar je to moja želja. Če se želite vrniti v Super, odstranite prvo vrstico.

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

Nato definiramo svoj terminal, urxvtc, ker temu pravimo stranka demona, ki smo ga potekli prej. Druge stvari, kot je seznam delovnih prostorov, ki bi jih lahko vključili v stvari, kot so:

, delovni prostori = ["H", "O", "L", "A"], delovni prostori = ["A", "R", "C", "H", "L", "I", "N "," U "," X "], delovni prostori = [" 1: splet "," 2: glasba "," 3: utilSpace "," 4: Ufff "]

In druge stvari, ki nam jih omogoča obdelava seznama nizov Haskell.
Debelina obrobe je samo celo število in če želimo spremeniti barvo okna, ki jo osredotoča funkcija razpoloženjeBarva ki smo jo pravkar ustvarili, ker spremenljivko pustimo tako:

--..., focusBorderColor = moodColor "Happy" - ...

$ Na liniji xmonad ... gre le za uporabo pravilnih asociativnih funkcij, to pomeni, da shranimo nekaj oklepajev. 😀

Bližnjice na tipkovnici

Na koncu datoteke imamo seznam nabora, ki vsebujejo nekatere bližnjice, v tem primeru zaženejo GVim, zaustavijo ali predvajajo glasbo ter jo pospešijo ali odložijo. To je to. Funkcija AdditionalKeys je na voljo v drugem modulu, ki ga uvozimo, s poudarki nazaj pa se izvaja v slogu funkcije div (/), kot je 1/2 in ne div 1 2, kar olajša branje. Tako je:

- ...} `AdditionalKeys` [((mod4Mask, xK_v), drst" gvim "), ((mod4Mask, xK_c), drst" mpc preklop "), ((mod4Mask, xK_a), drst" mpc prev ") , ((mod4Mask, xK_s), ustvari "mpc next")]

.Xmobarrc

Konfigurirajte {font = "- * - monospace-9 - * - * - * - * - * - * - * - * - * - *", bgColor = "# fdf6e3", fgColor = "# 657b83", position = Top , lowerOnStart = False, ukazi = [Run Com "echo" ["$ USER"] "username" 864000, Run Com "hostname" ["-s"] "hostname" 864000, Run Com "mpc current" [""] "mpd" 10, datum zagona "% a% b% d" "datum" 36000, datum zagona "% H:% M" "čas" 10, zagon StdinReader], sepChar = "'", alignSep = "} {" , template = "'uporabniško ime' @ 'ime gostitelja'} {'mpd' | 'datum' - 'čas'"

To bi moralo delovati in dejansko tudi deluje. Sintaksa je nekoliko bolj zapletena in najbolje je, če jo sami analizirate, da jo razumete. Zato se vam bom omenil, da opisujemo ukaze, njihove možnosti in nekatere dodatne nastavitve, ki bodo prikazane v XMobarju.
Vrstica predloge ima vse akcije in pripravil sem trik za prikaz pesmi, ki jo poslušam. Ta trik in tisti za spreminjanje pesmi s bližnjicami na tipkovnici zahtevata mpc, odjemalca mpd, ki ga je mogoče izvršiti s terminala.

Sklepi

To je to, mislim. Smo že pregledali glavno datoteko XMonad in se začeli učiti Haskell, če nam je všeč ali ne. Če želite nadaljevati, je za začetek zelo dober vodnik.
V naslednjem delu bomo raziskali nepredvidljive upravitelje, zlasti Spectrwm / Scrotwm. Se vidiva.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   ivanovblack je dejal

    ! Fantastično!

    Spectrwm naslednjič? !Ja, gospod!

  2.   The Sandman86 je dejal

    Zelo dober vodnik, izgleda zelo zanimivo, rad bi si ga ogledal, čeprav mi je moj Openbox več kot všeč.

  3.   proti je dejal

    Ups, zamudil sem določiti, kam gredo te datoteke, toda ko uredim objavo, mi pošlje sporočilo o napaki:
    Usodna napaka: klic nedefinirane funkcije get_header () v /home/desdelin/public_html/blog/wp-content/themes/dlinux/index.php on line
    Če ga lahko nekdo ureja, gre takole:

    Glavna konfiguracijska datoteka: ~ / .xmonad / xmonad.hs
    Datoteka Xmobarrc: ~ / .xmobarrc
    Konfiguracijska datoteka konzole: ~ / .Xprivzeto
    ????

    1.    proti je dejal

      Zdi se, da ne morem urejati svojih objav. Tudi na namizju ne najdem možnosti. Imam nekaj napak, to je vse, minimalni popravki.

  4.   Nano je dejal

    No, zdi se mi zelo zanimivo, saj je pri programiranju bolj produktivno. Želim se zmešati z Awesome, ker se resnično želim naučiti LUA.

    Obstaja za tiste, ki programiramo v Python Qtile, toda resnica je, da ga ne morem zagnati, uporabljam Ubuntu in sem ga namestil prek PPA in tudi iz virov, a nesreča ne želi delati xD

    Kakorkoli že, LUA je nekaj, česar se MORAM naučiti in nič boljšega kot videti obraze drug drugega s tovrstnimi ploščicami.

    Kar tako naprej, ste na poti, da postanete notranji avtor DesdeLinux

    1.    Nano je dejal

      In ja, sem na fakulteti in v tem sranju nimajo Linuxa xD

      1.    proti je dejal

        Hvala nano. Ali mi lahko pomagate pri urejanju člankov po objavi? Nemorem.

        1.    nano je dejal

          Ja, pomiri se, pusti jih, ko se bolj prilegajo, kot jih popravim jaz

  5.   xykyz je dejal

    Hvala anti, zagotovo bom poskusil XMonad. Vidim, da uporablja osnovne Haskellove stvari, ne da bi bilo treba zahtevati veliko zapletenosti, kot so varovalci, operater aplikacije in očitno uporaba seznamov (sicer ne bi šlo za Haskell xD).

    Poglejmo, kako izgleda! 🙂

  6.   Fernando je dejal

    Že dolgo uporabljam upravitelja ploščic za okna, super. Ko bom imel čas, bom naredil vadnico, v kateri upam, da bom lahko razložil celoten postopek, od namestitve super do konfiguracije nabora lahkih programov in ustvarjanja lastne teme.

    Če se vam zdi dobro, vas lahko obvestim, ko ga imam, da ga lahko objavite tukaj.

    Mimogrede in z vašim dovoljenjem malo oglašam na svoji majhni spletni strani, če želite, si lahko ogledate, če vas katera publikacija zanima:

    http://niferniware.sytes.net

    Lep pozdrav!

    1.    MSX je dejal

      Če je Awesome 3, me vsekakor zanima.

  7.   Fernando je dejal

    Ena podrobnost, odsek spleta, kjer sem gostil spletni dnevnik, je:
    http://niferniware.sytes.net/blog/

    Žal mi je zaradi napake.

    Navdušenje!

    1.    živahno je dejal

      Zelo mi je bil všeč vaš blog ... ^^

      1.    Fernando je dejal

        Najlepša hvala Elav, v stiku smo!

        Resnica je, da na nek način DesdeLinux To me je spodbudilo, da sem ustvaril svoj blog. Toliko časa, preživetega z uporabo Linuxa, človek pomisli, da bi nekaj prispeval v zameno ^^

        Lep pozdrav!

  8.   MSX je dejal

    "Če se sprašujete, zakaj sem izbral te štiri črke za svoje mize, sem se spomnil štirih nukleinskih baz DNK."
    Sladko, +1

    1.    proti je dejal

      No, resnično mi je všeč ideja, da dam DNK na svoje mize.

  9.   halonsov je dejal

    Odličen vodnik, zahvaljujoč se ji samo poskušam xmonad in o tem lahko rečem samo eno stvar, zaljubil sem se v xmonad, še vedno ne polagam roke in še vedno se zdi odlično, lepa hvala

    1.    MSX je dejal

      Odlično, upamo, da se bo vaš napredek spremenil v objavo! =)

  10.   Victor Salmeron je dejal

    Nekaj ​​opazovanja mentorja, trenutno uporabljam Debian stable (Squeeze) in za namestitev dmenu to ni storjeno z aptitude install dmenu, ampak s paketom suckless-tools, sicer pa odlična vadnica

    1.    proti je dejal

      Enaka sposobnost to popravi. Poleg tega je vrstni red tako bolje razumljen.

  11.   tarantonij je dejal

    Ta vodič predvideva, da imate nameščene x-je.
    V mojem primeru začnem samo s konzolo debian, s katero sem moral namestiti xorg. Bilo bi v redu, kajti tisto, kar iščemo, je minimalistično okolje, začenši z debianom brez grafičnih okolij, namestitvijo xmonad v preprostem načinu in dodajanjem orodij in konzolnih programov, kot so mutt, irssi itd.

    1.    proti je dejal

      Ja, X-ji so že bili vklopljeni. Sama objava pojasnjuje, da sem začel z minimalnim Debianom, ki je že narejen z Openboxom.