Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME

Le projet GNOME a publié la première version stable de la bibliothèque Libadwaita, qui comprend un ensemble de composants pour le style de l'interface utilisateur qui suit les GNOME HIG (Human Interface Guidelines). La bibliothèque comprend des widgets et des objets prêts à l'emploi pour créer des applications conformes au style général de GNOME, dont l'interface peut être adaptée de manière adaptative aux écrans de n'importe quelle taille. Le code de la bibliothèque est écrit en C et est distribué sous licence LGPL 2.1+.

Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME

La bibliothèque libadwaita est utilisée conjointement avec GTK4 et inclut des composants du thème Adwaita utilisé dans GNOME, qui ont été déplacés de GTK vers une bibliothèque distincte. Le code libadwaita est basé sur la bibliothèque libhandy et se positionne comme le successeur de cette bibliothèque, créée à l'origine pour créer une interface adaptative dans les plates-formes mobiles basée sur les technologies GNOME, et a été perfectionnée dans l'environnement Phosh GNOME pour le smartphone Librem 5.

La bibliothèque comprend des widgets standards couvrant divers éléments de l'interface, tels que des listes, des panneaux, des blocs d'édition, des boutons, des onglets, des formulaires de recherche, des boîtes de dialogue, etc. Les widgets proposés permettent de créer des interfaces universelles qui fonctionnent de manière transparente aussi bien sur les grands écrans de PC et d'ordinateurs portables que sur les petits écrans tactiles des smartphones. L'interface de l'application change dynamiquement en fonction de la taille de l'écran et des périphériques d'entrée disponibles. La bibliothèque comprend également un ensemble de styles Adwaita qui alignent l'apparence sur les directives de GNOME sans nécessiter d'adaptation manuelle.

Le déplacement des éléments de style GNOME dans une bibliothèque distincte permet de développer des modifications spécifiques à GNOME séparément de GTK, permettant aux développeurs GTK de se concentrer sur les éléments de base et aux développeurs GNOME d'avancer plus rapidement et de manière plus flexible les modifications de style qu'ils souhaitent sans affecter GTK lui-même. Cependant, cette approche crée des difficultés pour les développeurs d'environnements utilisateur tiers basés sur GTK, qui sont obligés soit d'utiliser libadwaita et de s'adapter aux fonctionnalités de GNOME et de reproduire sa conception, soit de développer leur propre version de la bibliothèque de style GTK et d'accepter le apparition d'applications GNOME hétérogènes dans des environnements basés sur des bibliothèques de styles tierces.

La principale plainte des développeurs de frameworks tiers concerne des problèmes de remplacement des couleurs des éléments de l'interface, mais les développeurs de libadwaita travaillent sur la fourniture d'une API pour une gestion flexible des couleurs, qui sera incluse dans une prochaine version. Parmi les problèmes non résolus, le bon fonctionnement des widgets de contrôle gestuel uniquement sur les écrans tactiles est également mentionné - pour les pavés tactiles, le bon fonctionnement de ces widgets sera assuré ultérieurement, car ils nécessitent des modifications de GTK.

Changements majeurs dans libadwaita par rapport à libhandy :

  • Ensemble de styles entièrement repensé. Le thème Adwaita utilisé dans GNOME a été supprimé de GTK et modernisé, et l'ancien thème a été corrigé dans GTK sous le nom « Par défaut ». L'une des différences les plus notables entre libadwaita et le thème « Par défaut » est le changement dans la conception des en-têtes de fenêtre.
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • Les mécanismes de liaison des couleurs aux éléments et de modification des couleurs pendant l'exécution de l'application ont été modifiés (les problèmes sont dus au fait que Libadwaita est passé à SCSS, ce qui nécessite une reconstruction pour changer les couleurs). Pour changer les couleurs des éléments, ce qui est par exemple requis dans GNOME Web pour marquer le passage au mode incognito, la méthode proposée dans Elementary OS est utilisée et repose sur la spécification d'une liste fixe de couleurs nommées via « @define-color ». Cependant, les couleurs de nombreux éléments de l'interface sont désormais calculées par rapport à la couleur de base du texte et changent automatiquement, ce qui ne permet pas aux applications de contrôler pleinement le jeu de couleurs (les développeurs s'efforcent d'éliminer cette limitation).
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOMESortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • La qualité d'affichage a été améliorée lors de l'utilisation de thèmes sombres en raison d'une mise en évidence plus contrastée des éléments. La couleur d'accent a été rendue plus claire et une autre couleur de surbrillance a été ajoutée, qui peut changer pour les thèmes sombres et clairs.
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOMESortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • Ajout d'une grande partie de nouvelles classes de style à utiliser dans les applications. Par exemple, ".pill" pour les gros boutons arrondis, la possibilité d'utiliser ".flat" dans GtkHeaderBar, ".accent" pour définir une couleur d'accent dans les étiquettes, ".numeric" pour la typographie des tableaux, ".card" pour utiliser l'arrière-plan. et ombre comme dans les listes.
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • Les gros fichiers SCSS monolithiques sont divisés en une collection de fichiers de style plus petits.
  • Ajout d'une API pour définir un style de conception sombre et un mode de contraste élevé.
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • La documentation a été retravaillée ; la boîte à outils gi-docgen est désormais utilisée pour la générer.
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • Une API d'animation a été ajoutée, qui peut être utilisée pour créer des effets de transition lors du remplacement d'un état par un autre, ainsi que pour créer une animation printanière.
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • Pour les onglets basés sur AdwViewSwitcher, la possibilité d'afficher des étiquettes avec le nombre de notifications non consultées a été ajoutée.
    Sortie de la bibliothèque Libadwaita 1.0 pour créer des interfaces de style GNOME
  • Ajout de la classe AdwApplication (sous-classe de GtkApplication) pour initialiser automatiquement Libadwaita et charger les styles.
  • Une sélection de widgets a été ajoutée pour simplifier les opérations standards : AdwWindowTitle pour définir le titre de la fenêtre, AdwBin pour simplifier la création de sous-classes enfants, AdwSplitButton pour les boutons combinés, AdwButtonContent pour les boutons avec une icône et une étiquette.
  • API nettoyée.

Source: opennet.ru

Ajouter un commentaire