Sisi poék mozaik (III): XMonad

Sigana mah kuring parantos seueur ngadoa sareng éta dugi ka ayeuna kuring henteu nempatkeun milimeter setting. Sakumaha kuring parantos ngajangjikeun samentawis dinten ieu kuring bakal nyéépkeun xmonad.hs anu kuring siapkeun khususna pikeun kasempetan ieu. Ieu sareng file konfigurasi anu sanés aya dina Témpél, khususna warna konsol, setélan jandela y palang luhur.

Anjeun tiasa ngaunduhna ti ditu sareng mukakeunana dina éditor téks karesep anjeun.

saencan

Upami anjeun panasaran, desktop kuring nyaéta Openbox leutik dina kandang Debian. Ngalangkungan prosés pamasangan distribusi sakedap, anjeun kedah mastikeun yén bungkus anu diperyogikeun aya dina Repository. Hayu urang ngalakukeun ieu (émut yén kuring aya di Debian):

sudo aptitude masang ghc xmonad xmobar gmrun dmenu

Sareng siap. Kami nembé dipasang, dina urutan penampilan; Glasgow Haskell Compiler, anu tanggung jawab nyusun sareng napsirkeun Haskell; XMonad, window manager, XMobar mangrupikeun palang anu nampilkeun inpormasi ngeunaan sistem sareng sababaraha peluncur program, dmenu sareng gmrun; anu ramah parantos dikonfigurasi pikeun XMonad pikeun diluncurkeun sareng Mod + P sareng Mod + Shift + P.

Sareng ieu anu katingalina desktop kuring. Kuring nempatkeun éta supados urang ngagaduhan titik perbandingan sareng niru sababaraha hal anu parantos kuring atur dina lingkungan anu langkung minimalis.

Henteu aya anu istimewa

Tapi reuwas. XMonad ngabagéakeun urang sapertos kieu. Dina néwak kuring parantos muka gmrun, sahingga tiasa ditingali yén henteu pegat:

Teu aya anu spektakuler

Sareng kami hoyong na sapertos kieu, parantos ngonpigurasi sareng sadayana:

Janten hehehe

Potret layar nunjukkeun terminal anu ngajalankeun ncmpcpp, hiji palanggan MPD pikeun terminal; sareng sési GVim, duanana sareng warna palétét Lampu Solarized. Kengingkeun ieu henteu sesah sesah na bahkan Vim sareng urxvt parantos siap dina sistem kuring.

The xmonad.hs, kumaha pikasieuneun!

Henteu pisan. Konfigurasi anu anjeun tingali nyaéta saderhana pisan sareng dasar. Éta kedah dianggo dina sadaya sistem anu ngagaduhan XMonad 0.9.1, sanaos 0.10 parantos sayogi. Nya, sieun, sieun pisan:

- Konfigurasi Xmonad - Sakumaha anjeun tiasa tingali, éta cukup impor XMonad impor XMonad.Util.EZConfig impor XMonad.Util.Run wrk = ["A", "C", "G", "T"] main = do xmproc <- spawnPipe "xmobar" spawn "nitrogen --restore" spawn "urxvtd" spawn "mpd" spawn "xfce4-volulated" 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")] - Tungtung konfigurasi. Basajan, gampang sareng bersih.

Naon anu kajantenan di dieu?

Upami aranjeunna parantos pulih tina pikasieuneunana, urang tiasa ningali yén konfigurasi urang bieu ngahontal 30 garis kode. Kuring badé ngajelaskeun sabagian demi sababaraha, naha upami anjeun nyalin sareng nempelkeun ieu, XMonad bakal nyusun program anu nembé urang tulis. Siap?

Bagéan kagumantungan

Ngadeukeutan awal file aya tilu baris anu dimimitian ku kata konci impor. Saperti dina basa pamrograman anu sanés, éta ngirimkeun kompiler pikeun milarian modul anu dipikahoyong sareng ieu masihan fungsi modul untung. Hayu urang tingali deui:

impor XMonad impor XMonad.Util.EZConfig impor XMonad.Util.Run

Program kami nganggo tilu kagumantungan. Anu mimiti nyandak urang fungsi XMonad, anu kadua sareng anu katilu bakal ngabantosan urang engké pikeun ngahartikeun cara pintas keyboard sareng ngajalankeun program. Hayu urang teraskeun.

Variabel

Éta hal éta wrk sareng kanggo naon? Hayu urang ngahargaan kode anu langkung caket:

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

