Pokud už používáte Fedora 36 Workstation, asi jste si všimli, že vzhled aplikací není tak konzistentní jako dřív. Aplikace, které jsou už portované na GTK 4 mají "ploché" téma vzhledu definované knihovnou libadwaita. Aplikace používající GTK 3 zůstávají u původního tématu Adwaita. Obě témata vzhledu nejsou natolik rozdílné, aby to působilo vyloženě rušivě, ale také už to není konzistence, na kterou jsme byli u GNOME zvyklí. Mezi verzí 3 a 4 se také změnil způsob, jakým GTK vykresluje písmo. Ve výchozím stavu tak může písmo na některých monitorech vypadat v různých aplikacích dost odlišně. Naštěstí existují způsoby, jak vzhled aplikací a vykreslování písma co nejvíce přiblížit. Pojďme se na ně podívat.

Adwaita z libadwaita pro GTK3

Libadwaita, která definuje vzhled aplikací GNOME využívajících GTK 4, neumožňuje libovolnou změnu vzhledu. Lze měnit barevnost apod., ale jinak je téma vzhledu dané. Je to z toho důvodu, aby měli autoři aplikací nějakou kontrolu nad výsledným vzhledem a neaplikovala se témata, která rozhraní aplikace rozbijí. Vzhled GTK4 aplikací tedy neovlivníme, ale můžeme jejich vzhledu přizpůsobit vzhled GTK3 aplikací. Pro tento účel vznikl projekt Adw-gtk3.

Nautilus se starým tématem

Nautilus s novým tématem

Nejnovější verzi tématu si můžete stáhnout z projektu na Githubu. Rozbalený obsah (naleznete v něm jak světlou, tak tmavou variantu) nakopírujete do ~/.local/share/themes/, případně do /usr/share/themes/, pokud chcete, aby bylo témat dostupné pro všechny uživatele. Používáte-li aplikace ve Flatpaku, je potřeba téma nainstalovat i pro něj (musíte mít povolený repozitář Flathub):

flatpak install org.gtk.Gtk3theme.adw-gtk3
flatpak install org.gtk.Gtk3theme.adw-gtk3-dark

Přepnout do nového tématu vzhledu můžete v GNOME Tweaks v sekci Vzhled, kde u položky Zastaralé aplikace nastavíte "Adw-gtk3". Pokud tam tuto volbu nemáte, zkuste se odhlásit a znovu přihlásit. Alternativně můžete téma vzhledu změnit následujícím příkazem:

gsettings set org.gnome.desktop.interface gtk-theme adw-gtk3

Nastavení nového tématu v GNOME Tweaks

Pokud se chcete vrátit k původnímu tématu, stačí vybrat nazpátek téma Adwaita. Sami autoři říkají, že výsledek není 100%. Zcela sjednotit vzhled mezi různými generacemi grafického frameworku ani nelze, ale po několika měsících používání můžu říct, že výsledek je dost blízko. Jak už jsem zmínil, Adw-gtk3 obsahuje i tmavou variantu, takže když v nastaveních změníte styl ze světlého na tmavý, přepnou se do tmavé varianty také GTK3 aplikace.

Vykreslování písma jako u GTK3

Na HiDPI monitorech nepoznáte rozdíl. Tam je písmo všude krásně ostré a stejné, ale u monitorů s nižším rozlišením můžete pozorovat citelný rozdíl mezi tím, jak písmo vykresluje GTK 3 a jak GTK4. Řadě uživatelů přijde písmo v GTK4 rozmazané a vede se o tom dlouhá diskuse na Gitlabu GNOME. Něco z toho jsou skutečné chyby a něco prostě vlastnost, na které vývojáři nehodlají nic měnit. I tady ale existuje řešení. Můžete změnit způsob, jakým GTK4 kompenzuje při vykreslování písma nedostatek fyzických pixelů, tak, aby se výsledkem co nejvíce blížil GTK3. Stačí vytvořit soubor s následujícím obsahem a uložit jej jako ~/.config/gtk-4.0/settings.ini:

[Settings]
gtk-hint-font-metrics=1

Poté se odhlaste a znovu přihlaste a písmo by mělo být napříč GTK aplikacemi vykreslováno plus mínus stejně.