úterý 16. března 2021

Užitečná rozšíření pro Gnome Shell v Ubuntu 20.04

Nedávno jsem mé domácí Ubuntu 16.04 vyměnil za 20.04 a opět jsem musel řešit nějaká ta rozšíření, protože ačkoli Gnome Shell trochu pokročil a drobnými vylepšeními přispěl i Canonical po zavržení Unity a návratu ke Gnome, stále je v GS co vylepšovat a individuálně přizpůsobovat. Některá mnou dříve používaná rozšíření zmizela, nebo spíš nebyla aktualizována, ale naopak se objevilo i mnoho nových. A některá jsou sice funkční, jen autor neaktualizoval podporované verze GS v metadatech, takže se uživatelům skrývají, jako nekompatibilní. Opět jsem si něco dopsal a upravil sám.




Gnome Shell je pro mě stále nejpohodlnější prostředí z aktuální linuxové nabídky, vím to, protože jsem již přes 5 let nepoužíval a ani nezkoušel žádné jiné. Faktem je, že jsem se v linuxu po tu dobu nevrtal skoro vůbec. Je to docela úleva, neřešíte kraviny, které nepotřebujete, jen prostě používáte, co je a co jste si kdysi vyladili do rozumného stavu. A pak vám skončí podpora systému a s novou verzí do toho spadnete znovu, takových lákadel se objeví, jak si opět vylepšit svůj desktop. V základu toho nepotřebuji mnoho, ale když už se pustím do průzkumu, napadne mě spousta vylepšení, která zaručeně zlepší můj život.
 
Nikdy jsem nepotřeboval spouštět cokoli najížděním myši do rohů monitoru, výchozí zobrazování Aktivit najetím do levého horního rohu bylo první, co jsem si vždy vypínal pomocí rozšíření, protože mě náhodné aktivace po strčení do myši otravovaly. Na druhou stranu jsem vždy využíval rozšíření, která mi umožňovala přecházet z plochy na plochu otáčením kolečka, buď u hrany obrazovky, nebo pak na panelu. Také je potřeba vytáhnout Dash (ten levý panel s ikonami oblíbených aplikací) z aktivit, aby se zobrazoval po najetí myší k levé straně obrazovky a nemuselo se kvůli němu přecházet do aktivit. To je ale nyní výchozím chováním v Ubuntu. Základem spokojeného užívání desktopu je pro mě také moitoring systému v panelu, bez něj se cítím.. neinformován. Pak přichází na řadu důležité drobnosti, jako jsou ikony aplikací nad miniaturami oken v náhledu Aktivit pro lepší orientaci a tooltipy s celými názvy aplikací, které se pod ikony v Aktivitách nevejdou. Rozšíření, které umožní zobrazovat na penelu původní indikátory psané pro Unity je také důležité, stále používám ten svátkový. Dále je potřeba zarazit ty nekonečné notifikace o tom, že je někde připraveno okno, o které sice stojím, ale nebylo aktivováno ze strachu, aby mě to nevyrušilo. Tlusté lišty oken, která mám maximalizovaná, zabírají odporně mnoho místa, těch je také třeba se zbavit. To je asi tak všechno z toho, bez čeho se neobejdu, ale lákadel je spousta a objevil jsem další vylepšení, která mi v určitých případech mohou pomoci. I když vždy platí - čím méně rozšíření, tím menší pravděpodobnost problémů a zbytečného mrhání prostředky.

Takže teď k těm reálným produktům, které používám, případně mi přišly zajímavé a potenciálně užitečné. Nadpisy jsou klikací a zavedou vás přímo na stránku konkrétního rozšíření na extensions.gnome.org.

Jedno z úplně základních rozšíření, které mi umožňilo zakázat spouštění aktivit najetím myši do levého horního rohu, zrušit, či přepsat tlačítko Activities (Činnosti v české verzi, nejde mi to přes pysky, ani klávesnici), dát místo něj ikonu, zakázat ho úplně, nastavit barvu a průhlednost panelu, zrušit případné zaoblení panelu na koncích, přepsat téma vzhledu Shellu. Používal jsem pouze likvidaci žhavého (to fakt zní..) rohu, což už umí Shell sám, nastavit si to můžete v aplikaci Tweaks, zaoblení, to už dávno není aktuální, a barvu a průhlednost panelu. Dnes už ho mám vypnuté, protože některé neduhy Gnome/Ubuntu napravilo v základu a jiné nahradí jiná použitá rozšíření.

System-monitor

Monitoring CPU, RAM, swapu, sítě a diskové aktivity v panelu je zkrátka nutnost, je velmi pohodlné vidět na první pohled, co se v systému děje, pokud začne zadrhávat. Důležité je i to, že graf vytížení cpu umí zobrazovat I/O wait, takže pokud se cpu drbe s nějakou periférií a jinak nic netvoří, přičemž systém zadrhává i to z toho poznáte.

 

