Gli sviluppatori della distribuzione Linux Mint hanno pubblicato la prima versione della libreria libAdapta, creata come fork di libAdwaita. La prima versione di libAdapta 1.5 si basa su libAdwaita 1.5 e si distingue per il supporto dei temi e alcune funzionalità aggiuntive. Per il resto, libAdapta supporta tutta la funzionalità di libAdwaita e fornisce per impostazione predefinita un aspetto identico alle applicazioni.
La creazione del proprio fork è dovuta alle difficoltà di trasferire le funzionalità avanzate sviluppate dal progetto nel nucleo di libAdwaita. Un soft fork, il cui codice viene periodicamente aggiornato alle nuove versioni di libAdwaita per mantenere la compatibilità, è considerato la soluzione ottimale per Linux Mint. Mantenendo un proprio ramo, gli sviluppatori di Linux Mint non sono limitati nella realizzazione delle proprie idee e possono aggiungere rapidamente modifiche, indipendentemente dall'approvazione degli sviluppatori di libAdwaita.
Il progetto LibAdwaita è presentato come compatibile solo con la piattaforma GNOME, motivo per cui gli sviluppatori di questa libreria rifiutano richieste di modifica legate all'integrazione degli strumenti di gestione dei temi e al supporto di funzionalità non presenti in GNOME. Gli sviluppatori di libAdwaita hanno anche rifiutato l'idea di aggiungere un'estensione simile a libGranite.
Il problema è che gli sviluppatori di libAdwaita rifiutano categoricamente di integrare il supporto per i temi, offrendo solo uno stile di base in stile GNOME. A causa della mancanza di supporto per i temi, le applicazioni basate su libAdwaita appaiono sempre come applicazioni GNOME, e non come applicazioni GTK, risultando poco compatibili con lo stile di altri ambienti desktop.
Le applicazioni compilate con libAdapta, all'avvio in ambienti desktop che supportano la scelta del tema, acquisiscono le impostazioni dei temi e utilizzano gli elementi dell'interfaccia corrispondenti. La libreria libAdapta controlla la cartella del tema GTK attuale e, in presenza di una sottocartella libadapta-*, utilizza un diverso insieme di file di stile. Se la sottocartella è assente, effettua un rollback sul set di stili di libAdwaita. Per garantire la compatibilità con libAdwaita, è fornito un file di intestazione separato che consente di passare facilmente tra libAdwaita e libAdapta senza apportare modifiche al codice.
Ricordiamo che libAdwaita fornisce un insieme di componenti per la personalizzazione dell'interfaccia utente, in conformità con le raccomandazioni GNOME HIG (Human Interface Guidelines). La libreria include widget pronti all'uso (liste, pannelli, aree di modifica, pulsanti, schede, moduli di ricerca, finestre di dialogo, ecc.), in linea con lo stile generale di GNOME. La libreria è utilizzata insieme a GTK4 e include i componenti del tema Adwaita utilizzato in GNOME, che sono stati estratti da GTK, consentendo agli sviluppatori di GTK di concentrarsi sulle basi, mentre gli sviluppatori di GNOME possono promuovere più rapidamente le modifiche necessarie per la personalizzazione senza intaccare GTK stesso.
Fonte: opennet.ru
