Ana e errët e mozaikut (III): XMonad

Duket se kam bërë shumë lutje dhe është që deri më sot nuk vendos një milimetër cilësimesh. Siç kam premtuar për të një kohë sot do te shqyej xmonad.hs qe kam pergatitur enkas per kete rast. Kjo dhe skedarët e tjerë të konfigurimit janë në Ngjit, posaçërisht ngjyrat e konsolës, cilësimet e dritares y shiriti i sipërm.

Mund t'i shkarkoni nga atje dhe t'i hapni në redaktuesin tuaj të preferuar të tekstit.

Para

Në rast se po pyesni, desktopi im ishte një Openbox i vogël në stallën e Debian. Duke kapërcyer procesin e instalimit të shpërndarjes për momentin, duhet të verifikoni që paketat e nevojshme janë në depo. Le ta bëjmë këtë (duke kujtuar se unë jam në Debian):

aftësia sudo instalo ghc xmonad xmobar gmrun dmenu

Dhe gati. Ne sapo instaluam, sipas renditjes së paraqitjes; përpiluesi Glasgow Haskell, i cili është përgjegjës për përpilimin dhe interpretimin e Haskell; XMonad, menaxheri i dritares, XMobar është një shirit që paraqet informacion në lidhje me sistemin dhe disa lëshues programesh, dmenu dhe gmrun; që me mirësi tashmë vijnë të konfiguruar në mënyrë që XMonad t'i lëshojë ato me Mod + P dhe Mod + Shift + P.

Dhe kjo është ajo që dukej desktopi im. E vendosa kështu që të kemi një pikë krahasimi dhe të imitojmë disa nga gjërat që unë tashmë kisha konfiguruar në një mjedis më minimalist.

Asgje speciale

Por befasi. XMonad na mirëpret kështu. Në kapje unë kam hapur tashmë gmrun, në mënyrë që të shihet se nuk është prishur:

Asgjë spektakolare

Dhe ne duam që ajo të duket kështu, e konfiguruar tashmë dhe gjithçka:

Pra po

Pamja e ekranit tregon një terminal që ekzekuton ncmpcpp, një klient MPD për terminalin; dhe një seancë GVim, të dyja me ngjyrat e paletës Drita e solarizuar. Marrja e kësaj nuk ishte me të vërtetë e vështirë dhe madje Vim dhe urxvt ishin tashmë të gatshëm në sistemin tim.

Xmonad.hs, sa e frikshme!

Aspak. Konfigurimi që do të shihni është jashtëzakonisht i thjeshtë dhe themelor. Duhet të funksionojë në të gjitha sistemet që kanë XMonad 0.9.1, edhe pse 0.10 është tashmë i disponueshëm. Epo, kini frikë, shumë frikë:

- Konfigurimi Xmonad - Siç mund ta shihni, është import i thjeshtë XMonad import XMonad.Util.EZConfig import XMonad.Util.Run wrk = ["A", "C", "G", "T"] main = bëni xmproc <- pjellë Tubi "xmobar" pjell "azot - rivendos" pjell "urxvtd" pjell "mpd" pjell "xfce4-vëllim" xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", kufiri Gjerësia = 2, normalBorderCol = 6 ", focusBorderColor =" # 3b002 ", hapësirat e punës = wrk}" shtesëKeys "[((mod26Mask, xK_v), pjell" gvim "), ((mod4Mask, xK_c), pjell" mpc toggle "), ((mod4Mask, xK_a) , pjell "mpc prev"), ((mod4Mask, xK_s), pjell "mpc tjetër")] - Fundi i konfigurimit. E thjeshtë, e lehtë dhe e pastër.

Happenedfarë ndodhi këtu?

Nëse ata tashmë janë rikuperuar nga frika, mund të shohim se konfigurimi ynë mezi arrin në 30 rreshta kodi. Unë do të shpjegoj pjesë për pjesë, pse nëse e kopjuat dhe ngjitët këtë, XMonad do të përpilojë programin që sapo kemi shkruar. Gati?

Seksioni i varësive

Pranë fillimit të skedarit ka tre rreshta që fillojnë me fjalën kyçe import. Ashtu si në gjuhët e tjera të programimit, ai dërgon përpiluesin për të kërkuar modulin që dëshiron dhe i jep asaj funksionet e modulit me fat. Le ta shohim përsëri:

import XMonad import XMonad.Util.EZConfig import XMonad.Util.Run

