I3wm és i3gaps beállítás folytatása

i3wm és i3gapsI3wm illetve i3gaps. Ebben a részben folytatjuk az ismerkedést, és igyekszem testreszabni a felületet. Miért? Ez a kérdés érkezett be, és jogosan. Miért kell ennyit foglalkozni ezzel és macerálni a rendszert? Hiszen ez idő és energia. A Linux egyik nagy előnye a teljes testreszabhatóság, abban az értelemben, hogy itt minden rendszert érintő és a felhasználói munkát segítő beállítás olyanra állítható, ami a célunkat szolgálja. Bár ez igencsak reklám szövegnek tűnik, de teljesen igaz. Jelen esetben az ablakok, az asztalok, a programok úgy és ott jelenjenek meg, és “úgy alakulnak az ablakok, ahogy az nekem kell” témát állogatjuk. Ez munka. De ha eljutunk oda, hogy kiválasztjuk a Linux disztribúciót, az asztalkezelőt, a megfelelő program összeállítást, akkor a beállítások nagyon hosszú ideig jók lesznek.

Én például a tint2-es panelomat két éve pont úgy használom, ahogy akkor beállítottam. A kérdés másik része a mennyi idő egy ilyen beállítás. Az első hosszú, hiszen a rendszert nem ismerem, a i3gaps idegen még nekem. Ez a hosszú több napot jelent, de megtérül. Ha kész, akkor csak apró kis módosításokat kell megtenni, ha egy új programot akarok gyorsbillentyűzni, vagy asztalhoz rendelni.

Az i3wm alap ablakkezelési módja csempézős, de képes a lebegő ablakokat is kezelni. Ez nem is újdonság, és az egérrel mozgatása egy kényelmes, gyors megoldás. Én az alap kezelési módot nem bántottam, de pár kisebb szabályt meg kellett hoznom.

Az i3gaps lebegő ablakok mérete

A lebegő ablak minimális méretét érdemes megadni. Én a libreoffice lebegő ablaknál tapasztaltam, hogy igen kicsire összerántja. Bár nem biztos, hogy másnál is így jár el, de ha igen, akkor a lebegő ablakok minimális értékének a beállítása segít:

floating_minimum_size  x 

Az én beállításom:

floating_minimum_size 100 x 75

Hasonlóképp a maximum is megadható, de én azt nem adtam meg, mert egérrel, vagy billentyűzettel állítható.

A lebegő ablaknak van egy érdekes és jól hasznosítható tulajdonsága: lebeg, és mindig felül van. Így használhatjuk egy olyan kis ablaknak, ahol jegyzetet, vagy akármit tartunk és minden esetben az összes ablak felett marad. Naptár, cheat ablak, videó, videokonferencia ablak, vagy egy súgó… Ráadásul bármely méretben, és bárhol elhelyezhető.

Alap elrendezési beállítások az i3gapsnél

Egyéni ízlés szerint lehet a beállításokat meghatározni, vagy hagyni alapértékeken. Én szeretem, ha előre meghatározott módon jelennek meg az ablakok.

Két beállítást érdemes pontosítani. Az alapértelmezett orientációt a default_orientation horizontal / vertical / auto megválasztásával. Ezt akkor kell változtatni, ha az auto, az alap beállítás nem jó neked. Egy fekvő, széles monitoron függőleges osztást használ. Ha felismeri a monitort és neked jól jelenik meg, akkor nincs teendő. Ha nem, akkor átírod a bejegyzést és már jó is lesz.

A mások nagyon fontos beállítás a ablakok elrendezése. Ezt a workspace_layout default / stacking / tabbed állíthatod, én a workspace_layout tabbed beállítást kedvelem.

Kevésbé fontos az ablakcím igazítása, de ha kell ezt is állíthatod. Ha igényed van rá, akkor az új ablakok szegélyét is megadhatod, így elválik a többitől. Elrejtheted a monitor kávájánál a szegélyeket is. Én ezeket nem állítottam.

Ne kapjon fókuszt a megnyíló ablak

Logikus elgondolása az i3wm és i3gaps ablakkezelőnek, ha megnyitsz egy programot az kapjon fókuszt, és dolgozni akarsz vele azonnal. Hiszen azért nyitottad meg. De ez nem mindig van így. Ezért megadható a fókusz nélküli indítás is. Ehhez a no_focus megoldást kell alkalmazni. Itt a https://i3wm.org/docs/userguide.html#command_criteria oldalon elég sok kritérium található, komoly megoldásokat is megadhatunk. Én – a leírásban szereplő – egy beállítást tettem meg: no_focus [window_role="pop-up"] , így nem kapnak a felugró ablakok fókuszt.

A programok ablakbeállításai

Talán az egyik legmunkaigényesebb, de megtérülő faladat. Egy adott program indítási opciót az ablak és munkaasztal szempontjából előre definiálni lehet. Így megadható minden paraméter, ami ezt érinti előre, és induláskor már úgy és ott jeleni meg, ahol neked az kell.

Bár a beállítások nagy lehetőséget adnak, de mindenképp érdemes a praktikusságot szem előtt tartani: nem feltétlen muszáj az összes létező program indítását előre minden paraméterben meghatározni. A legtöbb programnál az alapbeállítás jó lesz. A másik, bár praktikussági ötlet: kategorizálj. Legyen egy blokk (kommentsorral elválasztott részek) a konfigurációban a lebegő ablakokban indulóknak, az adott monitorra, vagy az adott munkaasztalon megjelenő programokhoz. Így csak copy/paste a szabály és a program nevét kell átírni. Villámgyorsan lehet sok szabályt megadni így.

