Tento článek se nevěnuje striktně jen tomu, co obsahuje vydání GNOME, ale tomu, co se za poslední půlrok událo v širším ekosystému GNOME. Ten se nám totiž v posledních letech rozšířil a rozdíly mezi tím, co je ještě GNOME a co ne se smazávají. Proto také projekt přišel s novým webem „Aplikace pro GNOME“, který už se nedrží jen aplikací, které jsou součástí samotného GNOME.
GNOME Shell a Mutter
GNOME Shell prošel v minulé verzi největší vizuální změnou od vydání GNOME 3.0. Po takové velké změně zpravidla přichází klidnější vydání, což se tentokrát bezezbytku naplnilo. Vývojáři se zaměřili jen na drobné opravy a optimalizace. Vývojář Canonicalu Van Vugt například optimalizoval lupu. Ta totiž doteď vykreslovala obsah obrazovky dvakrát – nejdříve v nezvětšené podobě a přes ni pak zvětšenou verzi. Tato drobná, třířádková změna má docela podstatný vliv na rychlost vykreslování při použití lupy. Vícedotyková gesta nyní používají stejný mechanismus jako posouvání, takže ovládání touchpadem je celkově konzistentnější.
Několik změn proběhlo také v kompozitoru Mutter, který GNOME Shell používá. Podstatně se zlepšila odezva vstupních zařízení především u displejů s nízkou obnovovací frekvencí, přepínání mezi virtuálními plochami je plynulejší a došlo taky k podstatnému úklidu kódu.
GNOME Kiosk
Linux je často používaný na různých kioskových zařízeních, kde běží jedna aplikace na celé obrazovce. GNOME k tomu nebylo doteď příliš vhodné, protože GNOME Shell funguje hodně monoliticky a obsahuje řadu funkcí, které jsou v takovém nasazení zcela zbytečné a jen zabírají místo v paměti.
Z tohoto důvodu napsal Ray Strode z Red Hatu minimalistický kompozitor postavený na Mutteru, který má jediný cíl – uspokojit kiosková nasazení s minimálními požadavky na systémové prostředky. To se podle všeho podařilo. Podle testu na Red Hat Enterprise Linuxu zabírá v paměti pouze 19 MB oproti 79 MB GNOME Shellu, což je snížení nároků na paměť o pěkných 75 %.
Režimy napájení
V Linuxu existuje řada nástrojů pro správu výkonu a napájení počítače: LTP, thermald, Powertop, Tuned… Nyní tuto funkcionalitu, byť ve zjednodušené podobě, integruje i GNOME. Pokud to hardware podporuje, můžete přepínat mezi třemi režimy napájení: vyrovnaný, úsporný a výkonný. Používá se na to zbrusu nový power-profiles-daemon. Jeho autor Bastien Nocera se snažil vysvětlit, proč nepoužil žádný z existujících nástrojů. Výhoda p-p-d je v tom, že se dá ovládat přes Dbus. Jednotlivé aplikace můžou také získat informace o nastaveném režimu skrz knihovnu GLib a podle toho upravovat své chování.
Profily můžete přepínat buď v nabídce uživatele v pravém horním rohu nebo v nastaveních v modulu Napájení. Při zběžném zkoušení mi rozdíl mezi rovnovážným profilem a profilem šetřícím energii dělal přes dvě hodiny výdrže na baterii, což není zanedbatelná hodnota. Režimy se tak vyplatí používat.
Nastavení
GNOME Control Center se v tomto vydání rozrostl o dva nové moduly. Jeden z nich je nazvaný Multitasking. Přináší nastavení, která se týkají přepínání mezi aplikacemi a která byla doposud dostupná jen v GNOME Tweaks. Můžete třeba vypnout citlivý levý horní roh, počet virtuálních ploch přepnout z dynamického na pevný nebo zapnout, aby byly virtuální plochy na všech monitorech, nejen na tom hlavním.
Druhým novým modulem je Mobilní síť, který jak název napovídá, umožňuje nastavovat mobilní připojení. Jedná se o iniciativu Purismu, kterému se taková nastavení hodí v mobilu Librem 5, ale najdou uplatnění i na jiných zařízeních s GSM modulem. Umožňuje vypnout mobilní data, případně vypnout datový roaming, zamknout SIM pomocí PINu apod. Jelikož žádné zařízení, na kterém provozuji GNOME, GSM modem nemá, nemohl jsem si tento modul sám vyzkoušet. V Nastaveních se v takovém případě ani neobjeví.
Aplikace
Software
Správce softwaru GNOME prošel zásadním a musím říct, že velmi povedeným redesignem. Úvodní obrazovka má jinou organizaci a vypadá moderněji a atraktivněji. Nejpodstatnější změna se ale odehrála v profilech aplikací, v tom, jak jsou informace o aplikaci prezentovány.
Musím říct, že se mi nový vzhled profilů opravdu líbí. Přehlednost informací v některých ohledech překonává i velké aplikační katalogy jako Google Play nebo AppStore. Velmi rychle se dostanete k informacím, jako je zabrané místo na disku, jaká oprávnění aplikace má, jakou má licenci, jaké používá běhové prostředí (v případě Flatpaku). U open-source aplikací se taky dozvíte, jak se zapojit, případně jak poslat finanční dar.
Na základě oprávnění, licence, formy, v jaké se instaluje atd., dává Software každé aplikaci bezpečnostní hodnocení. To vyvolalo několik kontroverzí. Všechny aplikace, které vyžadují přístup k síti, totiž byly označené za „potenciálně nebezpečné“. Pokud se na to podíváme striktním pohledem, tak opravdu každá aplikace s přístupem k síti je potenciálně nebezpečná. Problém je v tom, že dnes takové oprávnění vyžaduje prakticky každá aplikace. Hodnocení bezpečnosti je spíše škála než binární věc a nastavit škálu tak, že 95 % aplikací spadne do kategorie nebezpečné nebo potenciálně nebezpečné asi není úplně užitečné. Přístup k síti byl nakonec jako kritérium vyřazen.
Poté se ale ozvaly také distribuce, protože všechny aplikace z balíčků, které nemají sandboxing, byly označené jako (potenciálně) nebezpečné. Argumenty na straně distribucí jsou, že všechen software v jejich repozitářích prochází schválením, je transparentně sestavovaný ze zdrojových kódů a pravděpodobnost, že se tam nachází škodlivý software, minimalizují. Vývojáři GNOME na druhé straně zase argumentují, že i software napsaný v nejlepší víře je zneužitelný a pokud má neomezený přístup k datům uživatele, měl by být označený jako potenciálně nebezpečný. I tady to vypadá na řešení v podobě nějakého kompromisu nebo alespoň přechodného období.
Připojení
Novou aplikací v tomto vydání je GNOME Connections, která se v české lokalizaci nazývá Připojení. Jedná se nového klienta pro připojování ke vzdálenému desktopu, přičemž podporovány jsou dva protokoly – RDP a VNC. Doteď GNOME používalo Vinagre, jehož vývoj ale ustrnul a rozhraním zůstal někde v časech GNOME 2. Původně se plánovalo využívat jako klient pro vzdálenou obrazovku Boxy, takže by uživatelé mohli ke vzdálené obrazovce a virtuálním strojům přistupovat z jednoho nástroje.
Nakonec se ale designéři rozhodli tuto funkcionalitu oddělit do samostatného nástroje především proto, aby nebylo kvůli prostému přístupu ke vzdálené obrazovce potřeba instalovat celý virtualizační stack, jak je tomu v případě Boxů. Rozhodli se také nezasahovat do Vinagre, který má svoji konzervativní uživatelskou základnu, ale raději vytvořit zcela nový nástroj.
A tím nástrojem jsou právě Připojení. Už nyní by měly být po funkční stránce plnohodnotnou náhradou za Vinagre s tím, že rozhraním mnohem lépe zapadají do moderního GNOME.
Nautilus
Výchozí správce souborů Nautilus umí nově vytvářet zaheslované zip soubory, což byla asi poslední podstatná věc, která mu v podpoře archivů chyběla. Nyní by si měla valná většina uživatelů vystačit s Nautilem a obejít se bez stárnoucího File Rolleru.
Mapy
Aplikace Mapy se od minule dočkala pouze drobnějších změn, především v prezentaci informací o jednotlivých bodech v mapě. Řídí se lokalizací nastavenou v systému, velká čísla jako počet obyvatel jsou zaokrouhlovaná. Do budoucna si vývojáři hrají s myšlenkou přechodu na vektorové dlaždice, což by jim umožnilo lokalizovat také popisky v mapách a také umožnit ukládání map pro offline použití, což s bitmapovými dlaždicemi není jednoduše dosažitelné.
Textový editor
Společně s GNOME 41 vyšel takový zcela nový textový editor prostě nazvaný GNOME Text Editor. Vzhledem se podobá tradičnímu geditu a nabízí i podobnou funkcionalitu, ale používá GTK4 a libadwaita a na rozdíl od geditu, který je spíše konzervativní, se snaží využívat všechny moderní prvky, které platforma nabízí, má rychlejší podporu regulárních výrazů a k vykreslování využívá OpenGL. Můžete si jej nainstalovat třeba z Flathubu.
Pro vývojáře
Libadwaita
GTK3 bylo velmi spjaté s GNOME. Až se ozývaly hlasy, že už to není obecný grafický toolkit, ale je vyvíjený jen pro GNOME. U verze 4 se jeho vývojáři snaží GTK profilovat opět jako obecný toolkit. Z tohoto důvodu vznikla knihovna libadwaita, která doplňuje GTK o to, co dělá GNOME GNOMEm.
Bouři vyvolalo to, že libadwaita má natvrdo nastavené téma vzhledu Adwaita v několika jeho variantách. Hlasitě se proti tomu ozval System76, který si upravuje vzhled pro Pop!OS. Joshua Strobl ze Solus OS dokonce napsal emotivní blogpost, jak s GTK končí kompletně.
Je to další případ dlouhodobého sporu mezi těmi, kteří chtějí GNOME budovat jako hotový a celistvý produkt, a těmi, kteří GNOME berou pouze jako stavebnici pro jejich finální produkt. Vzhled je v tomto sporu vděčné téma. Na rozdíl od jiných systémů je na Linuxu upravování vzhledu celkem populární věc. Hodně uživatelů to vyžaduje, některé distribuce se tím snaží odlišit. Na druhé straně ale stojí autoři aplikací, kteří aplikaci napsali s nějakým promyšleným vzhledem a není v jejich silách podporovat kdejaké téma pro GTK. Použití jiného tématu pak nejen mění identitu aplikace, ale nezřídka způsobuje také problémy a nespokojenost uživatelů, která ale míří ne na autora tématu, ale na autora aplikace.
I v tomto sporu asi nakonec dojde k nějakému kompromisu. Vývojáři GNOME si uvědomují, že poptávka po alternativních tématech vzhledu tu je a bude. Pravděpodobně tak dojde k definování množiny věcí, které bude možné a bezpečné na výchozím tématu měnit, aby se uspokojila potřeba po alternativním vzhledu a zároveň nedocházelo k problémům, které se dějí u zcela neomezené tvorby témat.
Jinak ale libadwaita přináší i řadu zlepšení. Za všechny jmenujme třeba API pro preferenci tmavého vzhledu. Nyní se může aplikace jednoduše zeptat, jestli uživatel nepreferuje tmavý vzhled, a podle toho se zařídit. Skrz portál by to mělo fungovat i ve Flatpaku, což byl doteď problém.
GTK 4.4
Vydávání GTK už není spjaté s GNOME, ale stále jej podstatně ovlivňuje. Od posledního vydání GNOME vyšly verze 4.2 a 4.4. Asi nejpodstatnější novinkou je nasazení NGL, nového GL rendereru, který přináší podstatné zlepšení v rychlosti (snímky za sekundu) a nižší nároky na CPU a spotřebu energie.
Nová dokumentace a HIG
GNOME uvedlo novou stránku pro vývojáře – developer.gnome.org, kde naleznou rozcestník k jednotlivým informačním zdrojům pro vývoj. Jedním z nich je i nová dokumentace pro vývojáře.
Aktualizace a rozšíření se dočkaly také GNOME Human Interface Guidelines, neboli dokumentace k tomu, jak navrhovat rozhraní a chování aplikací.
Builder
IDE pro vývoj pro GNOME se v tomto vydání taky dočkalo řady vylepšení. Funkce, která slouží k vyhledávání a nahrazování řetězců v celém projektu, byla přepracovaná, aby ji bylo jednodušší najít a používat. Umožňuje také nově nahrávat vytvořené flatpaky rovnou na připojená zařízení, pro která je vývojář vyvíjí. Při sestavování a spouštění si nyní poradí také s projekty v Cmake.
Lokalizace
GNOME 41 je přeloženo alespoň z 80 % do 38 jazyků, což je stejné číslo jako minule. Můžeme jej jako již tradičně považovat za zcela lokalizované do češtiny. Rozhraní je přeloženo ze 100, dokumentace z 98 %. Trochu hůře jsou na tom aplikace přidružené ke GNOME, které jsou kvůli chybějícím překladům Syprof na 97 %, a aplikace pro telefon Librem 5 jsou přeložené jen ze 78 %, ale vzhledem k tomu, že tento telefon cílí na úzkou skupinu pokročilých uživatelů a u nás stejně není oficiálně k dostání, asi není problém.
Lokalizace do slovenštiny je na tom o trochu hůře. Rozhraní GNOME 41 je přeloženo z 91 % a dokumentace je stále na nule. Přidružené aplikace jsou přeložené z poloviny a aplikace pro telefon Librem 5 téměř vůbec.
Na co se těšit
Od verze 42 by mělo GNOME začít oficiálně nabízet tmavý režim. Adwaita má tmavou variantu už několik let, jednotlivé aplikace ji můžou využívat, případně uživatelé můžou tmavý vzhled zvolit přepnutím tématu v GTK. Až libadwaita ale přináší dostatečně robustní řešení, aby se dalo zapínání tmavého režimu umístit do nastavení pro všechny uživatele.
S přechodem na libadwaita by mělo dojít i k menším úpravám samotného tématu Adwaita, které by mělo mít o něco více tzv. plochý vzhled. Jak to bude vypadat, můžete zjistit u Textového editoru, který jej používá už nyní.
GNOME Shell by se taky měl dočkat nového nástroje na vytváření snímků a nahrávek obrazovky, který bude například umožňovat zvolit/změnit výřez obrazovky až po dokončení nahrávání.
(Autorem obrázků je Jiří Eischmann.)