Programi ynë përdor tre varësi. E para na sjell vetë funksionet e XMonad, e dyta dhe e treta do të na ndihmojnë më vonë të përcaktojmë shkurtoret e tastierës dhe të ekzekutojmë programe. Le të vazhdojmë.

Variablat

Ajo gjë është dërrmues dhe për çfarë shërben? Le të vlerësojmë kodin më nga afër:

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

dërrmues është një variabël, e cila është ekuivalente me një listë të katër elementeve, të gjitha vargjet; sepse listat Haskell pranojnë vetëm një lloj artikulli. Nëse po mendoni pse zgjodha ato katër letra për tryezat e mia, më kujtova ato katër baza nukleike të ADN-së.
Emri është thjesht një shkurtim, dhe ne mund ta vendosim myWorkspaces, pepitoRojo ose çfarëdo tjetër, për sa kohë që fillon me një shkronjë të vogël dhe ne e specifikojmë atë në seksionin tjetër.
Këtu fillon e mira për të pasur një gjuhë të plotë programimi në dispozicionin tonë, sepse ne mund të përcaktojmë ngjyrën e dritares nga një ndryshore:

dritareColor = "#FFFFFF"

Ose madje krijoni një funksion që kthen një ngjyrë në lidhje me gjendjen tonë shpirtërore:

humorNgjyra m | m == "Trishtuar" = "# b0c4f6" - Diçka si blu | m == "Angry" = "# ba3f3f" - Diçka si e kuqe | m == "Gëzuar" = "# 8bff7e" - Diçka si jeshile | përndryshe = "#FFFFFF" - E bardhë, për ditë neutrale

Edhe me shume. A e ndjeni tashmë fuqinë në gishtat tuaj? Nje gje. Nëse nuk e kuptoni se çfarë ka ndodhur, mendoni se kjo është struktura e një Haskell që ne e quajmë Guarda dhe është në thelb si një pemë nëse-atëherë-tjetër, por më e organizuar dhe e bukur. Dhe mos u shqetëso, kodi është shkruar nga unë dhe funksionon mirë.

Seksioni kryesor

Nga rreshti që thotë kryesore = bëj kemi filluar të specifikojmë sjelljen e XMonad. Le ta shohim me qetësi.

Nisja e gjërave në fillim

Kjo mund të arrihet në shumë mënyra, por për të qëndruar larg varësive dhe për ta bërë kodin më të pastër, megjithëse dukshëm më i shpella, unë vendosa për këtë:

xmproc <- pjellë Tipi "xmobar" pjell "azot - rikthe" pjell "urxvtd" pjell "mpd" pjell "xfce4-vëlluar"

Linja e parë fillon XMobar, skedarin e konfigurimit të të cilit do ta shohim më vonë.
Pastaj filluam disa gjëra thelbësore për mua, një sfond i bukur (i njëjtë me atë në pamjen e parë të ekranit), një demon që e bën urxvt të vrapojë si era, demoni i mpd - i cili luan muzikën time nga fillimi dhe unë kurrë nuk e mbyll - dhe një kontroll volumi. Po, kjo është ajo. Sintaksa është e njëjtë nëse doni të filloni atë që ju nevojitet.

Rregullimet përfundimtare

Këtu ne përcaktojmë disa gjëra që zakonisht janë vetëm preferenca personale. Për shembull, më pëlqen të përdor tastin Super normalisht të padobishëm (efektivisht dritaret) në vend të Alt, por kjo është preferenca ime. Nëse dëshironi të ktheheni te Super, hiqni rreshtin e parë.

- ... xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e3", focusBorderColor = "# 002b26", hapësirat e punës = wrk} - ...

Pastaj ne përcaktojmë terminalin tonë, urxvtc, sepse kjo është ajo që ne e quajmë klient të demonit që kemi drejtuar më herët. Gjëra të tjera, si lista e hapësirave të punës, që mund të kemi vendosur në gjëra të tilla si:

, hapësirat e punës = ["H", "O", "L", "A"], hapësirat e punës = ["A", "R", "C", "H", "L", "Unë", "N "," U "," X "], hapësira pune = [" 1: ueb "," 2: muzikë "," 3: hapësirë ​​e papërdorur "," 4: Ufff "]

Dhe gjëra të tjera që përpunimi i listës së vargjeve të Haskell na lejon.
Trashësia e kufirit është vetëm një numër i plotë dhe nëse duam të ndryshojmë ngjyrën e dritares të përqendruar nga funksioni humorNgjyra që sapo krijuam, sepse e lëmë ndryshoren si kjo:

--..., focusBorderColor = humorNgjyra "Gëzuar" - ...