Windowoverlay icons

V režimu Aktivit zobrazuje Gnome Shell náhledy oken a zvláště pokud je jich více, může být orientace v nich trochu komplikovaná. Toto rozšíření přidá nad každé okno ikonu aplikace ke které patří, což orientaci velmi usnadní a bez toho často na okna koukám, jak husa do flašky. V nastavení si můžete určit polohu ikony nad miniaturou, velikost, průhlednost, i barvu a průhlednost pozadí ikony.
Rozšíření má v současnosti neduh v podobě zanášení logu chybovými hláškami s výpisy zásobníku při přechodu z jedné pracovní plochy na druhou, kdy shell objekty ikon zničí, ale po té je k nim pokus o přístup. Zatím jsem nenašel způsob, jak to z rozšíření opravit, ale předpokládám, že na to přijdu.



V seznamu aplikací v Aktivitách jsou sice poměrně velké ikony, ale názvy aplikací se mnohdy nevejdou celé a může se stát, že nebudete schopni rozeznat dvě aplikace se stejnou ikonou a stejným začátkem názvu, na konci může být například dovětek rozlišující způsob spouštění, který neuvidíte. Toto rozšíření zobrazí celé názvy, i s popisem v tooltipu po najetí myši. Nechápu, že to není výchozí chování GS.
 
 

Dash to Dock

Toto rozšíření vám zpřístupní Dash bez nutnosti lézt do Aktivit, můžete ho mít zobrazený trvale, nebo ho nechat schovávat a vyvolávat najetím k okraji obrazovky. Nabízí i tzv. intellihide mód, kdy se schovává jen pokud do prostoru, kde se zobrazuje, zasahuje nějaké okno. Nemusí být také jen vlevo, můžete ho umístit na kteroukoli stranu obrazovky, nahoru, i dolu.
Dash to dock má bohaté nastavení a tak vám umožní nejen nastavit si tlak a časování pro zobrazení / schování a maximální velikost ikon, ale také možnost klikáním na ikonu aplikace cyklicky přepínat její okna, otáčením kolečka nad Dashem přepínat pracovní plochy, a další drobnosti.
Toto rozšíření je součástí Ubuntu, aby se vzhled a chování Dashe přiblížilo Unity.
 
 

Rozšíření, které se velmi hodí, pokud máte otevřeno mnoho oken jedné aplikace, například tabulkového procesoru, textového procesoru apod. Switcher umožňuje navigaci mezi okny z klávesnice, po aktivaci (Super+W, lze změnit) zobrazí seznam oken a stačí začít psát řetězec, který obsahuje např. otevřený soubor, jehož jméno bývá součástí titulku okna, aby seznam filtroval. Můžete také rovnou vybrat okno stiskem čísla, nebo funkční klávesy (volitelné), které je k oknu přiřazeno, nebo se jen šipkami prodírat seznamem. Nastavení je bohaté a lze si nastavit velikost písma, které je v základu poměrně přerostlé, velikost ikon, máte možnost okamžité aktivace, pokud filtrováním psaním dospějete k jedinému výsledku (prodlevu před aktivací je možno také nastavit) a také si omezit seznam oken jen aktuální pracovní plochou. Zvolit lze i fuzzy filtraci umožňující drobné překlepy.
Součástí je i spouštěč (Super+X) pro spouštění nových instancí aplikací podobným způsobem.
 
 
Gnome udělalo z prostých lišt oken lišty nástrojové, ale ne každé okno tuto možnost využívá a pak místo šetření místem tato tučná lišta naopak překáží, především u maximalizovaných oken. A právě to řeší Pixel saver, který maximalizovaná okna tlusté lišty zbaví a ovládání přenese do hlavního panelu. Pokud chcete maximalizované okno chytit a přetáhnout, stačí kliknout do neobsazeného místa panelu, jako by to byla lišta okna. Já jsem si ještě rozšíření modifikoval tak, aby v panelu vůbec nezobrazovalo tlačítka pro zavření, minimalizaci a maximalizaci okna, které nepoužívám a na panelu mi překáží.


Pokud se na desktopu objeví nové okno, nebo se aktivuje již otevřené, ale třeba v pozadí, nebo na jiné pracovní ploše, a Gnome Shell k tomuto aktu neeviduje přímou aktivitu uživatele, pouze zobrazí notifikaci, že je okno připraveno, ale neaktivuje ho. Toto chování mě v 99,9% vůbec nevyhovuje, např. nemůžu aktivovat okno z jiné aplikace, nebo rozšíření a musím znovu klikat na notifikaci. NoAnnoyance toto chování zruší a okna se aktivují okamžitě.


Původně jsem používal přepínání desktopů otáčením kolečka nad dockem rozšíření Dash to dock, později jsem přešel na toto, které to dělá při otáčení kolečka nad hlavním panelem (kde zrovna nic není). Nakonec jsem funkcionalitu tohoto rozšíření implementoval i do Custom hot corners, když už jsem tam to přepínání pracovních ploch dopsal k rohům.