Csak ízelítőnek pár, ezt amúgy is magadnak kell összerakni. A példák a Magyarch configjából valók.

for_window [class="Gimp"] move workspace $ws5

A Gimp az 5-s asztalon nyíljon meg. Ezzel egy-egy asztalra rendezheted már indításkor a szükséges programokat.

for_window [class="(?i)atril|pavucontrol|lxappearance|mupdf|sxiv|feh"] floating enable

Láthatóan halmozhatod is a programok felsorolását, ami kényelmes lehet: egy sorba kerülnek amik egyforma szabályt követnek. A lebegő ablakban megjelenített programokat sorolta fel a Magyarch disztribútor, és a (?i) hozzátételével a kis vagy nagybetűs kezdetűekre is vonatkozik a szabály.

for_window [class="(?i)mpv"] floating enable, resize set 1280 600, move position center, focus

Az Mpv vagy a mpv lebegjen, a mérete 1280*600 legyen, kapjon fókusz és középre igazítja a monitoron. Szuper.

Gyakorlatilag bármely beállítási lehetőséget megadhatod. Érdemes kicsit kísérletezni, és a fontosabb programokat beállítani.

Ha nem tudod a beállítandó program adatait, nevét, osztályát, akkor használd az xprop programot. Terminálban elindítod, majd a kérdéses programra kattintasz és kiír mindent.

Bár a leírás egy ilyen formátumot is mutat: assign [class=”^URxvt$”] number 2, azaz kis nyilacskával küldi át a kettes munkaterületre a programot, de a saját jól felfogott érdekemben én nem használom. A lehetőség adott, de én kerülöm.

A leírás szerint megadhatod a munkaasztalokat számmal, névvel és egyéb formátumban is, én itt is a maradi megoldást a $ws# formátumot használom. Kis kitérő.

Munkaasztalok elnevezése i3gaps alatt

# Workspaces ######################################################

# Define names for default workspaces for which we configure key bindings later on.

# We use variables to avoid repeating the names in multiple places.

set $ws1 “1: WWW.. ☢️”

set $ws2 “2: Chat 🤬”

set $ws3 “3: Editor ⚒️”

set $ws4 “4: Music 🍭”

set $ws5 “5: Steam 🎲”

set $ws6 “6: Video 🎬”

set $ws7 “7: Trans 🔰”

set $ws8 “8: Vifm 🗃️”

set $ws9 “9: Spotify 📀”

set $ws10 “10: Terminals 🎯”

Xeoncpu, a Magyarch disztribúcióban nagyon szépen összerakta és bemutatta a lehetőséget. Alapesetben a munkaasztal kap egy számot. Ez a hagyományos megoldás, nagyon hasznos, mert kicsi a tévedés lehetősége, ha így hivatkozol rá: $ws1. Praktikussági okokból kaphat egy nevet is. Ez is hasznos lehet, ha sok asztal van nyitva, és így könnyű váltani arra, amire akarunk. Itt csak akkor lesz valódi értelme, ha az Editor nevű asztalon valóban az editorok, szerkesztők lesznek megnyitva. Ehhez pedig a legfontosabbakat oda kell küldeni megnyitáskor. Illetve adhatunk hozzá kis ikonkákat is, ami jól mutat a panelokon, de tényleges funkciója nincs.

Ha olyan panelt használsz ami ki is írja a munkaasztal nevét, akkor mindenképp érdemes legalább az idézőjelek közé megadni a számát, de egy név és ikon feldobja a panelt.

Automatikus indítású programok az i3gaps-ben

Bár a i3wm és a i3gaps képes automatikusan indítani betöltéskor programokat, de én .xprofile fájlba helyezem el az autostart programokat. Valamivel gyorsabb ez a megoldás. Ha több ablakkezelőt használsz indokolt lehet egyes programokat az ablakkelezőben megszokott mód indítani, ha azoknál eltérő a beállítás, de nálam most nincs ilyen.

Asztalok szétosztása a monitorokon

Ha egynél több monitort használsz, akkor kioszthatod az asztalokat a monitorok közt, azaz hozzárendelheted őket a monitorhoz, és ott nyílnak meg. Beállítás híján az aktív monitoron, ahol az egér áll. Hogy melyik a jobb? Nem tudom. Én kétmonitoros rendszeren egy munkaasztalt mindenképp hozzárendelek az oldalsó monitorhoz, és arra irányítom át az induláskor automatikusan startoló programokat, amiknek futni kell, de ritkán kell használni. Ilyen a Joplin, ami egy weblap mentő alkalmazás, és ha nem fut, akkor nem működik a mentés, de csak ritkábban nézegetem, vagy a shutter, ami egy képmentő, ami jó ha fut (csigatempóban szeret indulni…) de nem minden pillanatban kell.

workspace 10 output HDMI-A-0

Nem egy agysebészet 🙂 Ha nem tudod a monitorok nevét, akkor az arandr megadja a választ.

Ok, mára ennyi, ha elolvastad, a i3wm oldalán tanulmányozod a leírást, akkor nem lehet különösebb gond.

Lesz folytatás is! 🙂