libAdapta: Linux Mint's oplossing voor het integreren van thema's in GTK4-applicaties

libAdapta GTK4 Linux Mint

In hun voortdurende streven om een ​​consistente en aanpasbare desktop-ervaring te bieden, Linux Mint-ontwikkelaars hebben de release van libAdapta aangekondigd, een nieuwe bibliotheek die ontstond als een directe fork van libAdwaita.

Hoewel beide een gemeenschappelijke kern en hetzelfde standaard visuele uiterlijk hebben, onderscheidt libAdapta zich door ondersteuning voor thema's en andere belangrijke verbeteringen die niet mogelijk waren in de oorspronkelijke bibliotheek vanwege beperkingen die werden opgelegd door het GNOME-ontwikkelingsmodel.

Waarom een ​​vork?

Het Mint-team vermeldt dat de reden voor het creëren van een vork libAdwaita, is te wijten aan wat heb je gevonden Terugkerende obstakels bij het integreren van hun verbeteringen rechtstreeks in libAdwaita, dat zich uitsluitend richt op de richtlijnen voor de GNOME-omgeving en geen rekening houdt met extensies of compatibiliteit buiten zijn ecosysteem.

Dit leidde tot de creatie van libAdapta als fork. Deze wordt regelmatig gesynchroniseerd met nieuwe versies van libAdwaita. Zo blijft de compatibiliteit behouden, maar biedt het tegelijkertijd de vrijheid om wijzigingen door te voeren zonder afhankelijk te zijn van de beslissingen van het GNOME-team.

libAdapta is libAdwaita met thema-ondersteuning en enkele extra's.

Biedt standaard dezelfde functies en dezelfde look-and-feel als libAdwaita.

In desktopomgevingen waarin themaselectie is toegestaan, volgen libAdapta-toepassingen het thema en gebruiken ze de juiste vensterbesturingselementen.

libAdwaita biedt ook een compatibiliteitsheader waarmee ontwikkelaars eenvoudig kunnen schakelen tussen libAdwaita en libAdapta zonder dat ze de code hoeven te wijzigen.

Deze strategie stelt Linux Mint in staat om onafhankelijk te evolueren en de bibliotheek aan te passen aan de behoeften van zijn gebruikers, vooral voor hen die andere bureaubladomgevingen dan GNOME gebruiken en waarde hechten aan een geïntegreerde visuele uitstraling.

Echte ondersteuning voor thema's

Een van de meest kritische punten die deze splitsing motiveerden is libAdwaita's weigering om ondersteuning te bieden voor aangepaste thema's en beperkt zich tot één enkele GNOME-visuele stijl. Hierdoor vallen applicaties die met libAdwaita zijn gemaakt vaak uit de toon in de rest van het bureaublad in omgevingen zoals Cinnamon, Xfce of MATE.

libAdapta lost dit probleem op door applicaties de GT-themastijl te laten overnemen.K in gebruik. Om dit te doen, detecteert de bibliotheek het actieve systeemthema en zoekt naar een specifieke submap (libadapta-*) die de juiste stijlen bevat. Als deze niet bestaat, valt de bibliotheek terug op de standaardstijl libAdwaita, waardoor compatibiliteit gegarandeerd is.

Een voordeel uitgelicht door libAdapta is de compatibiliteit van de binaire en broncode met libAdwaita, aangezien Er is een speciaal headerbestand bijgevoegd waarmee ontwikkelaars van de ene bibliotheek naar de andere kunnen overschakelen zonder hun code aan te passen. Hierdoor kunnen ze eenvoudig experimenteren met libAdapta of het in bestaande projecten integreren zonder grote herschrijfbewerkingen uit te voeren.

Als u een officiële GNOME-applicatie wilt maken, ga dan naar libAdwaita. Het is de officiële bibliotheek van het platform. Als u in de GNOME Circle wilt worden opgenomen en officieel erkend wilt worden als een GNOME-toepassing, is dit de juiste weg.

Als u een applicatie wilt maken die op GNOME werkt, gebruik dan een van de bibliotheken. Het is allebei hetzelfde. LibAdwaita zal sneller evolueren. Dit heeft voor- en nadelen. Je moet je code bijhouden, maar je krijgt dan wel sneller nieuwe functies dan wanneer je wacht tot libAdapta opnieuw is gebaseerd.

libAdwaita is ontworpen om nauw aan de GNOME Human Interface Guidelines (HIG) te voldoen en werkt nauw samen met GTK4. De integratie met de Adwaita-stijl en de hoogwaardige componenten, zoals lijsten, knoppen, formulieren en dialoogvensters, zorgt voor samenhang binnen de GNOME-omgeving, maar isoleert het ook van andere bureaubladen en visuele stijlen.

Door libAdapta te betreden, Linux Mint brengt flexibiliteit terug in het GTK-ecosysteem dat veel gebruikers en ontwikkelaars als essentieel beschouwd. De fork is niet bedoeld om te concurreren met GNOME, maar om themamogelijkheden voor GTK4-toepassingen te herstellen en tegelijkertijd de voordelen van libAdwaita te behouden.

Het is de moeite waard om te vermelden dat deze eerste release van libAdapta gebaseerd is op de libAdwaita 1.5-versie en als zodanig de meeste functies en ondersteuning van deze versie biedt.

Tot slot, als u er meer over wilt weten, kunt u de details raadplegen in de volgende link.