wrk mangrupikeun variabel, anu sami sareng daptar opat unsur, sadayana senar; sabab Haskell daptar ngan ukur nampi hiji jinis barang. Upami anjeun panasaran naha kuring milih opat hurup éta pikeun méja kuring, kuring émut ka opat basa inti tina DNA.
Ngaranna ngan ukur singgetan, sareng urang tiasa nempatkeun kana myWorkspaces, pepitoRojo atanapi naon waé, salami éta dimimitian ku aksara leutik sareng kami nangtoskeun dina bagian salajengna.
Ieu mangrupikeun hal anu saé tentang gaduh bahasa pamrograman anu lengkep anu urang anggo dimimitian, sabab urang tiasa ngahartikeun warna jandéla tina variabel:

windowColor = "#FFFFFF"

Atanapi nyiptakeun pungsi anu mulihkeun warna anu aya hubunganana sareng wanda urang:

moodColor m | m == "Sedih" = "# b0c4f6" - Sapertos biru | m == "Ambek" = "# ba3f3f" - Sapertos beureum | m == "Bagéa" = "# 8bff7e" - Hal sapertos héjo | sanésna = "#FFFFFF" - Bodas, kanggo dinten nétral

Sareng seueur deui. Naha anjeun parantos ngaraos kakuatan dina ramo? Hiji hal. Upami anjeun henteu ngartos naon anu kajantenan, pikirkeun yén ieu mangrupikeun struktur Haskell nyalira anu urang nelepon guarda sareng dasarna sapertos tangkal upami-teras-sanésna, tapi langkung teratur sareng geulis. Sareng tong hariwang, kode na ditulis ku kuring sareng éta tiasa dianggo saé.

Bagéan utama

Tina garis anu nyarios utama = ngalakukeun urang mimitian nangtoskeun paripolah XMonad. Hayu urang tingali éta kalem.

Nincak hal-hal ti mimiti

Ieu tiasa dihontal ku sababaraha cara, tapi tetep henteu kagumantungan sareng ngajantenkeun kode langkung bersih, sanaos jelas langkung guha, kuring milih ieu:

xmproc <- spawnPipe "xmobar" spawn "nitrogen --restore" spawn "urxvtd" spawn "mpd" spawn "xfce4-volumed"

Garis kahiji dimimitian XMobar, anu file konfigurasi na urang bakal katingali engké.
Teras we ngamimitian sababaraha hal penting pikeun kuring, wallpaper anu saé (sami sareng anu aya dina tangkapan layar munggaran), setan anu ngajantenkeun urxvt sapertos angin, setan mpd-anu maénkeun musik kuring ti mimiti sareng kuring henteu pernah nutup - sareng kontrol volume. Leres, éta waé. Sintaksisna sami upami anjeun badé ngamimitian naon anu anjeun peryogikeun.

Pangaluyuan pamungkas

Di dieu urang nangtoskeun sababaraha hal anu biasana ngan ukur preferensi pribadi. Salaku conto, kuring resep ngagunakeun konci Super anu biasana henteu kapake (sacara épéktip anu salah sahiji) sanés Alt, tapi éta karesep kuring. Upami anjeun hoyong uih deui ka Super, angkat garis anu munggaran.

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

Teras we tangtoskeun terminal kami, urxvtc, sabab éta anu disebat klien setan anu kami lumpat tadi. Hal-hal sanés, sapertos daptar rohangan kerja, anu tiasa urang lebetkeun sapertos:

, workspaces = ["H", "O", "L", "A"], workspaces = ["A", "R", "C", "H", "L", "I", "N "," U "," X "], workspaces = [" 1: web "," 2: music "," 3: space unused "," 4: Ufff "]

Sareng hal-hal sanés anu ngolah daptar senar Haskell ngamungkinkeun urang.
Kandelna wates ngan sajumlah lengkep sareng upami urang hoyong ngarobih warna jandela dipokuskeun ku fungsina wandaColor anu urang karék nyiptakeun, kusabab urang ngantepkeun variabel sapertos kieu:

--..., focusBorderColor = moodColor "Bagja" - ...

$ Dina jalur xmonad ... éta ngan ukur aplikasi tina fungsi pergaulan anu leres, nyaéta, urang nyimpen sababaraha kurung. 😀

Jalan pintas keyboard

Dina tungtung file kami ngagaduhan daptar tuples anu ngandung sababaraha jalan pintas, dina hal ieu, aranjeunna ngaluncurkeun GVim, ngareureuhkeun atanapi maénkeun musik, sareng maju atanapi nunda. Éta pisan. Fungsi tambahanKeys asalna dina modul kadua anu urang impor sareng aksen tukang ngajantenkeun ngaéksekusi ku gaya fungsi div (/) sapertos 1/2 sareng henteu div 1 2, janten langkung gampang dibaca. Nya éta:

