Det ser ut til at jeg har bedt mye, og det er at jeg til dags dato ikke legger en millimeter innstillinger. Som jeg har lovet for en stund i dag vil jeg rive fra meg xmonad.hs som jeg forberedte spesielt for denne anledningen. Denne og andre konfigurasjonsfiler er i Lim inn, spesielt konsollfargene, vinduinnstillingene y den øverste linjen.
Du kan laste dem ned derfra og åpne dem i favoritt teksteditoren din.
Før
Hvis du lurte på, var skrivebordet mitt en liten Openbox på Debian-stall. Hvis du hopper over distribusjonsinstallasjonsprosessen for øyeblikket, bør du bekrefte at de nødvendige pakkene er i repositoriene. La oss gjøre dette (husk at jeg er på Debian):
sudo aptitude installer ghc xmonad xmobar gmrun dmenu
Og klar. Vi har nettopp installert, i rekkefølge etter utseende; Glasgow Haskell Compiler som har ansvaret for å kompilere og tolke Haskell; XMonad, vindusbehandling, XMobar er en stolpe som presenterer informasjon om systemet og noen programstartere, dmenu og gmrun; som allerede er konfigurert slik at XMonad lanserer dem med Mod + P og Mod + Shift + P.
Og slik så skrivebordet mitt ut. Jeg sa det slik at vi kan sammenligne oss og etterligne noen av tingene jeg allerede hadde konfigurert i et mer minimalistisk miljø.
Men overraskelse. XMonad ønsker oss velkommen slik. I fangsten har jeg allerede åpnet gmrun, slik at man ser at den ikke er ødelagt:
Og vi vil at det skal se slik ut, allerede konfigurert og alt:
Skjermbildet viser en terminal som kjører ncmpcpp, en MPD-klient for terminalen; og en GVim-økt, begge med fargene på paletten Solarisert lys. Å få dette var ikke veldig vanskelig, og til og med Vim og urxvt var allerede klare på systemet mitt.
Xmonad.hs, så skummelt!
Ikke i det hele tatt. Konfigurasjonen du er i ferd med å se er ekstremt enkel og grunnleggende. Den skal fungere på alle systemer som har XMonad 0.9.1, selv om 0.10 allerede er tilgjengelig. Vær redd, veldig redd:
- Xmonad-konfigurasjon - Som du kan se, er det ganske enkelt å importere XMonad importere XMonad.Util.EZConfig importere XMonad.Util.Run wrk = ["A", "C", "G", "T"] main = do xmproc <- spawnPipe "xmobar" spawn "nitrogen --gjenopprett" spawn "urxvtd" spawn "mpd" spawn "xfce4-volumes" xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e3 ", focusBorderColor =" # 002b26 ", workspaces = wrk}` additionalKeys` [((mod4Mask, xK_v), spawn "gvim"), ((mod4Mask, xK_c), spawn "mpc toggle"), ((mod4Mask, xK_a) , spawn "mpc prev"), ((mod4Mask, xK_s), spawn "mpc next")] - Konfigurasjonens slutt. Enkelt, enkelt og rent.
Hva skjedde her?
Hvis de allerede gjenopprettet fra skremmen, kan vi se at konfigurasjonen vår knapt når 30 linjer med kode. Jeg skal forklare del for del, hvorfor hvis du kopierte og limte inn dette, vil XMonad kompilere programmet vi nettopp skrev. Klar?
Avhengighetsseksjonen
Nær begynnelsen av filen er det tre linjer som starter med nøkkelordet importere. Som i andre programmeringsspråk, sender den kompilatoren for å finne modulen den ønsker, og den gir funksjonene til den heldige modulen. La oss se det igjen:
importere XMonad importere XMonad.Util.EZConfig importere XMonad.Util.Run
Programmet vårt bruker tre avhengigheter. Den første gir oss XMonads egne funksjoner, den andre og tredje vil hjelpe oss senere å definere hurtigtaster og å kjøre programmer. La oss fortsette.
variabler
Den tingen er wrk og hva er det til? La oss sette pris på koden nærmere:
wrk = ["A", "C", "G", "T"]
wrk er en variabel, som tilsvarer en liste med fire elementer, alle strenger; fordi Haskell-lister bare godtar en varetype. Hvis du lurer på hvorfor jeg valgte de fire bokstavene til skrivebordene mine, husket jeg fire nukleinbaser av DNA.
Navnet er bare en forkortelse, og vi kan si det myWorkspaces, pepitoRojo eller hva som helst, så lenge det begynner med små bokstaver og vi spesifiserer det i neste avsnitt.
Her begynner det gode med å ha et komplett programmeringsspråk til vår disposisjon, fordi vi kunne definere fargen på vinduet fra en variabel:
windowColor = "#FFFFFF"
Eller til og med lage en funksjon som returnerer en farge med hensyn til humøret vårt:
humørFarge m | m == "Sad" = "# b0c4f6" - Noe som blått | m == "Angry" = "# ba3f3f" - Noe som rødt | m == "Happy" = "# 8bff7e" - Noe som grønt | ellers = "#FFFFFF" - Hvit, i nøytrale dager
Og mye mer. Føler du allerede kraften på fingrene? En ting. Hvis du ikke forstår hva som skjedde, tro at dette er en Haskells egen struktur som vi kaller Guarda og det er i utgangspunktet som et hvis-da-annet-tre, men mer organisert og pent. Og ikke bekymre deg, koden ble skrevet av meg og den fungerer bra.
Hoveddelen
Fra linjen som sier hoved = gjør Vi begynte å spesifisere oppførselen til XMonad. La oss se det rolig.
Sparker ting i begynnelsen
Dette kan oppnås på mange måter, men for å være kort avhengig og gjøre koden renere, om enn tydeligvis mer huleboer, valgte jeg dette:
xmproc <- spawnPipe "xmobar" spawn "nitrogen --gjenopprett" spawn "urxvtd" spawn "mpd" spawn "xfce4-volumed"
Den første linjen starter XMobar, hvis konfigurasjonsfil vi vil se senere.
Så startet vi noen viktige ting for meg, et fint bakgrunnsbilde (det samme som det i første skjermbilde), en demon som får urxvt til å løpe som vinden, demonen til mpd - som spiller musikken min fra begynnelsen og jeg lukker aldri - og en volumkontroll. Ja, det er det. Syntaksen er den samme hvis du vil starte det du trenger.
Endelige justeringer
Her definerer vi noen ting som vanligvis bare er personlige preferanser. For eksempel liker jeg å bruke den normalt ubrukelige Super-nøkkelen (effektivt windows one) i stedet for Alt, men det er min preferanse. Fjern første linje hvis du vil gå tilbake til Super.
- ... xmonad $ defaultConfig {modMask = mod4Mask, terminal = "urxvtc", borderWidth = 2, normalBorderColor = "# fdf6e3", focusBorderColor = "# 002b26", arbeidsområder = wrk} - ...
Så definerer vi terminalen vår, urxvtc, fordi det er det vi kaller en klient av demonen vi kjørte tidligere. Andre ting, som listen over arbeidsområder, som vi kunne ha lagt inn ting som:
, arbeidsområder = ["H", "O", "L", "A"], arbeidsområder = ["A", "R", "C", "H", "L", "Jeg", "N "," U "," X "], workspaces = [" 1: web "," 2: music "," 3: unused space "," 4: Ufff "]
Og andre ting som Haskells strenglistebehandling tillater oss.
Tykkelsen på rammen er bare et helt tall, og hvis vi vil endre fargen på vinduet fokusert av funksjonen humørFarge som vi nettopp opprettet, fordi vi lar variabelen være slik:
--..., focusBorderColor = humørColor "Happy" - ...
$ På linjen xmonad ... det er bare en anvendelse av riktige assosierende funksjoner, det vil si at vi sparer noen parenteser. 😀
Tastatursnarveier
På slutten av filen har vi en liste over tupler som inneholder noen snarveier. I dette tilfellet starter de GVim, stopper eller spiller av musikken, og forskyver eller forsinker den. Det er det. Den ekstraKeys-funksjonen kommer i den andre modulen vi importerer, og de bakre aksentene gjør at den kjøres i stil med div (/) -funksjonen som 1/2 og ikke div 1 2, noe som gjør det lettere å lese. Sånn er det:
- ...} `additionalKeys` [((mod4Mask, xK_v), spawn" gvim "), ((mod4Mask, xK_c), spawn" mpc toggle "), ((mod4Mask, xK_a), spawn" mpc prev "), ((mod4Mask, xK_s), gyter "mpc neste")]
.Xmobarrc
Konfigurer {font = "- * - monospace-9 - * - * - * - * - * - * - * - * - * - *", bgColor = "# fdf6e3", fgColor = "# 657b83", position = Topp , lowerOnStart = False, commands = [Run Com "echo" ["$ USER"] "username" 864000, Run Com "hostname" ["-s"] "hostname" 864000, Run Com "mpc current" [""] "mpd" 10, Run Date "% a% b% d" "date" 36000, Run Date "% H:% M" "time" 10, Run StdinReader], sepChar = "'", alignSep = "} {" , template = "'brukernavn' @ 'vertsnavn'} {'mpd' | 'dato' - 'tid'"
Dette skal fungere, og det gjør det faktisk. Syntaksen er litt mer kompleks, og det er best hvis du analyserer det selv for å forstå det. Så jeg vil bare begrense meg til å fortelle deg at vi beskriver kommandoene, deres valg og noen ekstra innstillinger, som vil bli vist i XMobar.
Mallinjen har all handlingen, og jeg kom med et triks for å vise sangen jeg hører på. Dette trikset og det å endre sangen ved hurtigtaster krever mpc, en mpd-klient som kan kjøres fra terminalen.
Konklusjoner
Det er det, tror jeg. Vi har allerede gjennomgått hovedfilen til XMonad og begynte å lære Haskell om vi liker det eller ikke. Hvis du vil fortsette, er det en veldig god guide til å begynne med.
I neste avdeling vil vi utforske ikke-programmerbare ledere, spesielt Spectrwm / Scrotwm. Ser deg.
!Fantastisk!
Spectrwm neste gang? ! Ja sir!
Veldig god guide, det ser veldig interessant ut, jeg ønsker å ta en titt, selv om jeg er mer enn komfortabel med Openbox.
Beklager, jeg savnet å spesifisere hvor disse filene går, men når jeg redigerer innlegget, sender det meg en feilmelding:
Fatal feil: Ring til udefinert funksjon get_header () i /home/desdelin/public_html/blog/wp-content/themes/dlinux/index.php on line
Hvis noen kan redigere det, går de slik:
Hovedkonfigurasjonsfil: ~ / .xmonad / xmonad.hs
Xmobarrc-fil: ~ / .xmobarrc
Konsollkonfigurasjonsfil: ~ / .Xdefaults
????
Jeg ser ikke ut til å redigere mine egne innlegg. Jeg finner ikke alternativet noe sted på skrivebordet heller. Jeg har et par feil, det er alt, minimale reparasjoner.
Vel, jeg synes det er veldig interessant siden det er mer produktivt når det gjelder programmering. Jeg vil rote med Awesome fordi jeg virkelig vil lære LUA.
Den eksisterer for de av oss som programmerer i Python Qtile, men sannheten er at jeg ikke kan få den til å kjøre, jeg bruker Ubuntu og installerte den via PPA og også fra kilder, men den uheldige tingen vil ikke fungere xD
Uansett, LUA er noe jeg MÅ lære og ikke noe bedre enn å se hverandres ansikter med denne typen fliser.
Hold det opp anti, du er på vei til å bli en forfatter innen DesdeLinux
Og ja, jeg er på college og i denne dritten har de ikke Linux xD
Takk nano. Men kan du hjelpe meg med å redigere artiklene etter at de er publisert? Jeg kan ikke.
Ja, ro deg ned, la dem være som de passer bedre enn jeg fikser dem
Takk anti, jeg vil definitivt prøve XMonad. Jeg ser at den bruker grunnleggende Haskell-ting uten behov for mye kompleksitet som vakter, applikasjonsoperatøren og åpenbart bruk av lister (ellers ville det ikke være Haskell xD).
La oss se hvordan det ser ut! 🙂
Jeg har brukt en flislegger windows manager i lang tid, kjempebra. Når jeg har tid, vil jeg gjøre en opplæring der jeg håper å kunne forklare hele prosessen, fra å installere kjempebra til å konfigurere et sett med lette programmer og lage vårt eget tema.
Hvis det virker bra for deg, kan jeg fortelle deg det når jeg har det, slik at du kan publisere det her.
Forresten og med din tillatelse, gjør jeg litt omtale på den lille nettsiden min. Hvis du vil kan du ta en titt, i tilfelle du er interessert i en publikasjon:
http://niferniware.sytes.net
En hilsen!
Hvis det er Awesome 3, er jeg absolutt interessert i det.
En detalj, delen av nettet der jeg har vært bloggen, er:
http://niferniware.sytes.net/blog/
Jeg beklager feilen.
Et jubel!
Jeg likte virkelig bloggen din ... ^^
Tusen takk Elav, vi er i kontakt!
Sannheten er det på en måte DesdeLinux Det fikk meg til å lage min egen blogg. Så mye tid på å bruke Linux gjør at man vurderer å bidra med noe tilbake ^^
En hilsen!
"Hvis du lurer på hvorfor jeg valgte de fire bokstavene til skrivebordene mine, husket jeg de fire DNA-kjernebasene."
Søt, +1
Vel, jeg liker virkelig ideen om å sette DNA på pultene mine.
Utmerket guide, takket være henne prøver jeg bare xmonad, og jeg kan bare si en ting om det, jeg ble forelsket i xmonad, jeg legger fremdeles ikke hånden på det, og fremdeles virker det utmerket, tusen takk
Utmerket, vi håper å se fremgangen din blir til et innlegg! =)
En liten observasjon til veilederen, for øyeblikket bruker jeg Debian stable (Squeeze), og for å installere dmenyen, gjøres det ikke med en passende dmenu-installasjonsmeny, men med den sukkløse verktøypakken, ellers utmerket opplæring
Den samme evnen fikser det. I tillegg er rekkefølgen bedre forstått slik.
Denne guiden forutsetter at du har installert x-er.
I mitt tilfelle starter jeg bare fra en debian-konsoll, som jeg måtte installere xorg med. Det ville være greit, siden det vi leter etter er et minimalistisk miljø, som starter med en debian uten grafiske miljøer, installerer xmonad i enkel modus og legger til verktøy og konsollprogrammer, for eksempel mutt, irssi, etc.
Ja, X-ene var allerede på. Selve innlegget forklarer at jeg startet med en minimal Debian som allerede var laget med Openbox.