$ Në linjë xmonad ... është vetëm një zbatim i funksioneve të duhura shoqëruese, domethënë, ne ruajmë disa kllapa. 😀

Shkurtoret e tastierës

Në fund të skedarit kemi një listë të tuples që përmbajnë disa shkurtore, në këtë rast, ata lëshojnë GVim, bëjnë pauzë ose luajnë muzikë dhe e përparojnë ose vonojnë atë. Kjo eshte. Funksioni AdditionalKeys vjen në modulin e dytë që ne importojmë dhe thekset e pasme e bëjnë atë të ekzekutohet në stilin e funksionit div (/) si 1/2 dhe jo div 1 2, duke e bërë më të lehtë për të lexuar. Ashtu eshte:

- ...} "Keys shtesë" [((mod4Mask, xK_v), pjell "gvim"), ((mod4Mask, xK_c), pjell "mpc toggle"), ((mod4Mask, xK_a), pjell "mpc prev"), ((mod4Mask, xK_s), pjell "mpc tjetër")]

.Xmobarrc

Konfiguro {font = "- * - monospace-9 - * - * - * - * - * - * - * - * - * - *", bgColor = "# fdf6e3", fgColor = "# 657b83", pozicioni = Top , lowerOnStart = False, komandat = [Run Com "echo" ["$ USER"] "username" 864000, Run Com "hostname" ["-s"] "host host" 864000, Run Com "mpc current" [""] "mpd" 10, Data e ekzekutimit "% a% b% d" "data" 36000, Data e ekzekutimit "% H:% M" "koha" 10, Drejtoni StdinReader], sepChar = "'", alignSep = "} {" , shablloni = "'emri i përdoruesit' @ 'emri i hostit'} {'mpd' | 'data' - 'koha'"

Kjo duhet të funksionojë, dhe në të vërtetë funksionon. Sintaksa është pak më komplekse dhe është më mirë nëse e analizoni vetë për ta kuptuar. Kështu që unë thjesht do të kufizohem duke ju thënë që po përshkruajmë komandat, opsionet e tyre dhe disa cilësime shtesë, të cilat do të shfaqen në XMobar.
Linja e shabllonit ka të gjithë veprimin dhe unë kam ardhur me një hile për të shfaqur këngën që po dëgjoj. Ky mashtrim dhe ai për të ndryshuar këngën nga shkurtoret e tastierës kërkojnë mpc, një klient mpd i ekzekutueshëm nga terminali.

Konkluzione

Kjo është ajo, unë mendoj. Ne tashmë kemi rishikuar skedarin kryesor XMonad dhe kemi filluar të mësojmë Haskell nëse duam apo jo. Nëse dëshironi të vazhdoni, ka një udhëzues shumë të mirë për të filluar.
Në këstin tjetër do të shqyrtojmë menaxherë jo-programueshëm, specifikisht Spectrwm / Scrotwm. Shihemi.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   ivanovblack dijo

    ! Fantastike!

    Spektri herën tjetër? !Po zoteri!

  2.   Sandman86 dijo

    Udhëzues shumë i mirë, duket shumë interesant, unë dua të hedh një vështrim, edhe pse jam më se i kënaqur me Openbox tim.

  3.   anti dijo

    Mos, më humbi të specifikoja se ku po shkojnë këto skedarë, por kur redaktoj postimin, më dërgon një mesazh gabimi:
    Gabim fatal: Thirrje në funksionin e padefinuar get_header () në /home/desdelin/public_html/blog/wp-content/themes/dlinux/index.php në internet
    Nëse dikush mund ta redaktojë, ata shkojnë kështu:

    Skedari kryesor i konfigurimit: ~ / .xmonad / xmonad.hs
    Skedari Xmobarrc: ~ / .xmobarrc
    Skedari i konfigurimit të konsolës: De / .Përfundimet
    😀

    1.    anti dijo

      Unë nuk mund të duket për të redaktuar postimet e mia. As unë nuk mund ta gjej opsionin askund në desktop. Unë kam disa të meta, kaq, rregullime minimale.

  4.   Nano dijo

    Epo, më duket super interesante pasi është më produktive kur bëhet fjalë për programim. Unë dua të bela me Awesome, sepse unë me të vërtetë dua të mësoj LUA.

    Ekziston për ata prej nesh që programojnë në Python Qtile, por e vërteta është se unë nuk mund ta bëj atë të ekzekutohet, unë jam duke përdorur Ubuntu dhe e instalova atë përmes PPA dhe gjithashtu nga burime por gjëja e pafat nuk dëshiron të funksionojë xD

    Gjithsesi, LUA është diçka që DUHET ta mësoj dhe asgjë më mirë sesa të shoh fytyrat tuaja me këtë lloj pllake.

    Vazhdoni kështu kundër, ju jeni në rrugën tuaj për t'u bërë një Autor brenda DesdeLinux

    1.    Nano dijo

      Dhe po, unë jam në kolegj dhe në këtë mut ata nuk kanë Linux xD

      1.    anti dijo

        Faleminderit nano. Por, a mund të më ndihmoni me redaktimin e artikujve pasi të botohen? Nuk mundem.

        1.    nano dijo

          Po, qetësohu, lëri ashtu siç përshtaten më mirë sesa i rregulloj unë

  5.   xykyz dijo

    Faleminderit anti, patjetër që do ta provoj XMonad. Unë shoh që ai përdor gjëra themelore të Haskell pa pasur nevojë për shumë kompleksitet siç janë rojet, operatori i aplikacionit dhe padyshim përdorimi i listave (përndryshe nuk do të ishte Haskell xD).

    Le të shohim se si duket! 🙂

  6.   Fernando dijo

    Unë kam qenë duke përdorur një menaxher tiled windows për një kohë të gjatë, Awesome. Kur të kem kohë do të bëj një tutorial në të cilin shpresoj të jem në gjendje të shpjegoj të gjithë procesin, nga instalimi i tmerrshëm te konfigurimi i një sërë programesh të lehta dhe krijimi i temës sonë.

    Nëse është në rregull me ju, kur ta kem mund t'ju bëj të ditur që të mund ta publikoni këtu.

    Nga rruga dhe me lejen tuaj, unë bëj pak reklamë në faqen time të vogël, nëse dëshironi, mund të hidhni një sy, në rast se jeni të interesuar për ndonjë botim:

    http://niferniware.sytes.net

    Një përshëndetje!

    1.    MSX dijo

      Nëse është Awesome 3 Unë jam padyshim i interesuar në të.

  7.   Fernando dijo

    Një detaj, pjesa e uebit ku unë kam organizuar blogun është:
    http://niferniware.sytes.net/blog/

    Më vjen keq për gabimin.

    Një brohoritje!

    1.    i gjallë dijo

      Më pëlqeu shumë blogu juaj… ^^

      1.    Fernando dijo

        Faleminderit shumë Elav, ne jemi në kontakt!

        E vërteta është se në një farë mënyre DesdeLinux Më shtyu të krijoj blogun tim. Kaq shumë kohë duke përdorur Linux bën që dikush të mendojë për të kontribuar diçka në këmbim ^^

        Një përshëndetje!

  8.   MSX dijo

    "Nëse po mendoni pse zgjodha ato katër shkronja për tryezat e mia, unë kujtova katër bazat nukleike të ADN-së."
    E ëmbël, +1

    1.    anti dijo

      Epo, më pëlqen shumë ideja e vendosjes së ADN-së në tryezat e mia.

  9.   halonsov dijo

    Udhëzues i shkëlqyeshëm, falë saj po provoj vetëm xmonad, dhe vetëm një gjë mund të them për këtë, u dashurova me xmonad, akoma nuk i vë dorën dhe prapë duket e shkëlqyeshme, shumë faleminderit

    1.    MSX dijo

      Shkëlqyeshëm, shpresojmë të shohim përparimin tuaj të kthyer në një postim! =)

  10.   Viktor Salmeron dijo

    Një vëzhgim i vogël për tutorin, në momentin që unë përdor Debian stabil (Shtrydh), dhe për të instaluar dmenu, nuk bëhet me një menyrë instalimi aftësie, por me paketën e mjeteve pa thithje, përndryshe, tutorial i shkëlqyeshëm

    1.    anti dijo

      E njëjta aftësi e rregullon atë. Përveç kësaj, rendi kuptohet më mirë kështu.

  11.   tarantoni dijo

    Ky udhëzues supozon se keni të instaluar x-të.
    Në rastin tim, unë filloj vetëm nga një tastierë debian, me të cilën duhet të instaloja xorg. Do të ishte mirë, pasi ajo që ne po kërkojmë është një mjedis minimalist, duke filluar me një debian pa mjedise grafike, instalimin e xmonad në modalitetin e thjeshtë dhe shtimin e mjeteve dhe programeve të konsolës, të tilla si mutt, irssi, etj.

    1.    anti dijo

      Po, X-të ishin tashmë të ndezura. Vetë postimi shpjegon se unë fillova me një Debian minimal të bërë tashmë me Openbox.