- ...} `additionalKeys` [((mod4Mask, xK_v), spawn" gvim "), ((mod4Mask, xK_c), spawn" mpc toggle "), ((mod4Mask, xK_a), spawn" mpc prev "), ((mod4Mask, xK_s), spawn "mpc salajengna")]

The .xmobarrc

Konpigurasikeun {font = "- * - monospace-9 - * - * - * - * - * - * - * - * - * - *", bgColor = "# fdf6e3", fgColor = "# 657b83", posisi = Top , lowerOnStart = Salah, paréntah = [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 = "'username' @ 'hostname'} {'mpd' | 'date' - 'time'"

Ieu kedah tiasa dianggo, sareng éta leres-leres leres. Sintaksisna rada rumit sareng langkung saé upami anjeun analisa nyalira pikeun ngartosna. Janten kuring ngan ukur bakal ngawatesan diri pikeun ngawartosan anjeun yén kami ngajelaskeun paréntah, pilihan sareng sababaraha setélan tambahan, anu bakal ditingalikeun dina XMobar.
Garis témplat ngagaduhan tindakan sareng kuring ngahasilkeun trik pikeun mikeun lagu anu kuring ngupingkeun. Trik ieu sareng anu ngarobih lagu ku cara pintas keyboard peryogi mpc, klien mpd tiasa dieksekusi ti terminal.

conclusions

Éta waé, saur kuring. Kami parantos parantos marios file XMonad utama sareng ngamimitian diajar Haskell naha urang resep atanapi henteu. Upami anjeun hoyong teraskeun aya pituduh anu saé pikeun dimimiti.
Dina angsuran salajengna urang bakal ngajajah manajer anu henteu tiasa diprogram, khususna Spectrwm / Scrotwm. Dadah.


Eusi tulisan taat kana prinsip urang tina étika éditorial. Pikeun ngalaporkeun kasalahan klik di dieu.

22 koméntar, tinggalkeun anjeun

Ninggalkeun koméntar anjeun

email alamat anjeun moal diterbitkeun. Widang diperlukeun téh ditandaan ku *

*

*

  1. Jawab data: Miguel Ángel Gatón
  2. Tujuan tina data: Kontrol SPAM, manajemén koméntar.
  3. Legitimasi: idin anjeun
  4. Komunikasi data: Data moal dikomunikasikan ka pihak katilu kacuali ku kawajiban hukum.
  5. Panyimpenan data: Basis data anu diayakeun ku Occentus Networks (EU)
  6. Hak: Iraha waé anjeun tiasa ngawatesan, cageur sareng mupus inpormasi anjeun.

  1.   ivanovblack cenahna

    ! Hebat!

    Spectrwm waktos salajengna? ! Leres pak!

  2.   TheSandman86 cenahna

    Pitunjuk anu saé, katingalina pikaresepeun pisan, kuring hoyong ningali, sanaos kuring langkung raoseun kana Openbox kuring.

  3.   anti cenahna

    Aduh, kuring sono nunjukkeun dimana file ieu angkat, tapi nalika kuring ngédit tulisanana, éta ngirimkeun kuring pesen kasalahan:
    Kasalahan fatal: Nelepon kana fungsi anu teu ditangtoskeun get_header () dina /home/desdelin/public_html/blog/wp-content/themes/dlinux/index.php dina garis
    Upami aya anu tiasa ngédit na, sapertos kieu:

    File konfigurasi utama: ~ / .xmonad / xmonad.hs
    File Xmobarrc: ~ / .xmobarrc
    File konfigurasi konsol: ~ / .Xdefaults
    ????

    1.    anti cenahna

      Sigana mah kuring henteu tiasa ngédit tulisan kuring nyalira. Abdi henteu mendakan pilihanna dina desktop ogé. Kuring gaduh sababaraha bug, éta sadayana, perbaikan minimal.

  4.   Nano cenahna

    Nya, kuring ngaraos super pikaresepeun sabab langkung produktif nalika ngeunaan program. Abdi hoyong ngaco sareng Heboh kusabab kuring hoyong pisan diajar LUA.

    Éta aya pikeun urang anu program dina Python Qtile, tapi anu leres mah kuring henteu tiasa ngajalankeunana, kuring nganggo Ubuntu sareng kuring dipasang ngalangkungan PPA sareng ogé ti sumber tapi anu matak teu resep jalan. xD

    Pokokna, LUA mangrupikeun hal anu KUDU diajar sareng teu langkung saé tibatan ningali raut anjeun nganggo jinis ubin ieu.

    Tetep tetep anti, anjeun dina jalan pikeun janten Pangarang dina DesdeLinux

    1.    Nano cenahna

      Sareng leres, kuring kuliah sareng dina édisi ieu aranjeunna henteu ngagaduhan Linux xD

      1.    anti cenahna

        Nuhun nano. Tapi naha anjeun tiasa ngabantosan kuring dina ngédit tulisan saatos aranjeunna diterbitkeun? Abdi teu tiasa.

        1.    nano cenahna

          Leres, tenang, tinggalkeun aranjeunna nalika aranjeunna langkung pas tibatan kuring ngalereskeunana

  5.   xykyz cenahna

    Nuhun anti, kuring pasti bakal nyobian XMonad. Kuring ningali yén éta nganggo hal-hal dasar Haskell tanpa kedah seueur pajeulitna sapertos penjaga, operator aplikasi sareng jelas panggunaan daptar (upami henteu éta Haskell xD).

    Hayu urang tingali kumaha tampilan na! 🙂

  6.   Fernando cenahna

    Abdi parantos lami nganggo windows windows tiles, Heboh. Nalika kuring gaduh waktos kuring bakal ngadamel tutorial anu kuring arepkeun ngajelaskeun sadayana prosés, ti mimiti masang Heboh dugi ka ngonpigurasi sakumpulan program ringan sareng nyiptakeun téma urang sorangan.

    Upami katingalina saé pikeun anjeun, nalika kuring ngagaduhan éta kuring tiasa ngabéjaan yén anjeun tiasa nyebarkeunana di dieu.

    Ku jalan kitu sareng idin anjeun, kuring ngalakukeun sakedik iklan dina halaman wéb kuring, upami anjeun hoyong anjeun tiasa ningali, upami anjeun resep kana publikasi naon waé:

    http://niferniware.sytes.net

    Salam!

    1.    msx cenahna

      Upami Heboh 3 kuring pasti resep pisan.

  7.   Fernando cenahna

    Hiji detil, bagian wéb tempat kuring host kana blog nyaéta:
    http://niferniware.sytes.net/blog/

    Hapunten bilih aya kalepatan.

    A surak!

    1.    elav cenahna

      Abdi resep pisan kana blog anjeun ... ^^

      1.    Fernando cenahna

        Hatur nuhun pisan Elav, kami kontak!

        Kaleresan aya dina cara DesdeLinux ngajurung kuring pikeun nyiptakeun blog kuring nyalira. Jauh pisan waktos nganggo Linux ngajantenkeun ngémutan nyumbangkeun naon-naon dina ^^

        Salam!

  8.   msx cenahna

    "Upami anjeun panasaran naha kuring milih opat hurup pikeun méja kuring, kuring émut kana opat basa inti tina DNA."
    Amis, +1

    1.    anti cenahna

      Nya, kuring resep pisan nempatkeun DNA dina méja kuring.

  9.   halonsov cenahna

    Pitunjuk anu saé, hatur nuhun ka anjeunna Kuring ngan ukur nyobian xmonad, sareng kuring ngan ukur tiasa nyarios hiji hal ngeunaan éta, kuring murag asih ka xmonad, kuring masih henteu nempatkeun tangan kuring sareng sanaos sigana alus teuing, hatur nuhun pisan

    1.    msx cenahna

      Alus pisan, kami arepkeun kamajuan anjeun pikeun ngajantenkeun tulisan! =)

  10.   Victor Salmeron cenahna

    Pangimeutan alit kanggo guru besar, dina waktos ayeuna kuring nganggo Debian stable (Squeeze), sareng masang dmenu, éta henteu dilakukeun ku aptitude install dmenu, tapi ku paket alat-alat anu teu tiasa dianggo, sanésna, tutorial anu saé

    1.    anti cenahna

      Kaparigelan anu sami ngalereskeunana. Ogé tarekatna langkung ngartos sapertos kieu.

  11.   tarantonium cenahna

    Pitunjuk ieu nganggap anjeun parantos dipasang x.
    Bisi kuring, kuring mimitian ti konsol debian hungkul, anu kuring kedah masang xorg. Éta henteu kunanaon, kumargi anu urang pilari nyaéta lingkungan anu minimalis, dimimitian ku debian tanpa lingkungan grafis, masang xmonad dina modeu saderhana sareng nambihan alat sareng program konsol, sapertos mutt, irssi, jst.

    1.    anti cenahna

      Leres, Xs parantos aya. Pos éta nyalira ngajelaskeun yén kuring ngamimitian ku Debian minimal anu parantos dilakukeun ku Openbox.