Když jsem narazil na rozšíření Custom hot corners, které umí nastavit spouštění přednastavených akcí po najetí myší do rohů obrazovky, líbilo se mi zpracování a přišlo mi líto, že to není pro mě. Kdyby to umělo klikat, místo toho najíždění... Tak jsem tam autorovi přidal funkci klikání libovolným tlačítkem. Pak mi přišlo líto, že to neumí akci aktivovat i otočením kolečka myši, večer je to tišší (v případě mé myši). Tak jsem dopsal aktivaci otočením kolečka. Pak mi ale přišlo, že když umím kolečko, mohlo by to také přepínat plochy. Tak jsem dopsal funkci přepínání ploch a možnost volby pro každý roh. Rovnou jsem dopsal i nativní metodu pro akci Show Desktop (minimalizaci, a po té deminimalizaci, všech oken na ploše), protože autor využíval služeb externího příkazu wmctrl, který minimalizoval i mé okno s Conky, jenžto může být asi jedinou mou pohnutkou pro využití této akce. Nemluvě o potřebě zvlášť instalovat wmctrl. A když už přepínám plochy, tak bych tomu mohl dát nějaké možnosti nastavení - ignorovat poslední prázdnou plochu, točit plochy dokolečka (z poslední na první a opačně), volitelně ukazovat při přepínání indikátor ploch.. Když už umím všechno, co rozšíření Top panel workspace scroll, tak proč rovnou nepřidat možnost aktivovat přepínání nad panelem a zbavit se dalšího rozšíření.. Toto je kontroverzní krok, autorovi původního rozšíření se nezamlouvá a sám jsem tak nad tím přemýšlel, je to věc duplikující další rozšíření a mimo původní záběr produktu. Ale ve skutečnosti je to taková drobnost, že to nestojí za řeč a já to tam prostě chci a časem uvidím. Pak mi přišlo líto, že si nemůžu nastavit různé akce na stisk různých tlačítek myši, otočení kolečka zvlášť nahoru a dolu... A tak jsem to přepsal celé a každé možné události z myši jsem pro každý roh dal možnost volby vlastní akce, což dělá 6 kousků - tlak, tři tlačítka, dva směry otáčení kolečka. A to moje myš umí i naklápění kolečka do stran, tomu jsem zatím odolal, na to mám akce namapovány přímo. Na jednom běžném monitoru máte 4 rohy, to můžete mít 24 různých akcí, nemluvě o více monitorech. Původní rozšíření už mělo mezi akcemi spouštění příkazů z příkazového řádku, což dává nekonečné množství možností, ale nastavení není tak pohodlné, jako pouhé klikání do seznamu, nemluvě o běžných uživatelích. Tak jsem začal přemýšlet, jaké další akce bych přidal. Přemýšlel jsem nad přidáním akce umožňující spouštění aplikací, které si vyberete ze seznamu spouštěčů, je spousta aplikací, jejichž spouštěcí příkaz z nabídky aplikací v desktopu nevyčtete, ať už je to gnome-calculator, nebo gnome-screenshot --interactive. Chvíli jsem s tím bojoval a hledal nejvhodnější a nejkompaktnější řešení a pak mě napadlo spojit to s akcí Run Command - přidal jsem vedle řádku pro zapsání příkazu tlačítko s lupou, které vyvolá nabídku všech spouštěčů v systému, vy si vyberete (funguje i vyhledávání psaním) a příkaz, kterým spouštěč aplikaci spouští, se zkopíruje do pole pro zadání příkazu, kde jej máte možnost případně upravit a doplnit např. o soubor, který má aplikace otevřít. Tím se okno pro nastavení tohoto rozšíření stalo i efektivním nástrojem pro vyhledávání příkazů pro spouštění desktopových aplikací. Přidal jsem i pár systémových akcí a mám další nápady na akce sovisející s navigací po desktopu.
Noo, a pak jsem stále přemýšlel, jak do toho zakomponovat Hot Edges a nakonec mě napadlo, že bych mohl udělat každý z rohů s možností expandovat horizontálně, i vertikálně, čímž pokryji jak rohy, tak hrany, podle přání každého uživatele. Tady je již jasné, že vůbec nemá smysl dávat pull requesty původnímu autorovi a udělám z toho nové rozšíření pod mou správou.


Sám jsem si při psaní a debugování rozšíření zvykl na používání pravého horního rohu - levé tlačítko myši aktivuje Aktivity, pravé najde okno Firefoxu, otočení kolečka nahoru aktivuje okno pro správu rozšíření, otočení kolečka dolu zas editor. V levém rohu jsem si na pravé tlačítko myši nastavil uspání systému a otočením kolečka nahoru zamknu obrazovku. Vlastně se mi to asi používá přirozenějš, než případné klávesové zkratky, ale pokud si toho člověk nakliká víc, může být trochu náročnější si vše zapamatovat. Na druhou stranu nikdo neříká, že je nutno nastavit si akce na všechny spouštěče, hlavní je, že jsou tu možnosti na výběr.

Aktuální verze na mém githubu 

Ale pozor, je to zatím ve vývoji, občas se může stát, že tam zapomenu chybku, i když se snažím, aby tam bylo vždy vše funkční. Také v tomto blogu aktualizuji popis možností.


Toto rozšíření je přímo součástí Ubuntu 20.04, není třeba jej přidávat, umožňuje zobrazovat původní indikátory určené pro panel Unity. Můj svátkový indikátor tak v Gnome Shellu funguje bezvadně a není třeba ho přepisovat do javaskriptu.


Vlezete do Aktivit klávesou Super (nebo třeba k tomu určeným tlačítkem myši), myší ukážete na okno, které zrovna není aktivní, Aktivity stejným způsobem zavřete, a máte před sebou stejné okno, které tam bylo předtím. Zdá-li se vám takové chování nevyhovující, toto drobné rozšíření to opraví - tedy Aktivity opustíte s aktivním oknem, na které jste ukázali, i když jste na něj neklikli. Super > ukážu myší > Super a mám přepnuté okno.
Bohužel autor na toto rozšíření již řadu let prdí, takže v aktuálních verzích GS není funkční a náhradu jsem žádnou nenašel, ale mně to nedalo a po chvíli pátrání ve zdrojácích GS jsem zjistil, kam se nově "připíchnout".
Upravenou verzi funkční v Ubuntu 20.04 najdete zatím na mém githubu:
Pokud autor v dohledné době nezareaguje na pull request, přidám to na extensions.gnome.org jako nové rozšíření sám.


Klasický spodní panel s tlačítky pro jednotlivá otevřená okna, tak jak je známe původního Gnome a většiny ostatních okenních prostředí. Sám nepoužívám, ale něco do sebe to má.
 
 



 

Places status indicator

Menu s místy ve filesystému do hlavního panelu, urychlí přístup k diskům a záložkám.
 
 
 
 
 
 
 
 
 
Oproti klasické inverzi barev, kde se oranžová mění na světle modrou a modrá na žlutou, neinvertuje toto rozšíření barvy, ale pouze jejich intenzitu, tudíž zachovává odstín a výsledek je daleko přirozenější a příjemnější na koukání. Také čistou bílou (ffffff) nepřeklápí do totální černé, ale tmavě šedé (252525), což čitelnost invertovaných stránek posouvá velmi výrazně k lepšímu. Problém je trochu s vyhlazovaným písmem s barevným hintingem, ten po inverzi jasu sníží čitelnost takového písma. Ovšem pro ztlumení jasu monitoru při čtení webu v tmavé místnosti to bývá perfektní, stejně jako pro psaní na Blogger. Než jsem našel díky práci na tomto zápisku True Color Invert, použil jsem občas rozšíření Invert Window Color, které jednoduše obrací barvy, ale výsledek mi málokdy vyhovoval.


Můžete si nastavit na jaké pracovní plochy budou směřovat okna konkrétních aplikací při startu. Pod Waylandem je funkčnost omezená, některé aplikace se umístí podle nastavení, jiné ne, nejsem si zatím jist, zda to souvisí s tím, jestli běží nativně, nebo pod X11, nezkoumal jsem to.
Narazil jsem ještě na jeden problém - pokud je aktivní toto rozšíření, nedochází v Ubuntu 20.04 k automatickému odstraňování uvolněných pracovních ploch, které se tak časem hromadí ve značném množství. Bližším průzkumem hlášených bugů jsem zjistil, že problém byl opraven, ale pouze na verzi cílené na GS 3.38 (a výš), která ovšem funguje i v GS 3.36.






Umožňuje efektivně vyhledávat aplikace v Aktivitách i s nějakým tím překlepem, či vynecháním písmenka. Když napíšete Frfox, nebo Furefix, k Firefoxu se vždy dostanete. Fuzzy search ale zase může zvýšit počet potřebných písmenek pro vyhledání toho, co potřebujete, protože výrazu může odpovídat více aplikací, než ve striktním režimu.


