W ramach nieustannych starań mających na celu zapewnienie spójnego i konfigurowalnego środowiska pulpitu, Twórcy Linux Mint ogłosili wydanie libAdapta, nowa biblioteka, która powstała jako bezpośredni fork libAdwaita.
Choć obie biblioteki mają wspólny rdzeń i identyczny domyślny wygląd, libAdapta wyróżnia się wprowadzeniem obsługi motywów i innych kluczowych udoskonaleń, które nie były możliwe w oryginalnej bibliotece ze względu na ograniczenia narzucone przez model programistyczny GNOME.
Dlaczego widelec?
Zespół Mint wspomina, że powód utworzenia forka libAdwaita, jest z powodu co znalazłeś Powtarzające się przeszkody w integrowaniu ulepszeń bezpośrednio w libAdwaita, która skupia się wyłącznie na wytycznych środowiska GNOME i nie bierze pod uwagę rozszerzeń ani kompatybilności spoza swojego ekosystemu.
Doprowadziło to do powstania libAdapta jako forka, który jest regularnie synchronizowany z nowymi wersjami libAdwaita w celu zachowania kompatybilności, ale jednocześnie oferuje swobodę wprowadzania zmian bez konieczności polegania na decyzjach zespołu GNOME.
libAdapta to libAdwaita z obsługą motywów i kilkoma dodatkami.
Domyślnie udostępnia te same funkcje i wygląd co libAdwaita.
W środowiskach graficznych, które umożliwiają wybór motywu, aplikacje libAdapta korzystają z wybranego motywu i stosują odpowiednie elementy sterujące oknami.
libAdwaita udostępnia również nagłówek zapewniający zgodność, dzięki któremu programiści mogą łatwo przełączać się między libAdwaita i libAdapta bez konieczności wprowadzania zmian w kodzie.
Ta strategia pozwala Linux Mint rozwijać się niezależnie, dostosowując bibliotekę do potrzeb użytkowników, zwłaszcza dla tych, którzy używają środowisk graficznych innych niż GNOME i cenią sobie zintegrowany wygląd wizualny.
Prawdziwe wsparcie dla tematów
Jeden z najbardziej krytycznych punktów co było motywacją do tego rozwidlenia jest odmową libAdwaita oferowania wsparcia dla niestandardowych motywów, ograniczając się do jednego stylu wizualnego GNOME. W rezultacie aplikacje utworzone za pomocą biblioteki libAdwaita często nie pasują do reszty pulpitu w środowiskach takich jak Cinnamon, Xfce czy MATE.
libAdapta rozwiązuje ten problem, umożliwiając aplikacjom dziedziczenie stylu motywu GT.K w użyciu. Aby to zrobić, biblioteka wykrywa aktywny motyw systemowy i szuka określonego podkatalogu (libadapta-*) zawierającego odpowiednie style. Jeśli nie istnieje, biblioteka powraca do domyślnego stylu libAdwaita, zapewniając zgodność.
Zaleta polecane przez libAdapta jest jego zgodność binarna i kodu źródłowego z libAdwaita, ponieważ Dołączony jest specjalny plik nagłówkowy, który umożliwia programistom przełączanie się z jednej biblioteki na drugą bez konieczności modyfikowania kodu. Dzięki temu można łatwo eksperymentować z libAdapta lub włączać ją do istniejących projektów bez konieczności gruntownego przepisywania.
Jeśli chcesz utworzyć oficjalną aplikację GNOME, odwiedź libAdwaita. Jest to oficjalna biblioteka platformy. Jeśli chcesz znaleźć się w gronie GNOME Circle i zostać oficjalnie uznanym za aplikację GNOME, to jest to właściwa droga.
Jeśli chcesz utworzyć aplikację działającą w środowisku GNOME, użyj dowolnej z tych bibliotek. Obydwa są takie same. LibAdwaita będzie się rozwijać szybciej. Ma to swoje zalety i wady. Będziesz musiał na bieżąco modyfikować kod, ale nowe funkcje otrzymasz szybciej, niż gdybyś czekał, aż libAdapta dokona rebazowania.
Bibliotekę libAdwaita zaprojektowano tak, aby ściśle odzwierciedlała wytyczne GNOME Human Interface Guidelines (HIG) i ściśle współpracowała z biblioteką GTK4. Jego integracja ze stylem Adwaita i jego komponentami wysokiego poziomu, takimi jak listy, przyciski, formularze i okna dialogowe, zapewnia mu spójność w obrębie środowiska GNOME, a jednocześnie izoluje go od innych pulpitów i stylów wizualnych.
Wchodząc do libAdapta, Linux Mint przywraca elastyczność ekosystemowi GTK że wielu użytkowników i programistów uważane za niezbędne. Celem forka nie jest konkurowanie z GNOME, lecz przywrócenie możliwości konfigurowania motywów w aplikacjach GTK4 przy jednoczesnym zachowaniu zalet biblioteki libAdwaita.
Warto wspomnieć, że pierwsza wersja libAdapta bazuje na wersji libAdwaita 1.5, oferując większość funkcji i wsparcia tej wersji.
Wreszcie, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami w następujący link.