GTK+

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir GTK.
GTK+
Image illustrative de l'article GTK+
Logo

gtk3-demo
gtk3-demo

Développeurs L'équipe GTK+ et de nombreux contributeurs[1]
Dernière version 3.12.2 (12 mai 2014) [+/-]
Environnements Multiplate-forme
Type manipulation des interfaces graphique
Licence GNU LGPL 2.1
Site web www.gtk.org
Wayland, libwayland-client et GTK+

GTK+ (The GIMP Toolkit) 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[modifier | modifier le code]

GTK+ est écrit en langage C et utilise pourtant le paradigme de la programmation orientée objet[2]. Il est également possible d'utiliser GTK+ dans de nombreux autres langages de programmation[3]: C++ (avec gtkmm), Ada (avec GtkAda), Fortran (avec gtk-fortran), Pascal, PHP, Perl, Ruby, OCaml, Java (java-gnome (en)), Python, Vala, Seed (JavaScript) ou encore C# avec la plateforme mono au travers du binding Gtk#, etc.

Apparence[modifier | modifier le code]

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[modifier | modifier le code]

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é client-side windows[4] 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[5]. À terme elle offre la possibilité de transformer/animer à volonté les widgets GTK+ (boutons, etc.)[6].
  • Préparant la version 3.0, la version 2.22 court-circuite GDK pour confier directement à Cairo la plus grande partie du rendu graphique[7].
  • GTK+ 2.24 est la dernière version de la série 2.x[8]. Des versions correctives de cette version majeure sont régulièrement livrées. 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).

GTK+ 3[modifier | modifier le code]

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 préposées dans des bibliothèques éparses dont la maintenance n'est pas correctement assurée[9],[10]. 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[11]), 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)[12].
  • GTK+ 3.4 intègre une gestion basique des événements tactiles (et supporte le défilement doux)[13].
  • GTK+ 3.8 prend en charge Wayland 1.0[14].

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.... À la date du 18 juin 2013, Firefox, GIMP, Pitivi, Xfce et MATE[15] sont en cours de portage vers GTK+ 3.

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) The GTK+ Team
  2. GTK+ has a C-based object-oriented architecture that allows for maximum flexibility[1]
  3. Bindings GTK+
  4. (en) GTK+ 2.17.3 unstable release, 10 juillet 2009
  5. (en) How to remove flicker from Gtk+, par Alexander Larsson, le 10 février 2009
  6. (en) The return of Client side windows, par Alexander Larsson, le 12 juin 2009
  7. (en) GTK+ 2.22.0 released, sur la liste de diffusion de GTK+, le 23 septembre 2010
  8. (en) GTK+ 2.24.0, sur la liste de diffusion de GTK+, le 30 janvier 2011
  9. (en) Announcing: Project Ridley sur la liste de diffusion des développeurs GTK+ et GNOME
  10. (en) Project Ridley sur live.gnome.org
  11. (en) Gtk+ HTML backend update, par Alexander Larsson, le 15 mars 2011
  12. (en) GTK+ 3.1.10 sur la liste de diffusion des développeurs GTK+ et GNOME]
  13. (en) GTK+ 3.4.0 released sur la liste de diffusion des développeurs GTK+ et GNOME]
  14. (en) GTK+ 3.8.0 released sur la liste de diffusion des développeurs GTK+ et GNOME]
  15. « MATE DESKTOP STATUS GTK3 »,‎ 11/07/2014 (consulté le 11/07/2014)