Hlavní navigace

GNOME 42: začal přechod na GTK 4, část aplikací už byla portována

29. 3. 2022
Doba čtení: 9 minut

Sdílet

 Autor: Jiří Eischmann
Největším tématem tohoto vydání je přechod na GTK 4. To je s námi už více než dva roky, ale doteď se s přechodem nespěchalo. U GNOME 42 můžeme konečně vidět větší snahu o portování aplikací na novou generaci GTK.
Co se dozvíte v článku
  1. GNOME Shell
  2. Nové rozhraní pro snímkování obrazovky
  3. Přechod na GTK 4 a libadwaita
  4. Tmavý režim
  5. Sdílená obrazovka přes RDP
  6. Rychlejší indexování souborů
  7. Rychlejší reakce vstupních zařízení
  8. Aplikace
  9. Pro vývojáře
  10. Lokalizace
  11. Na co se těšit

GNOME Shell

Po velkých změnách, které přišly před rokem s GNOME 40, mělo prostředí GNOME na podzim tak trochu oddechový čas a nepřineslo žádné zásadní změny. V tomto vydání si všimnete změn na první pohled. Týkají se totiž především vzhledu. Změnily symbolické ikony na panelu, změnil se vzhled nabídky uživatele a panelu s upozorněními a kalendářem, který se nachází pod hodinami. A to tak, aby to celé lépe ladilo se vzhledem GTK 4 a  libadwaita.


Autor: Jiří Eischmann

Nabídka uživatele v novém stylu

Designéři a vývojáři se také zaměřili na některé detaily. Horní panel už nemá zaoblené, ale ostré rohy. Důvod? Téma Adwaita pro GTK 4 má zaoblenější rohy oken než verze pro GTK 3. Aby se tomu panel přizpůsobil, muselo by být zaoblení rohů tak výrazné, že už by to bylo rušivé. Navíc to má údajně i výkonnostní benefit. Stejně jako u každé změny, kterou GNOME udělá, i tady už existuje rozšíření, které vám vrátí kulaté rohy zpět, takže jejich ztrátu nemusíte oplakávat.

Změnil se také vzhled toho, čemu se v angličtině říká on screen display, tedy panelů, které se zobrazují, když měníte nastavení (hlasitosti, podsvícení displeje…). Nyní jsou podstatně menší. Faceliftem prošla taky uzamknutá obrazovka.

Nové rozhraní pro snímkování obrazovky

Technicky se jedná o součást GNOME Shellu, ale jedná se dle mého názoru o tak významnou a užitečnou novinku, že si zasluhuje vlastní sekci. Doteď, když jste chtěli v GNOME udělat snímek přes tlačítko PrtSc, mohli jste si vybrat mezi prostým stisknutím PrtSc, což udělalo snímek celé obrazovky, nebo mezi Shift+PrtSc, což vám dalo možnost vybrat jen výsek obrazovky. Pokud jste chtěli nahrát video obrazovky, museli jste to udělat pomocí nepříliš ergonomické klávesové zkratky Ctrl+Alt+Shift+R.

V GNOME 42 se po stisknutí tlačítka PrtSc zobrazí nabídka tří režimů: výběr, obrazovka a okno. Můžete si také vybrat, jestli se má jednat jen o snímek nebo o záznam videa. Pokud se rozhodnete pro záznam, na panelu vpravo nahoře se zobrazí červeně počítání sekund a nahrávání můžete kdykoliv ukončit kliknutím na něj. Změnou také je, že se snímky a záznamy neukládají do složky Obrázky, respektive Videa mezi ostatní soubory, ale mají nově vlastní podsložky Snímky obrazovky a Záznamy obrazovky.

Přechod na GTK 4 a libadwaita

Přechod aplikací na GTK 4 je tou největší novinkou, kterou toto vydání přináší. Není to ale tak, že by najednou byly přeportované všechny aplikace. Není to úplně jednoduchý proces a zabere určitě několik vydání. V tomto vydání se podařilo přeportovat následující aplikace:

  • Kalkulačka,
  • Hodiny,
  • Nastavení,
  • Software,
  • Znaky,
  • Kontakty,
  • Analyzátor využití disku,
  • Fonty,
  • Úkoly,
  • Prohlídka.

Autor: Jiří Eischmann

GNOME Software přepsané do GTK 4

Přes všechnu snahu se nepodařilo přeportovat některé důležité aplikace jako například správce souborů Nautilus. U něj vývojáři zvolili opatrnější přístup a raději port odložili do dalšího vydání, což je rozumné, protože přechod na GTK 4 uživatelům zase nepřináší tolik, aby bylo nutné riskovat stabilitu a odladěnost.

S přechodem na GTK 4 se přechází také na libadwaita. GTK 4 by mělo být na rozdíl od svého předchůdce, který se dost zaměřoval na GNOME, neutrálnějším frameworkem. Co dělá GNOME GNOMEm (vzhled atd.), by měla přinášet knihovna libadwaita, takže všechny GNOME aplikace s portem na GTK 4 začínají používat i tuto knihovnu, aby dosáhly výsledného jednotného uživatelského zážitku.

