Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME

Le projet GNOME a publié la première version stable de la bibliothèque Libadwaita, qui comprend un ensemble de composants pour la mise en forme de l'interface utilisateur, conforme aux recommandations GNOME HIG (Human Interface Guidelines). La bibliothèque comprend des widgets et des objets prêts à l'emploi pour la création d'applications, en adéquation avec le style général de GNOME, dont l'interface peut s'adapter aux écrans de toute taille. Le code de la bibliothèque est écrit en C et est distribué sous la licence LGPL 2.1.

Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME

La bibliothèque libadwaita est utilisée en conjonction avec GTK4 et inclut les composants du thème Adwaita utilisé dans GNOME, qui ont été extraits de GTK dans une bibliothèque séparée. Le code de libadwaita est basé sur la bibliothèque libhandy et est positionné comme un successeur, initialement créé pour construire une interface adaptable sur les plateformes mobiles utilisant les technologies GNOME, et a été perfectionné dans l'environnement GNOME Phosh pour le smartphone Librem 5.

La bibliothèque comprend des widgets standards couvrant divers éléments d'interface, tels que des listes, des panneaux, des zones de texte, des boutons, des onglets, des formulaires de recherche, des boîtes de dialogue, etc. Les widgets proposés permettent de créer des interfaces polyvalentes qui fonctionnent harmonieusement tant sur les grands écrans des PC et ordinateurs portables que sur les petits écrans tactiles des smartphones. L'interface des applications s'adapte dynamiquement en fonction de la taille de l'écran et des dispositifs d'entrée disponibles. La bibliothèque inclut également un ensemble de styles Adwaita, alignant l'apparence avec les recommandations GNOME, sans nécessiter d'adaptation manuelle.

Le fait de sortir les éléments de mise en forme visuelle de GNOME dans une bibliothèque distincte permet de développer les changements nécessaires pour GNOME séparément de GTK, ce qui donne aux développeurs de GTK la possibilité de se concentrer sur les éléments fondamentaux, tandis que les développeurs de GNOME peuvent promouvoir plus rapidement et plus facilement les modifications de mise en forme qui leur sont nécessaires, sans toucher à 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 doivent soit utiliser libadwaita et s'adapter aux caractéristiques de GNOME et reproduire son style, soit développer leur propre version de la bibliothèque de styles pour GTK, tout en acceptant que les applications GNOME apparaissent de manière hétérogène dans des environnements basés sur des bibliothèques de styles tierces.

Le principal mécontentement des développeurs d'environnements tiers concerne les problèmes de redéfinition des couleurs des éléments de l'interface, mais les développeurs de libadwaita travaillent à fournir une API pour une gestion flexible des couleurs, qui sera incluse dans l'une des prochaines versions. Parmi les problèmes non résolus, on mentionne également le bon fonctionnement des widgets de contrôle des gestes uniquement sur les écrans tactiles — pour les pavés tactiles, un bon fonctionnement de ces widgets sera assuré ultérieurement, car cela nécessite des modifications dans GTK.

Les principaux changements dans libadwaita par rapport à libhandy :

  • Un ensemble de styles entièrement repensé. Le thème Adwaita utilisé dans GNOME a été extrait de GTK et modernisé, tandis que l'ancien thème a été fixé dans GTK sous le nom de « Default ». Parmi les différences les plus remarquables, libadwaita se distingue du thème « Default » par un changement dans le design des en-têtes de fenêtre.
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • Les mécanismes d'attribution des couleurs aux éléments et de changement des couleurs lors de l'exécution de l'application ont été modifiés (les problèmes sont liés au fait que libadwaita est passé à SCSS, qui nécessite une recompilation pour changer la couleur). Pour modifier les couleurs des éléments, ce qui est par exemple requis dans GNOME Web pour indiquer le passage en mode incognito, la méthode proposée dans elementary OS a été appliquée, basée sur la définition d'une liste fixe de couleurs nommées via « @define-color ». 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 empêche les applications de contrôler totalement le schéma de couleurs (les développeurs travaillent à la suppression de cette limitation).
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOMEPublication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • La qualité d'affichage a été améliorée lors de l'utilisation de thèmes sombres grâce à un contraste plus marqué des éléments. La couleur d'accentuation (accent) a été rendue plus vive, et une autre couleur d'accentuation a été ajoutée, qui peut varier pour les thèmes sombres et clairs.
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOMEPublication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • Un grand nombre de nouvelles classes de styles ont été ajoutées pour une utilisation dans les applications. Par exemple, « .pill » pour de grands boutons arrondis, la possibilité d'utiliser « .flat » dans GtkHeaderBar, « .accent » pour définir la couleur d'accentuation dans les étiquettes, « .numeric » pour la typographie tabulaire, « .card » pour utiliser un fond et une ombre comme dans les listes.
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • De grands fichiers SCSS monolithiques ont été divisés en une collection de petits fichiers de styles.
  • Une API a été ajoutée pour configurer le style sombre et le mode haute visibilité.
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • La documentation a été revue, pour laquelle un nouvel outil, gi-docgen, est désormais utilisé pour la générer.
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • Une API pour l'animation a été ajoutée, pouvant être utilisée pour créer des effets de transition lors du remplacement d'un état par un autre, ainsi que pour des effets de ressort (spring animation).
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • Pour les onglets basés sur AdwViewSwitcher, la possibilité d'afficher des étiquettes avec le nombre de notifications non lues a été ajoutée.
    Publication de la bibliothèque Libadwaita 1.0 pour la création d'interfaces au style GNOME
  • Une classe AdwApplication (sous-classe de GtkApplication) a été ajoutée pour une initialisation automatique de Libadwaita et le chargement des styles.
  • Une sélection de widgets a été ajoutée pour simplifier les opérations courantes : AdwWindowTitle pour définir le titre de la fenêtre, AdwBin pour faciliter la création de sous-classes, AdwSplitButton pour les boutons combinés, AdwButtonContent pour les boutons avec une icône et une étiquette.
  • Nettoyage de l'API effectué.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster