IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de GTK 4.2
Le framework de développement d'interfaces graphiques propose un moteur de rendu accéléré matériellement pour toutes les plateformes

Le , par Oxyale

253PARTAGES

16  0 
Les sources de GTK 4.2.0 sont maintenant disponibles en téléchargement.

Cette version est le résultat de la première série des retours des développeurs qui ont porté leurs projets vers GTK4. Elle consiste donc principalement en des corrections de bogues et des améliorations de l'API, mais nous avons également ajouté de nouvelles fonctionnalités, comme un nouveau moteur de rendu GL, diverses améliorations dans la façon dont la boîte à outils gère et compose les séquences de touches mortes, des améliorations du système de compilation de GTK sur Windows et macOS, et une toute nouvelle API de référence, générée à partir des mêmes données d'introspection que celles utilisées par les liaisons de langage.

Pour plus d'informations, vous pouvez consulter le précédent billet de blog sur le cycle de développement de la 4.1.

Le moteur de rendu NGL

Grâce au travail de Christian Hergert, le moteur de rendu NGL est désormais le moteur de rendu par défaut pour Linux, Windows et macOS grâce aux retours positifs de la part des utilisateurs de plateformes mobiles utilisant des pilotes comme Lima, avec des améliorations notables des images par seconde, ainsi que de l'utilisation de l'énergie et du CPU ; ces deux derniers points vont également avoir un impact positif sur les utilisateurs d'ordinateurs de bureau et d'ordinateurs portables. Le moteur de rendu NGL n'est qu'un début : la nouvelle base de code permettra d'apporter encore plus d'améliorations.

La motivation initiale de ce travail était le désir d'améliorer nos performances de rendu sur MacOS, où les pilotes GL ne sont pas aussi tolérants que sur Linux. En dehors de cela, recommencer avec un nouveau moteur de rendu nous donne une chance d'appliquer toutes les choses que l'équipe a apprises en travaillant sur le moteur de rendu GL actuel, et de réorganiser le code en vue d'améliorations futures, telles que la réorganisation et le regroupement des commandes de dessin.



Pour l'instant, l'ancien moteur de rendu GL est encore disponible ; vous pouvez utiliser export GSK_RENDERER=gl dans votre environnement pour revenir au moteur de rendu GL 4.0 – mais assurez-vous de signaler un quelconque problème, pour leur permettre de corriger le moteur de rendu NGL.

Popover Shadows

Depuis que GtkPopover a été introduit avec son "bec" caractéristique, les popovers ont coupé tout ce qui se trouvait en dehors de leur bordure, puisqu'il y avait le besoin que la pointe du bec soit placée de manière cohérente. Avec la nouvelle implémentation basée sur xdg-popup dans GTK4, il y a un protocole de positionnement qui est assez expressif pour placer les popovers d'une manière qui fait que le 'bec' pointe là où il est supposé le faire tout en permettant des ombres en dessous et autour du popover. Comme pour les ombres des fenêtres, les ombres des popovers sont en dehors de la région de saisie, de sorte que les clics sont transmis à la fenêtre sous-jacente.

Il s'agit d'un élément mineur, mais il peut avoir un impact notable en donnant de la profondeur et de la structure à l'interface utilisateur.



Input

Matthias a écrit un article de blog complet sur la gestion des séquences d'entrée, vous pouvez donc le lire. Le traitement des touches mortes a connu quelques itérations, pour gérer les bizarreries et les solutions de contournement qui ont été introduites dans les couches inférieures de la pile d'entrées.



Il existe un problème connu concernant la gestion des accents aigus morts par rapport aux apostrophes dans certaines dispositions de clavier, qui est toujours en cours d'investigation. Si vous remarquez d'autres problèmes avec la saisie au clavier, en particulier autour des séquences de composition ou des touches mortes, veuillez signaler toute anomalie.

Meilleure gestion des entrées

GtkIMContextSimple est l'implémentation de la méthode d'entrée qui est intégrée à GTK. Elle est utilisée lorsque nous n'avons pas de méthode de plateforme à utiliser, comme le protocole texte de Wayland. GtkIMContextSimple ne fait que quelques choses. L'une d'elles est d'interpréter l'entrée hexadécimale pour les caractères Unicode, avec Control-Shift-U. Une autre est qu'il gère les séquences Compose, telles que

<Touche Composée> <a> <acute> pour saisir un caractère á.

La plupart des séquences Compose commencent par cette touche Compose, et les paramètres du clavier dans GNOME 40 comprendront un moyen d'assigner une touche de votre clavier à cette fonction.

Du côté de GTK, l'équipe a répondu à quelques plaintes de longue date concernant le support des séquences de Compose. En dehors de ses séquences intégrées, GTK analyse les fichiers X11 Compose. Le format de ces fichiers est décrit dans Compose, mais jusqu'à présent, le support de GTK pour ce format était plutôt incomplet. Avec GTK 4.2, cela est amélioré pour :

-Permettre des séquences de jusqu'à 20 touches (auparavant, la limite était de 7)
-Générer des caractères multiples (notamment, cela permet les séquences Emoji Unicode)
-Prise en charge des codes hexadécimaux

