Sice byl uveden již v minulém díle, ale pro přehlednost znovu dávám do přílohy konfigurační soubor subtle.rb. Postupně se nyní budeme věnovat jednotlivým sekcím konfiguračního souboru a možnostem změnit chování a vzhled prostředí.
K první sekci globálních nastavení se již nebudeme vracet (navíc jsem neměl potřebu ji vůbec nijak měnit) a pustíme se do sekce Screen, kde se nastavuje zobrazení panelů a jejich komponenty. Na začátku sekce je poměrně rozsáhlá nápověda, kde jsou dvě zásadní informace: vzhled a umístění vlastních panelů a komponenty, které mohou být jejich součástí.
První položka pro vzhled panelů – stipple – pro nás není nijak důležitá, proto jí hbitě přeskočíme. Další dvě, top a bottom, už jsou mnohem zajímavější a dokladují, že lze použít jeden či dva panely nahoře/dole/nahoře i dole. Panelové komponenty jsou následující:
- views – obdoba virtuálních ploch
- title – titulek právě aktivního okna
- tray – oblast pro ikony systémových aplikací – může být použito pouze jednou
- keychain – zobrazí aktuální řetěz klávesových zkratek – může být použito jenom jednou
- sublets – oblast pro instalované Sublety
- sublet – jméno konkrétního Subletu, umístěného v panelu
- spacer – nastavitelná mezera
- center – značka pro zarovnání komponent na střed
- separator – vloží oddělovač
Defaultně je nastaven horní panel s následujícím obsahem komponent:
top [ :views, :title, :spacer, :keychain, :spacer, :tray, :sublets ]
Spodní panel je definován jako prázdný a není proto vůbec zobrazen. Pro bližší přiblížení možnosti konfigurace panelů uvedu část konfiguračního souboru, který používám na notýsku:
bottom [ :views, :title, :spacer, :keychain, :spacer, :tray, :spacer, :clock2, :battery, :cpu, :memory, :wifi ] top [ ]
Proti výchozímu nastavení je panel umístěný dole a jsou na něj přidány navíc tyto komponenty: mezera a pět Subletů. Komponenta sublets je naopak vynechána. Výsledný vzhled základní plochy je vidět na obrázku:
Dále následuje sekce nastavení stylů pro jednotlivé komponenty, jako jsou plochy, okna, Sublety apod. Ani zde se nejeví žádné požadavky na změny, takže postupujeme dále.
Pak totiž následuje mnohem zajímavější sekce, a to sice Gravities – nastavení výchozí velikosti a umístění otevíraných oken. Jak již bylo uvedeno, je definováno devět variant pro matici 3×3 sloty a jedna extra pro jednotlivá okna v Gimpu. Umístění je definováno pomocí čtyř čísel: první dvě jsou souřadnice X a Y se středem uprostřed a poslední dvě pak šířka a výška okna. Všechny jednotky jsou v % velikosti obrazovky. Pro lepší představu je v galerii umístěno 27 obrázků pro všechny varianty s otevřeným jedním, dvěma a třemi okny aplikací.
Tím se dostáváme k jedné z nejdůležitějších sekcí konfiguračního souboru – nastavení klávesových zkratek a myších akcí – Grabs. Zkratky se mohou seskupovat do řetězců, které se skládají z tzv. modifikátoru a jedné nebo seznamu kláves. Na začátku jsou v nápovědě definované všechny modifikátory=speciální klávesy a tlačítka myši. Pak je tam přehled akcí, které se pomocí Grabs mohou provádět:
- spustit funkce samotného Subtle
- spustit definovanou aplikaci
- přepínat mezi definovanými Gravities
- spustit proceduru jazyka Ruby
Pak už následuje výchozí nastavení zkratek a akcí, takže z nich vyberu několik zajímavých:
- přechody mezi plochami Win+Shift+1–4, Win+1–4 → čísla jsou z běžné klávesnice
- velmi nepříjemný cyklický přechod mezi plochami pomocí kláves + a – z numerické klávesnice. Snadno se zapomenete a jste rázem na jiné ploše, nečekán, nezván…
- opětovné načtení konfigurace,restart a ukončení Subtle
- posun nebo změna velikosti okna
- výběr módu zobrazení oken
- výběr aktivního okna
- cyklická změna Gravities – používají se čísla z numerické klávesnic, jsou navržené i varianty pro případ, kdy numerická klávesnice není k dispozici
- spuštění programu – je nastaveno pouze spuštění terminálu přes Win+Enter
Nastavení tagů jsem neměnil, ale jsou v nápovědě k dané sekci podrobně popsané včetně několika příkladů, seznamu vlastností a výchozího nastavení. Dále jsou definovány 4 základní plochy, které bylo možné vidět již na předchozích obrázcích. Jak bylo asi patrné z obrázku panelu v notýsku, mám toto nastavení změněné:
view "1", "terms|default" view "2", "browser" view "3", "gimp_.*" view "4", "editor"
V tuto chvíli je nutné připomenout pouze jednu „maličkost“! Dost velká část uživatelů se prioritně nachází na první virtuální ploše. Na tom by nebylo ani nic divného, natož špatného. Problém ale nastane v momentě, kdy spustíte zrovna a právě Gimp. Vypadá to, že se něco děje, že se aplikace spouští, ale nikde není nic vidět… Řešení je opět velmi jednoduché – stačí se přepnout na třetí virtuální plochu a ejhle – Gimp tam již číhá na použití! Pokud ho necháte v původním nastavení s více okny, tak to na displeji vypadá následovně:
Ve výchozí konfiguraci už nic víc aktivního není, pouze podrobná nápověda k Subletům a možnostem Hooks – propojení skriptů v jazyce Ruby s určitou událostí WM. Je zde přehled existujících Hooks a příklad jejich použití. Přesně podle pořadí se nejprve budeme věnovat Subletům. Pro jejich použití v panelu jsou nutné tři kroky:
- instalace do systému
- umístění specifikace do konfiguračního souboru
- umístění instalovaných a konfigurovaných Subletů ve zvoleném pořadí do vybraného panelu
Jak již bylo uvedeno, Sublety jsou Ruby skripty, které rozšiřují možnosti panelů. Jsou k dispozici ve vlastním repozitáři a je možné je do systému instalovat pomocí aplikace Sur, např. příkazy
#~$ cd ~/.local/share/subtle ~$ sur install memory
Celý průběh instalace je vidět na obrázku:
Po instalaci prvního Subletu se vytvoří v $HOME/.local/subtle
další podadresáře:
- icons – soubor
memory.xbm
- specifications – soubor
memory-0.3.spec
- sublets – soubor
memory.rb
Všechny tři uvedené soubory dávám do přílohy pro představu, co vlastně obsahují. Tím máme naplněný první ze tří bodů pro použití Subletů. Pro další dva kroky musíme zpět do konfiguračního souboru subtle.rb. Jako první specifikujeme Sublet tím, že do sekce Sublets přidáme následující kód:
sublet :memory do interval 55 end
Pak už stačí jenom provést opětovné načtení konfigurace nebo restart WM pomocí Win+Ctrl+r nebo Win+Ctrl+Shift+r a výsledek je viditelný na obrázku:
Pokud bychom chtěli vědět, jak je možné jednotlivé Sublety konfigurovat, stačí jednoduše zadat příkaz:
# ~$ sur config memory
a výsledek se objeví následovně:
V ukázkovém příkladu jsme použili pouze dva kroky a vůbec neměnili konfigurační soubor v sekci Screen. Zde je ve výchozím stavu v horním panelu umístěna jako poslední položka :sublets. Ta zajistí, že se automaticky zobrazí všechny instalované a definované Sublety. Pro dokončení provedeme přidání ještě dalších dvou Subletů: clock2 a cpu.
# ~$ sur install clock2
sublet :clock2 do style :foobar date_format "%d%m%y" end
# ~$ sur install cpu
sublet :cpu do interval 55 end
V konfiguračním souboru jsou Sublety v pořadí memory, cpu a clock2. Jak je vidět na obrázku:
v panelu jsou zobrazené v opačném pořadí. Pokud chceme pořadí zobrazení nastavit, stačí v sekci Screen vynechat položku :sublets a místo ní dát všechny požadované Sublety. Pokud budou Sublety pouze specifikované, ale ve Screen nebude položka :sublets ani žádný samostatný Sublet, nic se samozřejmě nezobrazí. Pokusná konfigurace Screen je zde:
screen 1 do top [:views, :title, :spacer, :keychain, :spacer, :tray, :memory, :cpu] bottom [:clock2]
Výsledek je na obrázku:
Jako poslední si ukážeme použití Hooks. Provedeme proto jednu instalaci:
# ~$ sudo aptitude install parcellite
a přidáme do systému aplikaci pro administraci schránky. Nyní doplníme konfiguraci tak, aby se při startu Subtle objevila ikona Parcellite v systémové oblasti panelu. To se provede samozřejmě v sekci Hooks, kam se přidá tento kód:
on :start do Subtlext::Subtle.spawn "parcellite &" end
Nyní už nestačí opětovné načtení konfigurace, ale musí se provést restart WM nebo jeho ukončení a následné spuštění. Výsledek je pak viditelný na obrázku:
Jak je asi zřejmé, možností konfigurace je dost a není zase tak složité WM nastavit podle svých představ. Asi nemá smysl dál popisovat příklady, takže odkážu pouze na přílohu subtle-notes.rb, kde je kompletní nastavení, které mám na notýsku. Jak je z konfiguračního souboru zřejmé, používám tyto Sublety: clock2, battery, cpu, memory a wifi. Tím se vrátím k obrázku základní plochy. Tam jsou vidět na spodním panelu z levé strany – čtyři očíslované virtuální plochy – Views, ikona Parcellite v systémové oblasti, čas a datum (použito přídavné oddělení pomocí znaku /), stav baterie (ukazuje nějaký nesmyslný údaj 239 %, ale zatím jsem nezkoumal, proč tomu tak je), zatížení procesoru (na notýsku je jenom jedno jádro, jinak podle příkladu ukazuje všechna dostupná jádra/vlákna), obsazení RAM (ukazuje obsazenou/celkovou v MB) a stav WiFi (SSID a sílu signálu). Všechny Sublety jsou automaticky oddělené grafickými symboly.
Tímto bych považoval popis WM Subtle za dostatečný a na závěr bych se zaměřil na jeho výhody a nevýhody, tedy přesněji řečeno: proč jsem si ho nakonec nevybral pro vlastní použití. Jako výhody bych jednoznačně viděl toto:
- výchozí panel/panely
- poměrně jednoduchá, ale dostatečně rozsáhlá možnost konfigurace samotného WM
- jsou k dispozici Sublety jako pluginy do panelů
- je možné použít Ruby nejen pro konfiguraci, ale i pro spouštění kódu či tvorbu vlastních Subletů a dalších rozšíření
Nevýhody (pro mne významné a rozhodující) bych viděl zde:
- manuální styl správy oken, kdy se okna částečně překrývají a je složitější se dostat k tomu „správnému“
- panely jsou pouze pro zobrazení, jinak nemají žádnou další funkci. Hlavně chybí výběr oken myší
- standardně definované zkratky, které reagují na tlačítka numerické klávesnice (přesun mezi Views)
Pokud ale někdo tato omezení nebude brát jako zásadní problém, určitě může Subtle využívat k plné spokojenosti
V příštím dílu seriálu se zaměříme na další tiling WM, kterým je XMonad.