Čini se da sam se puno molio i to je da do danas nisam stavio milimetar postavki. Kao što sam i obećavao trenutak danas ću rastrgati svoj xmonad.hs koji sam pripremio posebno za ovu priliku. Ova i druge konfiguracijske datoteke nalaze se u lijepljenju, posebno boje konzole, postavke prozora y gornja traka.
Odatle ih možete preuzeti i otvoriti u omiljenom uređivaču teksta.
Prije
U slučaju da se pitate, moja radna površina bila je mali Openbox na Debian staji. Preskačući postupak instalacije distribucije trenutno, trebali biste provjeriti nalaze li se potrebni paketi u spremištima. Učinimo ovo (sjetimo se da sam na Debianu):
sudo aptitude instalirati ghc xmonad xmobar gmrun dmenu
I spreman. Upravo smo instalirali, prema redoslijedu izgleda; Glasgow Haskell Compiler koji je zadužen za sastavljanje i tumačenje Haskella; XMonad, upravitelj prozora, XMobar je traka koja predstavlja informacije o sustavu i nekim pokretačima programa, dmenu i gmrun; koji su već ljubazno konfigurirani tako da ih XMonad lansira sa Mod + P i Mod + Shift + P.
I ovako je izgledala moja radna površina. Izložio sam to tako da imamo točku usporedbe i oponašamo neke stvari koje sam već konfigurirao u minimalističkijem okruženju.
Ali iznenađenje. XMonad nas ovako pozdravlja. U hvatanju sam već otvorio gmrun, tako da možete vidjeti da nije slomljen:
I želimo da izgleda ovako, već konfigurirano i sve ostalo:
Snimak zaslona prikazuje terminal koji pokreće ncmpcpp, MPD klijent za terminal; i GVim sesiju, obje s bojama palete Solarizirana svjetlost. Dobiti ovo zapravo nije bilo teško, pa čak su i Vim i urxvt već bili spremni na mom sustavu.
Xmonad.hs, kako zastrašujuće!
Nikako. Konfiguracija koju ćete vidjeti izuzetno je jednostavna i osnovna. Trebao bi raditi na svim sustavima s XMonad 0.9.1, iako je 0.10 već dostupan. Pa, bojte se, jako se bojte:
- Konfiguracija Xmonad - Kao što vidite, prilično je jednostavan uvoz XMonad import XMonad.Util.EZConfig import XMonad.Util.Run wrk = ["A", "C", "G", "T"] main = do xmproc <- spawnPipe "xmobar" mrijest "dušik --restore" mrijest "urxvtd" mrijest "mpd" mrijest "xfce4-volumed" xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e ", focusBorderColor =" # 3b002 ", workspaces = wrk}` AdditionalKeys` [((mod26Mask, xK_v), mrijest "gvim"), ((mod4Mask, xK_c), mrijest "mpc toggle"), ((mod4Mask, xK_a) , mrijest "mpc prev"), ((mod4Mask, xK_s), mrijest "mpc sljedeći")] - Kraj konfiguracije. Jednostavno, lako i čisto.
Što se ovdje dogodilo?
Ako su se već oporavili od zastrašivanja, možemo vidjeti da naša konfiguracija jedva doseže 30 redaka koda. Objasnit ću dio po dio, zašto ako ste ovo kopirali i zalijepili, XMonad će sastaviti program koji smo upravo napisali. Spreman?
Odjeljak ovisnosti
Na početku datoteke nalaze se tri retka koji počinju s ključnom riječi uvoz. Kao i u drugim programskim jezicima, on šalje prevoditelju da pronađe modul koji želi i daje mu funkcije sretnog modula. Da vidimo opet:
uvoz XMonad uvoz XMonad.Util.EZConfig uvoz XMonad.Util.Run
Naš program koristi tri ovisnosti. Prva nam donosi funkcije XMonad, druga i treća pomoći će nam kasnije da definiramo prečace na tipkovnici i pokrenemo programe. Idemo dalje.
Varijable
Ta stvar jest rad i čemu služi Cjenimo kod bliže:
wrk = ["A", "C", "G", "T"]
rad je varijabla koja je ekvivalentna popisu od četiri elementa, svi nizovi; jer popisi Haskell prihvaćaju samo jednu vrstu predmeta. Ako se pitate zašto sam odabrao ta četiri slova za svoje radne površine, sjetio sam se četiri nukleinske baze DNA.
Ime je samo kratica i mogli bismo ga staviti myWorkspaces, pepitoRojo ili bilo što drugo, pod uvjetom da započinje malim slovom i ako ga navedemo u sljedećem odjeljku.
Ovdje počinje dobra stvar s raspolaganjem cjelovitim programskim jezikom, jer bismo iz varijable mogli definirati boju prozora:
windowColor = "#FFFFFF"
Ili čak stvorite funkciju koja vraća boju s obzirom na naše raspoloženje:
moodColor m | m == "Sad" = "# b0c4f6" - Nešto poput plave | m == "Angry" = "# ba3f3f" - Nešto poput crvene | m == "Happy" = "# 8bff7e" - Nešto poput zelene | inače = "#FFFFFF" - Bijelo, za neutralne dane
I mnogo više. Osjećate li već snagu na prstima? Jedna stvar. Ako ne razumijete što se dogodilo, mislite da je ovo Haskell-ova vlastita struktura koju nazivamo Guarda i u osnovi je poput stabla, ako tada postoji, ali organiziranije i ljepše. I ne brinite, kod sam napisao ja i dobro funkcionira.
Glavni odjeljak
Iz retka koji kaže glavni = učiniti počeli smo precizirati ponašanje XMonada. Da vidimo mirno.
Započeti stvari na početku
To se može postići na mnogo načina, ali kako bih izbjegao ovisnosti i učinio kôd čišćim, iako očito jasnijim čovjekom, odlučio sam se za ovo:
xmproc <- spawnPipe "xmobar" mrijest "dušik --restore" mrijest "urxvtd" mrijest "mpd" mrijest "xfce4-volumed"
Prvi redak započinje XMobar, čiju ćemo konfiguracijsku datoteku vidjeti kasnije.
Tada smo započeli neke bitne stvari za mene, lijepu pozadinu (istu kao ona na prvom snimku zaslona), demon zbog kojeg urxvt radi poput vjetra, demon mpd -a koji pušta moju glazbu od početka i nikad je ne zatvorim - i kontrola glasnoće. Da, to je to. Sintaksa je ista ako želite započeti ono što vam treba.
Konačne prilagodbe
Ovdje definiramo neke stvari koje su obično samo osobne preferencije. Na primjer, volim koristiti normalno beskorisnu Super tipku (zapravo onu Windows) umjesto Alt, ali to je moja preferencija. Ako se želite vratiti u Super, uklonite prvi redak.
- ... xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e3", focusBorderColor = "# 002b26", workspaces = wrk} - ...
Tada definiramo naš terminal, urxvtc, jer tako zovemo klijenta demona kojeg smo ranije trčali. Ostale stvari, poput popisa radnih prostora, koje smo mogli staviti u stvari poput:
, radni prostori = ["H", "O", "L", "A"], radni prostori = ["A", "R", "C", "H", "L", "I", "N "," U "," X "], radni prostori = [" 1: web "," 2: glazba "," 3: neiskorišteni prostor "," 4: Ufff "]
I druge stvari koje nam omogućuje obrada popisa nizova Haskell.
Debljina obruba je samo cijeli broj i ako želimo promijeniti boju prozora fokusiranu na funkciju Boja raspoloženja koju smo upravo stvorili, jer varijablu ostavljamo ovako:
--..., focusBorderColor = moodColor "Happy" - ...
$ Na liniji xmonad ... To je samo primjena desnih asocijativnih funkcija, tj. čuvamo neke zagrade.
Tipkovni prečaci
Na kraju datoteke imamo popis korpica koje sadrže neke prečace, u ovom slučaju pokreću GVim, pauziraju ili reproduciraju glazbu te je unaprijed ili odgađaju. To je to. Funkcija AdditionalKeys dolazi u drugom modulu koji uvozimo, a stražnji akcenti čine da se izvršava u stilu funkcije div (/) poput 1/2, a ne div 1 2, što olakšava čitanje. Tako je:
- ...} `AdditionalKeys` [((mod4Mask, xK_v), mrijest" gvim "), ((mod4Mask, xK_c), mrijest" mpc toggle "), ((mod4Mask, xK_a), mrijest" mpc prev ") , ((mod4Mask, xK_s), mrijesti "mpc next")]
.Xmobarrc
Konfigurirajte {font = "- * - monospace-9 - * - * - * - * - * - * - * - * - * - *", bgColor = "# fdf6e3", fgColor = "# 657b83", position = Top , lowerOnStart = False, naredbe = [Pokreni Com "echo" ["$ USER"] "username" 864000, Run Com "hostname" ["-s"] "hostname" 864000, Run Com "mpc current" [""] "mpd" 10, Datum pokretanja "% a% b% d" "datum" 36000, Datum pokretanja "% H:% M" "vrijeme" 10, Pokreni StdinReader], sepChar = "'", alignSep = "} {" , predložak = "'korisničko ime' @ 'ime hosta'} {'mpd' | 'datum' - 'vrijeme'"
Ovo bi trebalo uspjeti, i zapravo je tako. Sintaksa je malo složenija i najbolje je ako je sami analizirate kako biste je razumjeli. Dakle, ograničit ću se samo na to da vam kažem da opisujemo naredbe, njihove mogućnosti i neke dodatne postavke, koje će biti prikazane u XMobaru.
Redak predloška ima sve radnje i smislio sam trik za prikaz pjesme koju slušam. Ovaj trik i onaj za promjenu pjesme tipkovnim prečacima zahtijevaju mpc, mpd klijent koji se može izvršiti s terminala.
Zaključci
To je to, mislim. Već smo pregledali glavnu datoteku XMonad i počeli učiti Haskell htjeli mi to ili ne. Ako želite nastaviti, za početak postoji vrlo dobar vodič.
U sljedećem dijelu istražit ćemo neprogramirane upravitelje, posebno Spectrwm / Scrotwm. Vidimo se.
!Fantastičan!
Spectrwm sljedeći put? !Da gospodine!
Vrlo dobar vodič, izgleda vrlo zanimljivo, želim ga pogledati, iako mi je više nego ugodno s mojim Openboxom.
Ups, propustio sam odrediti kamo te datoteke idu, ali kad uredim post, šalje mi poruku o pogrešci:
Kobna pogreška: poziv na nedefiniranu funkciju get_header () u /home/desdelin/public_html/blog/wp-content/themes/dlinux/index.php na mreži
Ako ga netko može urediti, ide ovako:
Glavna konfiguracijska datoteka: ~ / .xmonad / xmonad.hs
Xmobarrc datoteka: ~ / .xmobarrc
Datoteka za konfiguraciju konzole: ~ / .X zadano
????
Čini mi se da ne mogu uređivati vlastite postove. Opciju ne mogu pronaći nigdje na radnoj površini. Imam par bugova, to je to, minimalni popravci.
Pa, čini mi se super zanimljivim jer je produktivnije što se tiče programiranja. Želim se petljati s Awesomeom jer stvarno želim naučiti LUA.
Postoji za nas koji programiramo na Python Qtileu, ali istina je da ga ne mogu pokrenuti, koristim Ubuntu i instalirao sam ga preko PPA-a, a također iz izvora, ali nesretnik ne želi raditi xD
U svakom slučaju, LUA je nešto što MORAM naučiti i ništa bolje od međusobnog viđanja lica s ovom vrstom pločica.
Nastavite dalje, na putu ste da postanete autor u DesdeLinux-u
I da, ja sam na fakultetu i u ovom sranju nemaju Linux xD
Hvala nano. Ali, možete li mi pomoći pri uređivanju članaka nakon što su objavljeni? Ne mogu.
Da, smiri se, ostavi ih kako bolje pristaju nego što ih popravljam
Hvala anti, definitivno ću isprobati XMonad. Vidim da koristi osnovne Haskell-ove stvari bez potrebe za puno složenosti poput čuvara, operatora aplikacije i očito upotrebe popisa (inače to ne bi bio Haskell xD).
Da vidimo kako to izgleda! 🙂
Već duže vrijeme koristim upravitelj popločanih prozora, Sjajno. Kad budem imao vremena, napravit ću tutorial u kojem se nadam da ću moći objasniti cijeli postupak, od instaliranja sjajnog programa do konfiguriranja niza laganih programa i stvaranja vlastite teme.
Ako vam se čini dobrim, kad ga budem imao, mogu vas obavijestiti kako biste ga mogli objaviti ovdje.
Usput i uz vaše dopuštenje, pomalo oglašavam svoju malu web stranicu, ako želite možete je pogledati, u slučaju da vas zanima neka publikacija:
http://niferniware.sytes.net
Pozdrav!
Ako je Awesome 3 mene to definitivno zanima.
Jedan detalj, odjeljak na kojem sam bio domaćin bloga je:
http://niferniware.sytes.net/blog/
Žao mi je zbog pogreške.
Navijati!
Stvarno mi se svidio vaš blog ... ^^
Hvala ti puno Elav, u kontaktu smo!
Istina je da me na neki način DesdeLinux potaknuo na stvaranje vlastitog bloga. Toliko vremena korištenja Linuxa natjera na razmišljanje o doprinosu nečemu zauzvrat ^^
Pozdrav!
"Ako se pitate zašto sam odabrao ta četiri slova za svoje stolove, sjetio sam se četiri nukleinske baze DNA."
Slatko, +1
Pa, stvarno mi se sviđa ideja da DNK stavim na svoje stolove.
Izvrsan vodič, zahvaljujući njoj samo pokušavam xmonad, i mogu reći samo jedno, zaljubio sam se u xmonad, još uvijek ne stavljam ruku na njega i još uvijek se čini izvrsnim, hvala lijepa
Izvrsno, nadamo se da ćemo vaš napredak pretvoriti u objavu! =)
Malo opažanje učitelju, trenutno koristim Debian stable (Squeeze), a za instalaciju dmenua to se ne radi s aptitude install dmenu, već s paketom bezalkoholnih alata, inače izvrstan vodič
Ista sklonost to popravlja. Uz to, redoslijed se ovako bolje razumije.
Ovaj vodič pretpostavlja da ste instalirali x-ove.
U mom slučaju započinjem samo s debian konzolom, s kojom sam morao instalirati xorg. Bilo bi u redu, jer ono što tražimo je minimalističko okruženje, počevši od debiana bez grafičkih okruženja, instalirajući xmonad u jednostavnom načinu i dodajući alate i programe konzole, kao što su mutt, irssi itd.
Da, X-ovi su već bili uključeni. Sam post objašnjava da sam započeo s minimalnim Debianom koji je već napravljen s Openboxom.