Knihovna libadwaita má aktualizované téma Adwaita, které přináší plochý design. Je trochu škoda, že se designéři GNOME rozhodli neaktualizovat i Adwaitu pro GTK 3. Zvláště nyní, kdy i nejdůležitější aplikace GNOME nejsou přeportované, to vytváří nekonzistenci ve vzhledu. Ne, že by to vyloženě bilo do očí, zase tak vzdálená ta témata nejsou, ale působí to nejednotně.

U aplikací, které jsou součástí GNOME, se to asi brzo vyřeší, protože všechny přejdou na novou verzi, ale ve zbytku ekosystému GTK/GNOME ten přechod bude podstatně pozvolnější. A stejně jako některé aplikace už nikdy nepřešly na GTK 3, dá se očekávat u některých to samé s přechodem na GTK 4. Doufám tedy, že Adwaita pro GTK 3 se časem aktualizuje a témata se vzhledově co nejvíce sblíží.

Tmavý režim

Přepnout do tmavého vzhledu můžete pomocí GNOME Tweaks už řadu let. Jde ale o prosté přepnutí GTK tématu ze světlé Adwaity na tmavou. Aplikace nad tím neměly žádnou kontrolu a často docházelo k problémům jako například černé písmo na tmavém pozadí, proto se tato možnost nikdy nedostala do standardních nastavení.

Nyní na to jde GNOME jinak. Propůjčilo si API z elementary OS, které s tím přišlo už dříve, pomocí kterého se dá aplikacím vědět, že si uživatel přeje použít tmavý vzhled. Záleží pak na samotné aplikaci, jestli tmavý režim podporuje a přepne do něj. Tento mechanismus není nijak vázaný na konkrétní grafický framework, takže existuje šance, že v budoucnu bude podporovaný napříč grafickými frameworky, nejen GNOME a elementary OS.

S touto změnou v Nastaveních přibyl modul Vzhled, který nahradil modul Pozadí. V novém modulu můžete jak přepínat mezi světlým a tmavým vzhledem, tak nastavovat pozadí. Je to navíc provázané. GNOME má výchozí pozadí ve dvou variantách a přepíná mezi nimi společně se změnou vzhledu.


Autor: Jiří Eischmann

Přepínání mezi světlým a tmavým režimem

Sdílená obrazovka přes RDP

GNOME umožňuje v Nastaveních v modulu Sdílení zapnout sdílení obrazovky. To doposud používalo letitý protokol VNC, který neoplývá výkonem a možnostmi. Od této verze se používá místo VNC pokročilejší protokol RDP. Uživatel by to měl poznat především na podstatně lepším výkonu.


Autor: Jiří Eischmann

Nastavení sdílení obrazovky po přechodu na RDP

Rychlejší indexování souborů

S přechodem GNOME na třetí generaci Trackeru, který slouží k indexaci souborů, se výrazně zlepšila bezpečnost, ale přišly také určité problémy s výkonem. Tyto problémy se snažili vývojáři řešit již v předchozích verzích, ale až s aktuálním Trackerem 3.3 došlo k dramatickému zlepšení: paměťové nároky klesly na polovinu a čas startu se zkrátil na třetinu.

Rychlejší reakce vstupních zařízení

GNOME trpělo zpožděními vstupních zařízení, typicky myši. Pokud byl počítač vytížený na maximum, mohl si toho všimnout i běžný uživatel. Zpoždění vstupních zařízení je komplexní problém, který potřebuje řadu samostatných řešení. Nyní přišli vývojáři se změnami, které zabraňují tomu, aby byly vstupní události zpracovávané javascriptovým kódem GNOME Shellu, a které umožňují vstupním zařízením běžet na své vlastní frekvenci (klidně až 1000 Hz). Odezvu vstupních událostí se prý díky tomu podařilo srazit na méně než 2 ms. To by měli ocenit především hráči a uživatelé pracující s grafikou.

Aplikace

Velkou část času a energie vývojářů aplikací vzal v tomto vývojovém cyklu přechod na GTK 4, ale i tak se v aplikacích urodilo několik zajímavých novinek.

Textový editor

GNOME Text Editor se představil už v minulém vydání jako technologická ukázka. V tomto vydání vystřídal gedit na pozici výchozího textového editoru. Na rozdíl od něj používá moderní technologie jako GTK 4 a libadwaita, k vykreslování používá OpenGL a měl být tedy být rychlejší. Umí také automatické ukládání. gedit se i nadále vyvíjí dál a můžete tak u něj zůstat, pokud vám vyhovuje. Jen asi půjde konzervativnější cestou než GNOME Text Editor.


Autor: Jiří Eischmann

Textový editor

Console

Další novou aplikací je GNOME Console, která nahrazuje na pozici výchozího terminálu GNOME Terminal. Podle autorů nemá ambici GNOME Terminal, případně Tilix a další pokročilé terminály nahradit. Má být jednoduchým nástrojem pro běžné uživatele, kteří občas potřebují udělat něco v příkazové řádce. Jedním z důvodů, proč vznikl, je i využití na mobilním telefonu Librem 5, kde se GNOME Terminal moc nehodil. Console přináší i některé pěkné vychytávky. Např. když přepnete do roota, dekorace okna zčervená, aby vám dala jasně najevo, že máme aktuálně práva, s kterými si můžete poškodit systém.

