FunkcjeCennikDokumentacjaBlog
Pobierz mote
← Blog
Wydanie·7 sierpnia 2026·3 min czytania

Aby wyglądał tak samo niezależnie od sposobu instalacji, postanowiliśmy dołączyć GTK

To, że ta sama aplikacja wygląda nieco inaczej w zależności od dystrybucji, zwykle wynika nie z samej aplikacji, lecz z wersji zestawu narzędzi zainstalowanej w systemie. Od wersji beta.2 wszystkie cztery formaty instalacji zawierają te same biblioteki.

m
mote
Dwa przełączniki na samym dole Ustawienia → Wygląd. Gdy są włączone, kolor akcentu i czcionka interfejsu pochodzą z mote, a gdy są wyłączone, aplikacja korzysta z ustawień środowiska graficznego.
Dwa przełączniki na samym dole Ustawienia → Wygląd. Gdy są włączone, kolor akcentu i czcionka interfejsu pochodzą z mote, a gdy są wyłączone, aplikacja korzysta z ustawień środowiska graficznego.

Ta sama kompilacja aplikacji linuksowej może wyglądać inaczej w zależności od dystrybucji. Zmienia się wygląd przełączników, rozjeżdżają się odstępy w oknach dialogowych, a czasem okno w ogóle się nie otwiera. Dzieje się tak dlatego, że w każdym systemie zainstalowany jest inny zestaw narzędzi.

Do tej pory mote również utrzymywało dwie wersje kompilacji. Pakiet .deb korzystał z systemowego GTK, natomiast AppImage, tarball i Flatpak zawierały potrzebne biblioteki.

Od wersji beta.2 połączyliśmy je w jedną kompilację.

Różne sposoby instalacji, ta sama aplikacja

Teraz także pakiet .deb zawiera GTK 4.22 i libadwaita 1.9 w katalogu /opt/mote. Niezależnie od bibliotek zainstalowanych w systemie można go zainstalować za pomocą apt install na Ubuntu 22.04 i Debianie 12. Wygląd i działanie są również takie same jak w wersjach AppImage, tarball i Flatpak.

Dołączone biblioteki zostały dopasowane do środowiska uruchomieniowego GNOME używanego przez Flatpak. Są to GLib 2.88, Pango 1.56, HarfBuzz 11, cairo 1.18 i fontconfig 2.16. Aby aplikacja działała także w starszych dystrybucjach, kompilujemy ją samodzielnie w kontenerze z glibc 2.35.

Celem jest ograniczenie liczby przypadków, które trzeba sprawdzać. Gdy korzysta się z systemowego GTK, każda wersja Ubuntu ma inny zestaw narzędzi. W 24.04 jest to 4.14, w 24.10 — 4.16, a w 25.04 — 4.18. Po każdej zmianie choćby jednej linijki stylu trzeba sprawdzić wszystkie te kombinacje. Teraz wystarczy sprawdzić tylko sposoby instalacji.

Rozważaliśmy również rezygnację z pakietu .deb. Jednak na pulpicie Ubuntu apt jest najbardziej znaną metodą instalacji. AppImage uruchamia się o około 140 ms wolniej i wymaga FUSE. Tarball nie oferuje automatycznych aktualizacji, a Flatpak wymaga wyjątków od reguł piaskownicy oraz środowiska uruchomieniowego zajmującego około 1 GB.

Dlatego zamiast usuwać pakiet .deb, zmieniliśmy jego zawartość.

Kupiliśmy spójność za 14 MB

Ma to swoją cenę. Rozmiar pakietu .deb wzrósł z 4 MB do 34 MB. Przy otwarciu tego samego dokumentu zużycie pamięci PSS zwiększyło się ze 115 MB do 129 MB. Wynika to z tego, że bibliotek zawartych w aplikacji nie można współdzielić z innymi aplikacjami GTK.

Wydajność pozostała na tym samym poziomie. Czas p95 od naciśnięcia klawisza do wyświetlenia zmiany na ekranie spadł z 4,82 ms do 4,07 ms. Mediana czasu pojawienia się pierwszego ekranu również nieznacznie się poprawiła — z 306 ms do 303 ms. Gdy aplikacja pozostaje jedynie otwarta, tak jak wcześniej nie renderuje żadnych klatek.

W zamian za dodatkowe 14 MB pamięci otrzymaliśmy tę samą aplikację w każdej dystrybucji.

Aktualizacja dołączonego zestawu narzędzi to regularne zadanie wykonywane mniej więcej raz w roku. Gdy aktualizowane jest środowisko uruchomieniowe GNOME we Flatpaku, aktualizujemy również dołączone wersje. Wtedy osiem wierszy w laboratorium staje się bramką kontrolną tej aktualizacji.

O wyglądzie decyduje mote, o dostępności — użytkownik

Uporządkowaliśmy również ustawienia marki. Kolor akcentu i czcionka interfejsu korzystają z domyślnych wartości mote i są stosowane w ten sam sposób także do widżetów libadwaita. Jeśli chcesz korzystać z ustawień środowiska graficznego, wystarczy wyłączyć dwa przełączniki w Ustawienia → Wygląd.

Ustawienia dostępności zawsze natomiast pozostają zgodne z wyborem użytkownika. Aplikacja nie nadpisuje skalowania tekstu ani ustawień HiDPI. Użytkownicy, którzy włączyli duży tekst, zobaczą go również w mote. Tryb ciemny można także samodzielnie ustawić na systemowy, jasny lub ciemny.

Wprowadzanie tekstu koreańskiego sprawdziliśmy w ośmiu środowiskach

Po zmianie zestawu narzędzi w pierwszej kolejności trzeba sprawdzić metody wprowadzania tekstu. Zweryfikowaliśmy wprowadzanie tekstu koreańskiego w ośmiu środowiskach, stanowiących kombinacje sposobów instalacji, ibus i fcitx5, X11 i Wayland oraz Ubuntu 22.04 i 24.04. Wszystkie testy zakończyły się pomyślnie.

Poprawiliśmy również testy, aby nie polegały na funkcjach diagnostycznych przeznaczonych dla programistów. Teraz instalujemy pliki faktycznie przeznaczone do dystrybucji, a następnie sprawdzamy, czy składanie znaków koreańskich działa prawidłowo.

Wprowadzanie tekstu koreańskiego pomyślnie przeszło testy we wszystkich ośmiu środowiskach różniących się wersją Ubuntu, sesją, metodą wprowadzania tekstu i sposobem instalacji
Wprowadzanie tekstu koreańskiego pomyślnie przeszło testy we wszystkich ośmiu środowiskach różniących się wersją Ubuntu, sesją, metodą wprowadzania tekstu i sposobem instalacji

Najpewniejszym sposobem na stworzenie wszędzie takiej samej aplikacji jest ograniczenie w pierwszej kolejności warunków, które mogą się różnić.

← StarszeEdycja tabel, która zachowuje dokładnie ich ręcznie wpisaną postaćNowsze →Dlaczego wklejanie obrazów wymaga przejścia przez kartę potwierdzenia
Bądź na bieżąco przez RSS.
Nic poza pisaniem.
Polski
© 2026 mote