GTK (boîte à outils)
Modèle:Voir homonymes Modèle:Infobox V3/Début Modèle:Infobox V3/Image Wikidata Modèle:Infobox V3/Séparateur Modèle:Infobox V3/Image Wikidata
Modèle:Infobox V3/Tableau début
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
{{#ifeq:Modèle:Wikidata|Modèle:Wikidata | | Modèle:Infobox V3/Tableau Ligne mixte Wikidata }}
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte {{#invoke:Infobox/Fonctions/Logiciel|catByProgrammingLanguage}}
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Tableau Ligne mixte Wikidata
Modèle:Infobox V3/Titre Bloc Modèle:Infobox V3/Navigateur
Modèle:Infobox V3/Fin avec WikidataModèle:Rien{{#ifeq:|| {{#if:
| }}{{#if:
| {{#if: | | }}
}} }}
GTK (Modèle:Lang, anciennement GTK+<ref>Modèle:Lien web.</ref>) est un ensemble de bibliothèques logicielles, c'est-à-dire un ensemble de fonctions permettant de réaliser des interfaces graphiques. Cette bibliothèque a été développée originellement pour les besoins du logiciel de traitement d'images GIMP. GTK+ est maintenant utilisé dans de nombreux projets, dont les environnements de bureau GNOME, Xfce, Lxde et ROX.
GTK est un projet libre (licence GNU LGPL 2.1) et multiplate-forme.
Langages
GTK est écrit en langage C et utilise pourtant le paradigme de la programmation orientée objet<ref>GTK+ has a C-based object-oriented architecture that allows for maximum flexibility[1]</ref> grâce à la bibliothèque GObject. Il est également possible d'utiliser GTK dans de nombreux autres langages de programmation<ref>Bindings GTK+</ref>: C++ (avec gtkmm), C# et Visual Basic (Gtk#), F# (Gtk#), Java (Modèle:Lien), JavaScript, Perl, Python, Vala, Ada, D, Fortran, Haskell, OCaml, PHP, Ruby (Modèle:Lien), Rust, etc.
Apparence
GTK est l'interface de différents environnements de bureau comme GNOME, Xfce ou encore ROX ce qui permet une intégration parfaite. Il s'intègre également dans d'autres environnements de bureau GNU/Linux grâce à un moteur de thème qui mime l'interface initiale. Il en va de même sur Windows et Mac OS X.
Parmi ces moteurs de thèmes, on retrouve Luna (Windows XP), Motif, Qt ou NeXTSTEP. Mais aussi des moteurs originaux comme Industrial par Novell ou Bluecurve par Red Hat.
GTK+ 2
GTK+2 a succédé à GTK+1.2, marquant une rupture de compatibilité. Ainsi, les applications basées sur GTK+1.2 et souhaitant utiliser GTK+2 ont dû être adaptées.
La bibliothèque intègre un nouveau système de rendu du texte utilisant Pango, un nouveau moteur de thème, une meilleure accessibilité en utilisant ATK (Accessibility Toolkit), prend en charge complètement Unicode en utilisant l'UTF-8 et une API plus flexible.
Quelques évolutions notables :
- GTK+ 2.4 introduit un nouveau sélecteur de fichiers qui sera perfectionné progressivement par la suite.
- GTK+ 2.8 permet l'exploitation de Cairo.
- GTK+ 2.10 offre un système complet pour l'impression et gère la liste des fichiers récemment ouverts.
- GTK+ 2.12 inclut GtkBuilder comme remplaçant de libglade
- GTK+ 2.18 introduit le procédé Modèle:Lang<ref>{{#invoke:Langue|indicationDeLangue}} GTK+ 2.17.3 unstable release, 10 juillet 2009</ref> qui consiste à transférer le plus possible le dessin des fenêtres du serveur X à GTK+ (plus précisément GDK). Un des bénéfices immédiats est de fluidifier l'affichage lors des défilements<ref>{{#invoke:Langue|indicationDeLangue}} How to remove flicker from Gtk+, par Alexander Larsson, le 10 février 2009</ref>. À terme elle offre la possibilité de transformer/animer à volonté les widgets GTK+ (boutons, etc.)<ref>{{#invoke:Langue|indicationDeLangue}} The return of Client side windows, par Alexander Larsson, le 12 juin 2009</ref>.
- Préparant la version 3.0, la version 2.22 court-circuite GDK pour confier directement à Cairo la plus grande partie du rendu graphique<ref>{{#invoke:Langue|indicationDeLangue}} GTK+ 2.22.0 released, sur la liste de diffusion de GTK+, le 23 septembre 2010</ref>.
- GTK+ 2.24 est la dernière version de la série 2.x<ref>{{#invoke:Langue|indicationDeLangue}} GTK+ 2.24.0, sur la liste de diffusion de GTK+, le 30 janvier 2011</ref>. Des versions correctives de cette version majeure sont régulièrement livrées, jusqu'à la sortie de GTK 4.0. Début 2013, la dernière version en date est GTK 2.24.14. Celle-ci contient d'importants correctifs (notamment de fuites de mémoire affectant les utilisateurs de GTK sous Windows). Le 16 Décembre 2020, La fondation GTK annonce la fin de maintenance de GTK+ 2.24 avec la sortie de la version GTK+ 2 finale, la 2.24.33<ref>Modèle:Lien web</ref>.
GTK+ 3
Sortie le 10 février 2011, GTK+ 3.0 est une version majeure qui rompt la compatibilité avec la série 2.xx (pour faciliter la transition, les deux versions peuvent être installées en parallèle). GTK+ 3.0 constitue notamment l'aboutissement du projet Ridley qui est un travail de longue haleine consistant à consolider dans GTK+ les fonctions proposées dans des bibliothèques éparses dont la maintenance n'est pas correctement assurée<ref>{{#invoke:Langue|indicationDeLangue}} Announcing: Project Ridley sur la liste de diffusion des développeurs GTK+ et GNOME</ref>,<ref>{{#invoke:Langue|indicationDeLangue}} Project Ridley sur live.gnome.org</ref>. Par ailleurs cette version offre une meilleure intégration de Cairo, une moindre dépendance à X11 (GTK+ 3 peut s'interfacer également avec Win32, Quartz, Wayland et HTML5/Broadway<ref>{{#invoke:Langue|indicationDeLangue}} Gtk+ HTML backend update, par Alexander Larsson, le 15 mars 2011</ref>), l'utilisation de XInput2 ainsi qu'un système de thèmes basé sur le langage CSS.
Quelques évolutions notables :
- GTK+ 3.2 intègre dorénavant la bibliothèque gérant l'accessibilité Gail (GNOME Accessibility Implementation Library)<ref>{{#invoke:Langue|indicationDeLangue}} GTK+ 3.1.10 sur la liste de diffusion des développeurs GTK+ et GNOME]</ref>.
- GTK+ 3.4 intègre une gestion basique des événements tactiles (et supporte le défilement doux)<ref>{{#invoke:Langue|indicationDeLangue}} GTK+ 3.4.0 released sur la liste de diffusion des développeurs GTK+ et GNOME]</ref>.
- GTK+ 3.8 prend en charge Wayland 1.0<ref>{{#invoke:Langue|indicationDeLangue}} GTK+ 3.8.0 released sur la liste de diffusion des développeurs GTK+ et GNOME]</ref>.
Outre les applications au cœur de GNOME 3, les logiciels suivants sont compatibles GTK+ 3 : gThumb 3.0.0, Shotwell 0.12, Liferea 1.10<ref>Modèle:Lien web</ref>, Pitivi 0.91<ref>Modèle:Lien web</ref>, Subtitle Editor 0.50.0, LibreOffice 5.0.0<ref>Modèle:Lien web</ref>, Eclipse 4.4, les versions GNU/Linux de Firefox 46<ref>Modèle:Lien web</ref> et Thunderbird 52, GParted 1.0.0, Inkscape 1.0<ref>Modèle:Lien web</ref>…
Xfce a achevé son port vers GTK+ 3 avec sa version 4.14<ref>{{#invoke:Langue|indicationDeLangue}} Xfce 4.14 released, xfce.org</ref>, et MATE avec sa version 1.1.18.
GTK 4
En Modèle:Date-, lors du GTK+ hackfest, a été lancée la nouvelle feuille de route du développement de la version 4<ref>Modèle:Lien web</ref>. Elle sort le Modèle:Date<ref>Modèle:Lien web</ref>.
GTK 4.2.0, sorti le Modèle:Date-, ajoute le NGL (New GL) renderer, qui améliore les performances, il est toujours possible d'utiliser l'ancien mode via export GSK_RENDERER=gl
<ref>Modèle:Lien web</ref>. Il permet l’accélération matérielle sur les mobiles tournant sous GNU/Linux comme le PinePhone, avec l'application Megapixels, spécialisée dans la capture de photo<ref>Modèle:Lien web</ref>.
GTK 4.4.0 est sorti le 23 août 2021<ref>Modèle:Lien web</ref>. Le NGL renderer continue d'être amélioré. Sous Windows, GL est désormais utilisé pour jouer des media. Les thèmes ont été réorganisés et renommés. L'Inspecteur d'applications GTK est désormais activé par défaut.
Notes et références
Voir aussi
Articles connexes
Liens externes
- Modèle:Site officiel
- {{#invoke:Langue|indicationDeLangue}} Forum Discourse consacré à GTK
- {{#invoke:Langue|indicationDeLangue}} Communauté francophone sur Developpez.com