Stejně jako v předchozím případě i tady platí, že GNOME Terminal se vyvíjí dál a nikdo vám nebrání v tom jej i nadále používat.


Autor: GNOME Project

GNOME Console

Boxy

Desktopový virtualizační nástroj Boxy nově podporuje UEFI. Doteď bylo podporováno pouze pro GNOME OS, ale nyní se podpora rozšířila i na další operační systémy. Zcela přepracované bylo rozhraní dialogu s nastaveními virtuálního stroje. Vyřešilo to některé problémy s použitelností a taky rozhraní nyní odpovídá aktualizovaným GNOME Human Interface Guidelines.


Autor: Jiří Eischmann

Přepracované dialogové okno s nastaveními virtuálního stroje

Evolution

Jste-li fanoušci Markdownu, určitě vás potěší, že nová verze emailového klientu Evolution, který vyšel společně s GNOME, podporuje psaní emailů právě v tomto značkovacím jazyku.


Autor: Jiří Eischmann

Vytváření emailu v Markdownu

Videa

Výchozí video přehrávač se zbavil závislosti na knihovně Clutter a nově využívá OpenGL widgety s hardwarovým dekódováním. Výsledkem by mělo být podstatně plynulejší přehrávání. Kromě toho je ve výchozím stavu nově zapnutá podpora pro MPRIS.

Web

Prohlížeč Web (aka Epiphany) nově zapnul hardwarovou akceleraci vykreslování všech stránek, což by mělo mít výrazně pozitivní vliv na výkon, např. posouvání by nyní mělo být výrazně plynulejší.

Pro vývojáře

Builder, vývojové prostředí specializující se na vývoj pro GNOME, má aktualizované šablony pro vytváření aplikací napsaných v Rustu, Pythonu a Vale.

Vznikl nový značkovací jazyk a kompilátor Blueprint, který je určený pro vytváření uživatelského rozhraní v GTK 4. Pokud chcete vytvářet rozhraní v GTK 4 rychle a deklarativně, můžete jej vyzkoušet.

GJS, interpret JavaScriptu pro GNOME, byl portovaný na SpiderMonkey 91, čímž se aktualizovaly také vlastnosti tohoto jazyka, které lze při vývoji v JavaScriptu pro GNOME použít.

Lokalizace

GNOME 42 je přeloženo prakticky kompletně do 21 jazyků, mezi které již tradičně patří čeština. Alespoň z 80 % je přeložené do 38 jazyků, mezi nimiž už je i slovenština, která je na 91 %. Překlady dokumentace už tak slavné nejsou, ale čeština v nich září, protože po švédštině je hned na druhém místě mezi všemi jazyky. Do 100 % jí chybí jen několik stovek řetězců. Do slovenštiny naopak není dokumentace GNOME přeložená vůbec.

Na co se těšit

Bude pokračovat přechod aplikací na GTK 4 a libadwaita, na podzim můžeme čekat další, které budou tímto způsobem modernizované, v čele se správcem souborů Nautilus.

V rámci GNOME Shellu už se připravují tzv. rychlá nastavení, která známe z jiných operačních systémů. Díky tomu byste měli nalézt v nabídce uživatele vpravo nahoře nejčastější nastavení. Je možné, že se tam v nějaké formě přesunou také upozornění. Jak by to mohlo vypadat, se můžete podívat v diskusi designérů.

My v Red Hatu se momentálně pracujeme na tom, jak ukládat a obnovovat desktopové sezení. Prostě si uložíte otevřené aplikace, můžete počítač úplně vypnout a pak kdykoliv sezení s aplikacemi opět obnovit. Otázkou zůstává, jestli se to podaří dokončit už do podzimního vydání nebo si budou muset uživatelé počkat déle.

root_podpora

Další prioritou, co se týče našeho příspěvku do vývoje GNOME, je podpora HDR v GTK a Mutteru. Linux má velký podíl mezi pracovními stanicemi v animačních studiích, pro které je podpora HDR důležitá, a v tomto Linux trochu zaspal. V podzimním vydání asi nelze čekat plnohodnotnou podporu, ale mohly by se tam objevit její základy.

Měly by také přibýt nové portály pro přístup k mikrofonu a webkameře. XDG portály jsou multidesktopovou snahou a nejsou tedy součástí GNOME, ale vývojáři GNOME se je snaží v maximální míře využívat. Díky těmto portálům už by aplikace nemusely mít přímý přístup k hardwaru, ale přístup by zprostředkoval portál s pomocí PipeWire. Uživatel by tak měl mnohem lepší kontrolu nad tím, co k takto citlivým hardwarovým komponentám přistupuje.

Byl pro vás článek přínosný?

Autor článku

Používá Linux od roku 2005, podílel se na několika knihách o Linuxu a pracuje ve společnosti Red Hat, momentálně má na starosti tým, který pracuje na desktopových aplikacích.