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.
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 <span class="pl-c1">set</span> org.gnome.desktop.interface gtk-theme adw-gtk3
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ě.
16. 5. 2022 at 18:09
Az do ted nevsiml. Tak dik 🙂
17. 5. 2022 at 14:40
Hezký návod, díky. Jen je škoda, že tohle není přímo součástí GNOME či Fedory. 😉
17. 5. 2022 at 16:58
Presne, tohle by melo resit distro aby si to uzivatel ani nevsiml a nemusel to tweakovat. Tak snad u Fedory 37.
17. 5. 2022 at 18:30
Fedora vždycky ctila rozhodnutí upstreamu a ten se minimálně prozatím rozhodl neměnit téma GTK3 tak, aby vypadalo jako GTK4.
18. 7. 2022 at 13:06
Hezke, ale bohuzel to rozbiji vzhled gtk2 aplikaci, ktere tim prestanou pouzivat adwaita vzhled z baliku adwaita-gtk2-theme
28. 7. 2023 at 05:20
Ano, plně souhlasím – právě proto jsem se rozhodl pro instalaci alternativního tématu nestandartním způsobem: Složku tématu (musí být pro GTK2, GTK3 a GTK4) zkopíruji do .themes/ a z vybraného tématu zkopíruji ze složky gtk-4.0 soubory do složky .configure/gtk-4.0 Ve Vyladění nastavím Zastaralé aplikace na zvolené téma. Odhlásit, přihlásit a funguje – vzhled GTK2, GTK3, GTK4 a QT aplikací je většinou konzistentní, tedy jen XNviewMP (QT) mi dělá problémy – tam je zase problém z přizpůsobením QT aplikací.