Pokud často kopírujete mezi více zdroji, rozhodně se hodí přístup nejen k posledně zkopírovanému řetězci, ale i pár předchozím. Občas to může i zachránit nějaká data, krom času. Nastavit si lze počet záznamů historie, velikost schránky, mazat jednotlivé položky i vše najednou, označit si můžete i oblíbené položky. Položky v historii můžete procházet nejen v menu ikony na panelu, kde můžete použít i vyhledávání, ale i klávesovými zkratkami Ctrl+F11/12. Zrovna při psaní tohoto blogu mi to ušetřilo spoustu přepínání oken při kopírování jména rozšíření, linku na web a linku na obrázek, mohu si to všechno zkopírovat postupně do schránky a pak to z ní zase do blogu sypat. Výhodou je pro mě i to, že tento správce nedrží formátování textu, třeba zkopírovaného z webu, takže pokud to nesypete ze schránky přímo po zkopírování, dostanete plain text. A Firefox sám tuto volbu při vkládání nenabízí (oproti Chromiu/Chrome).
Clipboard indicator má také pár nedostatků v kódu, opravoval jsem si tam nějaké deprecated záležitosti, které sice zatím fungují, ale plivou do logu romány, a pak se mi nelíbilo, že notifikace při procházení historie zobrazují jen pár počátečních znaků, což orientaci hodně ztěžuje, pokud se liší jen konce delších řetězců. Autor jako podklad pro notifikace bere už zkrácené náhledy z textových popisků položek v menu, navíc je pak cpe do záhlaví, místo těla zprávy, takže o moc delší být ani nemohou. Kód jsem si upravil a chvíli mi trvalo, než jsem si uvědomil, že celý text těla zprávy se zobrazí až po najetí myši nad notifikaci, takže při procházení delších textů stejně musím ještě popojet myší. Ale lepší, než nic.


Pokud vám na pracovních plochách překáží spousta oken správce souborů, možná vás zaujme toto dílko, které správu souborů přidá do prostředí Aktivit. Stačí stisknout klávesovou zkratku Super+F, nebo kliknou na tlačítko, které umí přidat na panel, i do Dashe a můžete procházet složky podobně jako v okně Nautila, přičemž v Dashi máte místo ikon aplikací nabídku připnutých adresářů a mohou zde být i nepřipojené filesystémy na výměnných discích. Nastavit se dá velikost ikon, počet zobrazovaných sloupců, i řádků, výchozí adresář, způsob řazení - dá se synchronizovat s nastavením Nautila. K dispozici je i seznam posledně navštívených adresářů a pokud používáte Tracker, který umožňuje v Nautilovi hvězdičkovat soubory a adresáře, můžete tyto synchronizovat do náhledu Favorites, takže možnosti rychlého přístupu k různým částem filesystímu tu jsou. Vyhledávání funguje pouze v rámci aktuálního adresáře a automaticky se bohužel neaktivuje první výsledek vyhledávání, který tak nemůžete otevřít přímo stiskem Enteru a musíte ho nejprve ručně aktivovat klávesnicí, či myší. Jinak zajímavé rozšíření, budu testovat.


V zobrazení Aktivit se normálně zobrazí náhled pouze oken aktuální pracovní plochy, toto rozšíření umožní zobrazit vždy náhled všech oken ze všech ploch. V nastavení je jediná volba, která umožňuje náhled všech ploch aktivovat pouze klávesovou zkratkou, místo nahrazení výchozího chování.






Pěkný dropdown terminál, který umí taby a bez zjevných problémů funguje i pod Waylandem, na rozdíl od Guake, který používám primárně. Oproti Guake ale neumí především split view, takže ho zatím jen tak oťukávám. Jinak je nastavení bohaté, od barviček a průhlednosti, po klávesové zkratky a nastavení chování okna.
 



Gnome shell v základu umí přetažením k levé a pravé straně monitoru okna roztáhnout na danou polovinu obrazovky, krom toho, že přetažením nahoru můžete okno maximalizovat. Není to moc, alespoň čtvrtiny by se mohly hodit. Tilling assistant umí nejen čtvrtiny přetažením okna do rohu, můžete si nastavit až deset vlastních dchémat rozložení oken na procovní ploše a aktivovat je zvolenými klávesovými zkratkami.



Trochu sofistikovanější tilling asistent, který vám umožní definovat pozice jednotlivých oken na monitoru velmi precizně. Po stisku klávesové zkratky (výchozí Super+Space) se zobrazí mřížka do které si dvěma kliknutími myší vyznačíte plochu na které se má aktuálně aktivní okno rozléhat. Současně vám asistent ukazuje, kde se čtverec pod myší skutečně na pracovní ploše nachází. Mřížka se dá vybírat z matic 4x4, 6x4 a 8x6, plus nějaké přednastavené řešení celé plochy, které rozhází do matice všechna okna na ploše, ale v nastavení si můžete definovat vlastní konfigurace mřížek podle potřeby. Také si můžete přizpůsobit 30 přednastavených schémat rozložení oken a aktivovat je klávesovými zkratkami.


Pokud se vám z Compizu a Unity stýská po průhledných oknech podle vlastní libosti, toto je rozšíření, které vás potěší. Můžete si určit vlastní mod klávesy (např. Ctrl+Super), které když podržíte a otočíte kolečkem k sobě, budete plynule zvyšovat průhlednost okna pod ukazatelem, a naopak.
 
 
Pěkné rozšíření, které vám umožní přepínat pracovní plochy stejným způsobem, jako přepínáte okna pomocí Alt+Tab. Výchozí klávesovou zkratkou je Ctrl+` (klávesa nad Tab), k dispozici je dalších několik variant. Důležité je, že se pracovní plochy řadí podle toho, jak byly použity, takže můžete rychle přepínat mezi dvěmi plochami spolu nesousedícími.
 
 
 

Reorder Workspaces

Jednoduché rozšíření, které vám umožní přehazovat pořadí pracovních ploch v režimu aktivit. Stačí na náhledu požadované plochy podržet klávesu Alt a šipkami nahoru / dolu plochu posunout na kýženou pozici.
 

Další drobnost - pokud kliknete na ikonu aplikace v Dashi, nebo v nabídce aplikací v Aktivitách a na aktuální pracovní ploše není žádné okno této aplikace, dojde místo aktivace stávajícího okna ke spuštění nové instance aplikace. Samozřejmě, že pokud si instance hlídá samotná aplikace při svém spouštění, nebude vám to platné a v případě Firefoxu třeba budete na dané ploše marně čekat, protože sice nové okno vyplodí, ale na ploše, kterou již obývá okno předchozí. Zkrátka to mění chování Shellu, chování samotných aplikací se může lišit.


Podobně jako Dash, vytáhne do docku panel s pracovními plochami z Aktivit, takže k nim máte přístup najetím myši k pravému okraji obrazovky. Nastavení není moc dobře zpracováno, ale možností má dost. Ve výchozím nastavení modifikuje režim aktivit tak, že se jen ukáže Dash, panel s plochami a pole pro vyhledávání aplikací, ale okna se nezmenší do náhledů. Sám jsem toto rozšíření nikdy moc nepoužíval, pro mou mamku je to ale nezbytnost.


Potřebujete-li sledovat dostupnost konkrétních serverů, tento panelový applet vám jich pár na panelu zmonitoruje. Konfigurace se musí zapisovat do souboru, ale není to komplikované, zadáte si ip, interval a můžete pingat.






Show Application View When Workspace Empty

Celkem praktické vylepšení, zvláště pokud používáte přepínání pracovních ploch mimo Aktivity - GS nechává vždy jednu prázdnou pracovní plochu na konci a pokud na ni přejdete, většinou proto, abyste spustili nějakou aplikaci. Toto rozšíření vám po přechodu na prázdnou pracovní plochu automaticky aktivuje celoobrazovkovou nabídku aplikací z Aktivit. Vlastně se tak odtud můžete i přepnout na již spuštěnou aplikaci, použít to jako větší rozcestník, pokud hledáte okno zabordelené pod ostatními.


Vyhovují-li vám ikony otevřených oken na hlavním panelu, toto rozšíření na to jde celkem decentně a panel nijak nedeformuje, jako npř. rozšíření Dash to panel. Zobrazuje ikony oken za sebou podle příslušnosti k pracovním plochám a odděluje je ikonami s číslem plochy. Před ikonami jsou ještě šipky vlevo / vpravo, které umožňují aktivní okno přesouvat mezi plochami, dále můžete kliknutím pravým tlačítkem na ikonu okna zobrazit šipky vedle a kliknutím přesunout okno na plochu vedlejší. V nastavení si můžete naklikat, co se v panelu bude zobrazovat a můžete odtud i odebrat menu aktivního okna, které se v levé části panelu za normálních okolností zobrazuje, aby na ikony bylo víc místa. Dokonce můžete ikony odbarvit, aby zachovávaly černobílý ráz panelu. Při zkoumání možností Bar Baru je trochu otravné, že každá změna se projeví až po jeho deaktivaci a opětovné aktivaci ve správci rozšíření, tohle by si autor mohl jednoduše ošéfovat sám.


Extensions & Tweaks in system menu

Pokud chcete v systémovém menu položky Extensions a / nebo Tweaks pro přímý přístup k těmto aplikacím pro správu rozšíření a přizpůsobení vlastností Gnome Shellu, toto rozšíření nabízí i volbu pozice v menu.









Status Area Horizontal Spacing

Pokud máte pocit, že na panelu nemáte místa na rozdávání, máte možnost dvěma kliky při instalaci tohoto rozšíření pár pixelů ušetřit.


Další cenné místo na panelu můžete ušetřit odstraněním šipeček u ikon s menu. Zatím autor nedopsal verzi 3.36 mezi podporované GS v souboru metadata.json, tak vám bude web tvrdit, že rozšíření není s Ubuntu 20.04 není kompatibilní, ale stačí stáhnout poslední verzi v archivu, připsat 3.36 do seznamu a uložit to všechno do .local/share/gnome-shell/extensions/remove-dropdown-arrows@mpdeimos.com. Po restartu GS se rozšíření automaticky aktivuje.


Vydařený nástroj pro tvorbu screenshotů, který umí v podstatě to samé, co výchozí nástroj v Gnome, ale integrací do hlavního panelu k tomu máte rychlejší přístup, nechybí ani nastavení prodlevy přímo v menu indikátoru. Navíc si můžete nastavit výchozí editor pro zpracování výsledku, i formát jména a adresář v případě uložení na disk. Můžete si nastavit i přímou akci pro klik na ikonu v panelu primárním tlačítkem myši, aktivovat tím můžete screenshot celé obrazovky, okna, do kterého kliknete, nebo libovolnou obdélníkovou oblast, kterou myší orámujete. K dispozici jsou i klávesové zkratky a možnost ikonu z panelu schovat.


Taková ptákovina, ale pokud děláte screenshoty a chcte do obrazu něco přikreslit, nemusíte otevírat grafický editor a můžete to po stisku klávesové zkratky Super+Alt+D nakreslit na obrazovku ještě před uděláním screenshotu. Kolečkem myši si plynule nastavujete tloušťku tužky, sekundárním tlačítkem vyvoláte menu s nastavením barev, výběrem nástrojů, nebo možností dílo uložit. Těch možností je opravdu dost, několik palet s barvami, kapátko, můžete si nechat vaše tahy vyhladit, změnit velikost, zrcadlově převrátit, můžete volně čmárat, kreslit rovné čáry, obdélníky, elipsy, polygony, samozřejmě vložit text, obrázek trsu banánů... Fakt si s tím autor vyhrál, jsou tam i přepínače, které umožní z obrazovky nechat zmizet panel, zobrazit vodící mřížku, limitovat oblast kreslení na čtverec, ... Nakonec to ještě můžete exportovat do svg, nebo nechat zobrazovat na pozadí.


Github Notifications

Používáte-li GitHub, můžete se nechat tímto rozšířením informovat o notifikacích generovaných vaším účtem. Stačí si podle návodu v nastavení na GitHubu vygenerovat token pro přístup k notifikacím a zkopírovat ho do příslušného pole. Po kliknutí na ikonu v panelu se otevře stránka s vaší počtou na GitHubu ve výchozím prohlížeči, takže se můžete rovnou podívat o co jde.


Zajímavé a potenciálně užitečné rozšíření, které vám umožní zobrazit si kdekoli na obrazovce miniaturu libovolného otevřeného okna, kterému můžete krom umístění měnit velikost a průhlednost. Miniatura se aktivuje klávesovou zkratkou Shift+F12, konkrétní okno si vyberete otáčením kolečka myši, chytnutím a přetažením primárním tlačítkem myši miniaturu kamkoli přemístíte, průhlednost nastavíte kolečkem myši za současného držení klávesy Ctrl, velikost tažením sekundárním tlačítkem myši, nebo primárním za současného držení klávesy Ctrl a dvojím klikem na miniaturu dané okno aktivujete. Při tažení pro změnu velikosti se musí pomalu a pozor na možné kolize s Easy Stroke, pokud používáte, ten také zachytává (defaultně) sekundární tlačítko myši.
Takto si například můžete nad ostatní okna vytáhnout své Conky, terminál s běžící kompilací, nebo cokoli jiného, čehož průběh v čase potřebujete sledovat. Použití jako alternativní window switcher se také nabízí.


Executor

Executor umí spouštět příkazy Bashe v nastavených intervalech a výstup zobrazovat na hlavním panelu. Není omezen na jeden příkaz, přidat si jich můžete podle potřeby a to pro každou ze tří oblastí panelu (vlevo, uprostřed a vpravo) zvlášť. Dokonce si můžete určit, na které pozici v pořadí prvků dané oblasti se bude výstup zobrazovat. Zadáte-li pro danou pozici více příkazů, bude se jejich výstup zobrazovat vedle sebe.


Závěrem

Těch rozšíření je opravdu hodně, probrat se tím je celkem náročné, protože přímo na stránkách Gnome musíte každé jednotlivé rozšíření rozkliknout, abyste viděli o čem to je, pak to otestovat a zjistit, zda to k něčemu je. Neprošel jsem zdaleka vše, pokračování zas někdy příště.

Zajímavá je situace, kdy Gnome nabíhá na 4. řadu a opět se toho změnilo tolik, že mnoho těch rozšíření přestane fungovat a bude potřeba je přepsat. Narazil jsem na nemálo vývojářů, kteří již avizovali, že se na to vyprdnou a nic předělávat nebudou.
 
Jinak usím říct, že při psaní Custom hot corners jsem narazil na několik debilních bugů Gnome Shellu, až mě to trochu otrávilo, žere to čas. To pod X11, přinejmenším v Ubuntu 20.04 s GS 3.36.4, mi nefungují aktivní plošky přes které sbírám události z myši jako klikání a otáčení kolečkem, pokud je pod nimi aktivní okno, zatímco pod Waylandem není problém. Když si plošky obarvím, vidím, že jsou navrchu, události se ale z nějakého důvodu zachytávají odspodu. Určitě jen nevím jak na to, zatím jsem tedy zkusil workaround. Vyřeším to přidáním 1px proužků po stranách monitoru, které okna o ten pixel odsunou, aby mi prošly události alespoň touto škvírou. Nejprve bojuju s tím, že mi to nefunguje na pravé straně monitoru, nakonec mě napadne, že objekt kreslím s negativním měřítkem, tedy abych nemusel počítat posunutí objektu od rohu, v závislosti na jeho velikosti, nastavím měřítko v ose x na -1 a ono se to vykreslí na druhou stranu od okraje obrazovky, jehož souřadnice mám. Bezva funkce, ale pod X11 pak nefunguje jiná vlastnost, která pokud je nastavena a objekt se dotýká hrany obrazovky, nedovolí oknům ho překrýt, takže se tím zmenší aktivní plocha pro okna. Zbavil jsem se negativního měřítka a funguje to bezvadně, nevšimnete si toho. Až na to, že na druhém monitoru okna najednou nejdou posouvat po celé jeho ploše, nejdou maximalizovat, jako by tam toho překáželo víc, do půlky monitoru. Ale pouze pokud mám monitor na levé straně od primárního, jak ho přesunu třeba nahoru, problém zmizí. Tak jsem holt workaround použil pouze na primárním monitoru, kde mi fungoval vždy bezvadně a udělal ho pro jistotu vypínatelným z okna nastavení rozšíření. Pak jsem zas zjistil, že pod Waylandem se mi o pixel špatně umisťují tlakové bariéry, o které se ukazatel myši zachytává, aby mohl vyvinout "tlak" pro aktivaci nějaké té akce a bylo možné do rohu kliknout, i když plocha pokračuje na další monitor. Pro pořádek, s předchozím problémem to vůbec nesouvisí. Výsledkem bylo, že jsem klikal o ten pixel za roh mimo plošku k tomu určenou, která byla přesně v rohu, když byl vedle druhý monitor a bylo kam ujet, takže místo aktivace funkce rozšíření jsem třeba klikl do okna na vedlejším monitoru a aktivoval ho tím. Tak jsem bariéry o ten pixel posunul, ale to zas myš zajížděla za ně z boku, když se člověk netrefil přesně do vinglu bariér pod X11. Přidal jsem tedy detekci Waylandu a dělám to selektivně. Zkrátka pokaždé, když vyřeším nějaký problém, objeví se další, který do té doby někde nepozorovaně spal a projevil se v určité konfiguraci desktopu. Těch kombinací, které ovlivňují tyto otravné drobnosti, je hodně, ale největší pastí bývá přidání dalšího monitoru a rozšíření pracovní plochy. Pak jsou tu odlišnosti v chování kompozitoru mezi Wayland a X11, další komplikace přináší různé verze GS, ovladač grafiky, ... Do toho vidím ta kvanta chybových hlášek z ostatních rozšíření, i samotného Shellu, ve kterých se mi ztrácí mé chyby, které aktuálně dolaďuji ve svém výrobku. Dohromady to všechno celkem funguje, ale pod kapotu se raději moc nedívat, mám pak tendenci ztrácet čas opravováním drobností, které sice na funkci rostlináře nemají vliv, ale v logu mě štvou (milión pokusů o odstranění již odstraněných objektů apod., log má přes 4GB..).
 
Aktualizace: 
Po odeslání článku mi konečně doteklo, v čem může být problém s mými zachytávacími rohovými ploškami v rozšíření Custom Hot Corners - já jsem převzal výrobu rohových objektů z původního rozšíření a neměl jsem důvod to měnit. Spodní rohové objekty jsem tedy tvořil s výše zmíněným negativním měřítkem a ono to mělo dopad i na to čtení událostí z myši při křekryvu s aktivním oknem. Evidentně jde o bug v GS, už vzhledem k tomu, že na Waylandu jsem ten problém nezaznamenal. Oprava je triviální, ale musím si přiznat, že mi to trvalo celkem dlouho, než mi to docvaklo, i když jsem na nápovědu při tvorbě workaroundu přišel poměrně rychle, tam mi to dávalo větší smysl..


4 komentáře:

  1. Jsem rád, že blog ještě žije, sice Gnome Shell skoro nepoužívám, ale přehled rozšíření je parádní...

    OdpovědětVymazat
    Odpovědi
    1. Díky za odezvu, jsem rád, že to tu po těch letech ještě někdo najde :)

      Vymazat
    2. Nepoužívám RSS a pod., takže mám pořád záložku na liště v prohlížeči a občas jsem na ni ze zvyku kliknul ;). Je neuvěřitelný, že dneska ještě někdo píše blog a navíc takto obsáhle.

      Vymazat
    3. Jo smysl to moc nedává, ale potřeboval jsem nějaký ventil :)

      Vymazat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.