Gruvbox témákról lesz szó – újra. A mai részben folytatjuk a rendszer gruvbox színsémával való feltöltését. Talán észrevettétek az első részben nem az I3wm beállításával kezdtem. Ez lesz a mai kezdő téma. Az elején két kiegészítővel kell kezdenem. Felmerülhet, hogy a magyarch alap témája és az általam használt színösszeállítás nem ugyanaz. Ez azt jelenti, hogy szakítottam a magyarch disztribúcióval? Nem! A színek, a témák csak a külcsín. Egy disztribúció értékét a hozzáadott programok, a beállítások és az elv, ami szerint felépül adja. A másik kiegészítő már inkább udvariassági, és illemtani. Amikor elkezdtem a témát feldolgozni több helyen is körbenéztem, mit, hogyan és miképp. Sok helyen osztanak meg az embered az asztalukról, a rendszerükről képet. Ami jó dolog, mert van ami inspirál és hasznos tippeket lehet összeszedni. A problémám inkább a hozzászólásokkal van. Jó esetben is a „nem jó” vagy annak kissé kevésbé szép verzióit emlegetik. Egy kinézet az nagyon szubjektív. Ami nekem tetszik, az másnak nem, vagy akár nagyon zavaró is lehet számára a színösszeállítás. Van ilyen, de ez nem azt jelenti, hogy nem jó, csak annyit, hogy neki nem tetszik. Próbáljunk meg olyan környezetet teremteni, ami nekünk megfelel és ezzel párhuzamosan a kulturált véleménynyilvánítást is elsajátítani. A Linux rendszereket korban, nemben, kultúrkörnyezetben és szokásokban eltérő emberek használják, így az ízlésünk is más.
Az asztali környezet gruvbox beállítása
Itt nem az egyes programokat állítjuk be, hanem az asztal „meztelen” kinézetét, amikor nincsenek felhasználói programok nyitva. Ez nem minden rendszernél lesz fontos, hiszen egy Gnome, KDE, XFCE és hasonlónál, ha a téma változik, akkor az egész asztali kinézet változik. Ezek a nagyobb környezetek egy komplett egészet alkotnak, aminél viszonylag könnyű a dolgunk. A több munkát azok az ablakkezelők okozzák, aminél nincs így rendszerbe foglalva a témázás, hanem mi legóztuk össze a kinézetét.
I3wm gruvbox színezése
Ezt használom, ezt tudom bemutatni. Az I3wm színezése faék egyszerűségű. Egy nagyon átlátható táblázatszerűséget kell kitölteni. Ez nem jelent gondot, így aki már színezett I3wm-ez, neki a gruvbox színséma sem okoz gondot. Eldönti mi milyen legyen és beírogatja.
Én egy nagyon kellemes megoldású közel gruvbox megfelelésű konfigurációt találtam.
Maga a github tároló sokkal több programhoz ad konfigurációt, így érdemes lesz átnézni.
Nekünk csak a konfiguráció egy része kell:
####### #THEME# ####### # set primary gruvbox colorscheme colors set $bg #282828 set $red #cc241d set $green #98971a set $yellow #d79921 set $blue #458588 set $purple #b16286 set $aqua #689d68 set $gray #a89984 set $darkgray #1d2021 # font used by i3 for titles and bars font pango:Hack 8 #start of bar section bar { position bottom status_command i3blocks -c ~/.config/i3/i3blocks.conf colors { # bar background color background $bg # text color used for blocks that do not have a color specified. statusline $yellow # workspaces section # border backgr. text focused_workspace $aqua $aqua $darkgray inactive_workspace $darkgray $darkgray $yellow active_workspace $darkgray $darkgray $yellow urgent_workspace $red $red $bg } } #end of bar section #start of window title bars & borders section # green gruvbox # class border|backgr|text|indicator|child_border #client.focused $green $green $darkgray $purple $darkgray #client.focused_inactive $darkgray $darkgray $yellow $purple $darkgray #client.unfocused $darkgray $darkgray $yellow $purple $darkgray #client.urgent $red $red $white $red $red # blue gruvbox # class border|backgr|text|indicator|child_border client.focused $blue $blue $darkgray $purple $darkgray client.focused_inactive $darkgray $darkgray $yellow $purple $darkgray client.unfocused $darkgray $darkgray $yellow $purple $darkgray client.urgent $red $red $white $red $red #end of window title bars & borders section
Ahogy látni, kétféle színösszeállítás is van.
A fenti kódsort a i3wm konfigurációnkba illesztve, a régi szín-összeállítást kikommentelve lehet aktivizálni.
A megoldás előnye, hogy előbb definiálja a színt egy változóba, majd azt használja.
set primary gruvbox colorscheme colors
Így nem kell mindenhol átírni, csak itt a felsorolásban, ha valamelyik színt változtatni akarjuk. Kis utómunka szerintem szükséges lesz, de alapnak megfelel.
Az alap kinézet így néz ki:
A keretek színe és a fülek, felíratok stb. elég jól harmonizálnak.
A bárról nem tudok képet berakni mert nem a saját i3wm megoldást használom. A fenti változós megoldás előnye, hogy egyszerre változtatható a panel színe a rendszerével.
Nem feltétlen kötelező, de ha a konfigurációból indítunk olyan programot, aminél színeket is definiálunk, azt is érdemes erre a változós megoldásra átírni. Így a változóban megadott szín változtatásával nem csak i3wm színei, de az indított program színei is átállnak az új sémára. Én a példában az alttab programot indítom:
exec –no-startup-id alttab -fg „#2E8B57” -bg „#2F2B26” -frame „#2E8B57” -t 128×150 -i 127×64
Itt konkrétan megadott színeket érdemes valami ilyenre átírni:
exec –no-startup-id alttab -fg „$gray” -bg „$blue” -frame „$gray” -t 128×150 -i 127×64
Ha arra van lehetőség, és az adott program azt kezelni tudja. Nem feltétlen mindegyik program ismeri fel a változóként megadott értékeket!
Tipp: ha a szerkesztő programban színkiemelő, szín kódokat ténylegesen színként megjelenítő plugint használsz, akkor a set $green #98971a nem a legideálisabb jelölési mód, mert a $green-t nem a #98971a színkód szerint, hanem a saját elképzelése szerint green színnel jelöli majd be. Ami zavaró lehet. Így a set $green0 #98971a vagy bármi olyan, ami nem hivatalosan szín név jobb lehet.
Háttérkép
Ez egy olyan téma, amit mindenkinek saját hatáskörben kell megoldani. Érdemes a gruvbox színekkel harmonizáló képet választani, mert akkor egységesebb lesz a kép.
Én a lehető legegyszerűbb megoldást választottam, ami nekem régóta bevált: egy színt használok. Ezt, ha jól választja meg az ember, akkor mindegyik témához megfelel, semleges és nem vakít., de minden jól látható rajta.
Én az i3wm konfigjába írom be, de bármely, a rendszerrel induló megoldás is jó:
exec_always –no-startup-id hsetroot -solid „a szín amit akarok”
Itt logikusan figyelni kell a keretszíntől eltérő színre, mert ha egyezik, akkor nem látni a keretet.
Itt már jól jön az előző részben összeszedett mintasablon, kép, ami mutatja a színeket és a kódokat.
Kitérő
Nagyon szubjektív véleményem, hogy érdemesebb egy (vagy nem túl sok) színben a beállításhoz harmonizáló háttérképet kiválasztani, majd azokat használni. A folyamatosan változtatgatott háttérkép szép, és valóban attraktív, de sokszor zavaróan felborítja a színegyensúlyt. A gruvbox színsémánál ez kifejezetten fontos, mert meleg színharmóniát használó retró stílus, így könnyen ütközik a háttérkép színeivel.
Conky
Bár több és szép conky sablont lehet találni a Google varázsos erejével, de egyik sem volt jó nekem. Vagy a régi leírónyelv szerint készült, vagy túl nagy munka lett volna átírni. Így marad a kézi munka nálam.
A conky nagyon jó példa lehet egy másik témára is. Szöveges szerkezete van, amit szerkeszteni kell. Ha nem gyakoroljuk be, illetve nem olyan szövegszerkesztővel dolgozunk, ami megfelel, akkor csak kínlódás lesz a munka. Ha pedig nem évezzük, nem megy gördülékenyen, akkor féluton felhagyunk a beállításokkal.
Az eredeti conky így nézett ki nálam:
A szerkesztendő részt is hamar megtalálja az ember:
-- Default colors and also border colors --default_color = 'red', . . color1 = '#BF3030', color2 = '#c3cdc8', color3 = '#28804D', --default_outline_color grey own_window_colour = '#2F2B26',
Ha a sublime text-et használjuk, akkor a színezős pluginokat és a ColorPicker-t aktiválni kell és az egész változtatgatás csak mechanikus munka.
Megnyitjuk a sablont fájlt, amiben a színeke képeit tároljuk és a színkódokat átírjuk, vagy ami nekem most gyorsabb volt a Colorpicker-el gyorsan „kiloptam” a színt.
Az új verzió más gruvbox harmóniával indul.
A conky és társai mindig felvetik a kérdést: érdemes-e a színeket átírni. Igen, érdemes, ha már van egy, vagy pár olyan conky-m amit használok. Ha nincs, és napi szinten kapkodom, hogy egy másik jobb lesz, mert az többet tud, akkor nem.
Jogos, ha hiányoltad az alacritty gruvbox sémát
Gyakorlatilag az alacritty a végtelenségig beállítható, majdnem olyan kellemesen használható, mint a kitty (ez persze szubjektív!). Itt kissé más a beállítási lehetőség, nem külön állományban van, hanem a ~/.config/alacritty/alacritty.yml részben a color szekcióban található a színek megadása. Ezen az oldalon találhatunk megfelelő színsémát.
A régi color blokkot töröljük, az újat bemásoljuk.
Itt is és a kitty-nél is érdemes egy órát rászánni, hogy a leírásokat átfussuk, mert nagyon sokféle beállítása van, amit érdemes lehet ismerni, és nem csak a színeket gruvbox sémára átállítani, hanem pld. a gyorsbillentyűt is összehangolhatjuk.
Amikor keresgéltem ezen a téren a fenti oldalon találtam egy érdekes linket: https://github.com/toggle-corp/alacritty-colorscheme, ami a színséma váltást automatizálja, illetve a vim-mel is szinkronizálja a színeket. Viszonylag sok sablont le lehet szedni hozzá, így mindenki megtalálja a sajátját. Bár én mindig a gruvbox színsémát emlegetem, de bármilyen sémát használatuk. A módszer ugyanaz.
A többi program gruvbox beállítása?
Itt azokra gondolok, amikhez nincs gruxbox séma és nem is lehet a konfigurációs állományt szerkeszteni. Ezeknél két lehetőség van: nem lehet állítani a színeket, így semmit nem tudunk semmit tenni. Ez van, nem kell szeretni, de van ilyen. A másik lehetőség, hogy a program saját beállításaiban lehet keresgélni olyant, hogy színek beállítása. Itt kisebb, nagyobb kényelemmel beállíthatjuk a színeket. Bár a beállítás nem túl nagy feladat, de mindegyiknél keressünk rá a leírásban, hogy a beállítások kiexportálhatóak, vagy legalább megadják a konfigurációs fájl helyét és azt menteni tudjuk.
Nekem nem egységes a kinézet!
Igen,, ha itt-ott összeszedett, mások által konfigurált színezést használunk, akkor ez előfordul. De már nem lesz idegen a beállítás, az egységesítés. Ha eltérnek a szín árnyalatai pld. a terminál és az I3wm esetén (nekem eltértek), akkor sajnos kis manuális munkával átírhatjuk őket.
Kitérő:
Milyen jó lenne, ha központilag, egy helyen tudná tárolni a Linux rendszer a színeket, változóban és csak arra hivatkozhatnánk. De sajnos nem mindegyik program képes erre, illetve nem is nagyon van akarat ennek a megvalósítására, mert már annyira elterjedt ez az programonkénti konfiguráció, hogy nem is lenne hatékony mindegyiket átírni egységesre…