Ces améliorations sont appréciables pour les personnes qui créent leurs propres séquences Compose en modifiant ~/.Compose. Mais qu'en est-il du reste d'entre nous ? Un aspect traditionnellement difficile de l'utilisation des séquences Compose est que vous devez connaître les séquences par cœur et les taper à l'aveugle. Il n'y a aucun retour visuel jusqu'à ce que la séquence soit terminée et que le dernier caractère apparaisse. Il y a quelque temps, IBus a amélioré cette situation en affichant les caractères de la séquence incomplète sous forme de texte de pré-édition souligné, comme nous le faisons pour la saisie hexadécimale Unicode.

Portabilité

L'un des objectifs de GTK est d'avoir un système de construction "clé en main" capable de passer d'un clone du dépôt Git à une installation entièrement déployable de la boîte à outils, sans avoir à passer par toutes les dépendances manuellement, ou à utiliser des éléments étrangers. Vous pouvez voir comment cela fonctionne sous Windows, en utilisant des outils natifs, dans cet article de nos amis de Collabora.

En outre, les développeurs veillent à ce que désormais vous puissiez utiliser GTK comme un sous-projet Meson ; cela signifie que vous pouvez construire GTK et toutes ses dépendances dans le cadre de l'environnement de construction de votre propre application, et que vous pouvez facilement rassembler tous les modules de construction pour les distribuer avec votre application, en utilisant la chaîne d'outils de votre choix.

Documentation

L'un des problèmes les plus notoires pour les nouveaux venus à GTK est la documentation. Les développeurs d'applications qui ne connaissent pas l'API ont souvent eu du mal à trouver des informations dans la documentation ; de plus, le style et la structure de la référence API n'ont pas été rafraîchis depuis longtemps. Pour améliorer la première impression et l'utilisation de la documentation, GTK a adopté un nouveau générateur de documentation, appelé gi-docgen. Ce nouvel outil ajoute de nouvelles fonctionnalités à la référence de l'API, comme la recherche côté client de termes dans la documentation, ainsi que de petites améliorations ergonomiques, comme :

-un bouton "Copier dans le presse-papiers" pour les fragments de code et les exemples
-une hiérarchie visuelle des ancêtres et des interfaces pour chaque classe
-la liste des propriétés, signaux et méthodes hérités dans une classe
-un design réactif, qui facilite l'utilisation de la référence API sur les petits écrans.

Une API n'est bonne que si elle permet aux développeurs de l'utiliser de la manière la plus idiomatique possible. GTK n'a pas seulement une API C, il expose également toute une API pour les liaisons de langage à utiliser, par le biais de GObject-Introspection. La nouvelle documentation utilise les mêmes données, ce qui permet non seulement de réduire de moitié le temps de construction, mais aussi de générer des éléments de documentation communs à partir des annotations dans la source, ce qui rend la référence à l'API plus cohérente et plus fiable. Enfin, la référence à l'API C correspond à ce que les auteurs de liaisons de langage voient lorsqu'ils consomment les données d'introspection, ce qui signifie que les développeurs de GTK vont réduire et rapprocher les interactions entre les développeurs de boîtes à outils et de liaisons lors de l'introduction de nouvelles API.

Pango et GdkPixbuf sont également passés à gi-docgen, qui permet de construire la référence API pour diverses dépendances via le pipeline d'Intégration Continue, et de la publier sur un tout nouveau site Web : docs.gtk.org. Vous y trouverez toujours la dernière version de la documentation GTK.

Conclusion sur les divers points

Bien sûr, à côté de ces changements visibles, il y en a de plus petits :

-des améliorations des performances dans tous les domaines, des shaders GLSL utilisés pour le rendu de notre contenu aux objets d'accessibilité créés à la demande plutôt qu'à l'avance
-le positionnement du texte sous-pixel, lorsqu'on utilise une version plus récente du Caire avec l'API appropriée
-une mise en page réactive pour le sélecteur d'emoji
-amélioration du rendu des ombres dans les widgets popover
-chiffres localisés dans les boutons rotatifs
-amélioration de la prise en charge du protocole de méthode d'entrée de Wayland
-amélioration des performances de défilement du widget de l'affichage du texte.

Les chiffres

GTK 4.2 est le résultat de quatre mois de développement, avec 1 268 modifications individuelles apportées par 54 développeurs ; un total de 73 950 lignes ont été ajoutées, et 60 717 supprimées.

source:
blog de GTK
GTK happenings

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de archqt
Membre émérite https://www.developpez.com
Le 28/05/2021 à 11:07
Déjà il aurait fallu change de licence et passer sur du MIT, BSD... car là on a finalement un projet peu utilisé (juste sous linux et encore).

Quand j'avais regardé GTK il y a quelques années, la documentation n'était pas à niveau, c'était difficile d'obtenir des informations.

Quand on regarde la concurrence Qt est largement devant, et Flutter projet récent (par rapport à GTK) est lui aussi largement devant. Il y a même pleins de projets AvlaonUI, MAI qui arrivent plus tard et vont dépasser GTK largement aussi.

C'est dommage je trouve pour GTK
3  0 
Avatar de emilie77
Membre éprouvé https://www.developpez.com
Le 28/05/2021 à 10:25
J'aimerai l'utiliser avec golang pour des gui en crossplatform win/linux/mac
0  0