GTK (toolkit): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
(21 versioni intermedie di 12 utenti non mostrate) | |||
Riga 1:
{{Software
|DimensioneLogo = 50px
|Screenshot =
|Didascalia = ''Widget'' di GTK
|Sviluppatore =
|DataPrimaVersione = {{data e tempo|14|04|1998}}
Riga 15 ⟶ 14:
|SoftwareLibero = sì
}}
'''GTK''' (in passato '''GTK+'''<ref name=":0">{{Cita web|url=https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00000.html|titolo=Project rename to "GTK"|autore=Emmanuele Bassi|sito=mail.gnome.org|data=6 febbraio 2019|accesso=8 febbraio 2019}}</ref>, acronimo che sta per '''GIMP ToolKit''') in [[informatica]], è un [[toolkit]] (insieme di strumenti, di cui il principale è la libreria libgtk) per la creazione di [[interfaccia grafica|interfacce grafiche]]. Sviluppato in [[C (linguaggio)|C]], supporta nativamente l'ambiente grafico [[X Window System]], [[Wayland (protocollo)|Wayland]] e [[Microsoft Windows]]. È [[software libero]] (parte del progetto [[GNU]]) secondo la licenza [[GNU Lesser General Public License|LGPL]].
Il toolkit, progettato inizialmente come ausilio alla programmazione per il noto programma di grafica [[GIMP]], ha acquisito popolarità scavalcando le librerie [[Motif]] e divenendo parte fondamentale dell'ambiente desktop [[GNOME]] e di altri ambienti.
==
=== Aspetto ===
[[File:Gedit-italiano.png|thumb|upright=1.3|L'[[editor di testo]] «''[[gedit]]''», realizzato con GTK+ 2]]
L'utente finale può configurare l'aspetto dell'interfaccia a suo piacimento grazie alla possibilità di cambiare il tema utilizzato. Si possono così emulare le sembianze di altre librerie o di altri ambienti, tra i quali [[Windows 95]], [[Motif]], [[Qt (toolkit)|Qt]] o [[NEXTSTEP|NeXTSTEP]]. I temi possono essere configurati dalla versione 3 tramite [[CSS]]<ref>{{Cita web|url=https://developer.gnome.org/gtk3/stable/chap-css-overview.html|titolo=GTK+ CSS Overview: GTK+ 3 Reference Manual|sito=developer.gnome.org|accesso=3 aprile 2021}}</ref> (in precedenza mediante un linguaggio specifico) e possono gestire bordi arrotondati, animazioni e trasparenze.
GtkBuilder è il sistema per realizzare il layout delle interfacce grafiche senza scrivere codice. L'interfaccia grafica dell'applicazione è descritta in [[XML]], il file viene caricato all'avvio dell'applicazione e crea tutti gli oggetti grafici. L'editor [[Glade]] (GTK 2 e 3) e [[Cambalache]] (GTK 3 e 4) permettono di costruire l'interfaccia grafica in modo [[WYSIWYG]]. I file di interfaccia XML sono indipendenti dal linguaggio usato dall'applicazione sottostante.
=== Piattaforme supportate ===
In origine il toolkit GTK era destinato solo all'[[X Window System]], che comunque rimane la piattaforma di riferimento. Attualmente può essere installato su [[Microsoft Windows]] (dalla versione 4 è richiesto [[Windows 7]] o superiore), [[DirectFB]], e [[Quartz (Mac OS X)|Quartz]] ([[OS X Mavericks]] o superiora) e anche col nuovo protocollo grafico di riferimento su GNU/Linux [[Wayland (protocollo)|Wayland]].
== Codice non collegato alla grafica ==
Riga 27 ⟶ 33:
Per la sua estendibilità, [[portabilità]] e bontà tecnica è stata scelta come componente per altri widget toolkit, come [[wxWidgets]].
===
GTK usa il linguaggio di programmazione [[C (linguaggio)|C]] esteso, grazie a [[GLib]] e [[GObject]], al paradigma della [[programmazione orientata agli oggetti]].
GTK fornisce [[binding]] per linguaggi come il [[C++]], il [[Perl]], il [[Ruby (linguaggio di programmazione)|Ruby]], il [[Java (linguaggio di programmazione)|Java]] e [[Python]] ([[PyGTK]]). Altri hanno aggiunto anche il supporto ad altri linguaggi come [[Ada (linguaggio)|Ada]], [[Fortran]], [[D (linguaggio di programmazione)|D]], [[Haskell (linguaggio)|Haskell]], [[Pascal (linguaggio)|Pascal]], [[PHP]], [[Pike(linguaggio)|Pike]] e [[C sharp|C#]] grazie a [[Mono (progetto)|Mono]] (Gtk#).
È anche possibile usare l'[[HTML5]] come output, visualizzando l'interfaccia su [[browser]].<ref>{{Cita web|url=https://developer.gnome.org/gtk3/stable/gtk-broadway.html|titolo=Using GTK+ with Broadway: GTK+ 3 Reference Manual|sito=developer.gnome.org|accesso=3 aprile 2021}}</ref>
== Storia ==
=== GTK+ 2 ===
GTK+ 2 si è sviluppata con l'intenzione di sostituire e migliorare la GTK+. Tra le nuove caratteristiche<ref>{{cita web | titolo=Novità introdotte nella Gtk+ 2 | url=http://svn.gnome.org/viewvc/gtk%2B/trunk/NEWS?revision=6251&view=markup | sito=codice sorgente della Gtk | lingua=en
* un gestore dei temi (introdotto già dalla versione 1.2.0 ma rielaborato successivamente per consentire la personalizzazione di ogni singolo elemento grafico)
Riga 48 ⟶ 51:
Tuttavia, GTK+ 2 non è compatibile con GTK+ 1, ed i programmatori devono migrare il loro vecchio codice.
A partire dalla versione 2.8, GTK+ 2 dipende dalla libreria [[Cairo (grafica)|Cairo]] per il rendering dell'interfaccia mediante [[grafica vettoriale]] 2D.
=== GTK+ 3 ===
[[File:GTK+3-widget-factory-3-12.png|miniatura|I widget di GTK+ 3.12]]
La versione 3 è stata rilasciata il 10 febbraio 2011<ref>{{Cita web|url=https://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html|titolo=GTK+ 3.0.0 released|sito=mail.gnome.org|accesso=3 aprile 2021
*
* viene usato Cairo per ogni operazione grafica
* XInput2 viene usato per la gestione dell'input, supportando i gesti e [[multi-touch]]
Riga 62 ⟶ 65:
=== GTK 4 ===
===
{|
|-
! Versione famiglia
! Data iniziale rilascio
! Principali miglioramenti
! Ultima versione minore
|-
! {{Version|o|1.0}}
| style="white-space: nowrap;" | 1998-04-13<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-list/1998-April/msg00303.html |titolo=ANNOUNCE: GTK+ 1.0.0 Released! |data=13 aprile 1998 |cognome=Amundson |nome=Shawn T. |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190312022545/https://mail.gnome.org/archives/gtk-list/1998-April/msg00303.html |urlmorto=no|lingua=en}}</ref>
| Prima versione stabile
| 1.0.
|-
! {{Version|o|1.2}}
| style="white-space: nowrap;" | 1999-02-25<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-list/1999-February/msg00756.html |titolo=ANNOUNCE: GTK+ and GLib 1.2.0 Released |data=25 febbraio 1999 |cognome=Amundson |nome=Shawn T. |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20200810170943/https://mail.gnome.org/archives/gtk-list/1999-February/msg00756.html |urlmorto=no|lingua=en}}</ref>
| Nuovi [[Widget (informatica)|widget]]:
* GtkFontSelector
* GtkPacker
* GtkItemFactory
* GtkCTree
* GtkInvisible
* GtkCalendar
* GtkLayout
* GtkPlug
* GtkSocket
| 1.2.10
|-
! {{Version|o|2.0}}
| style="white-space: nowrap;" | 2002-03-11<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-list/2002-March/msg00136.html |titolo=GTK+-2.0.0 released |data=11 marzo 2002 |cognome=Taylor |nome=Owen |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20200810165729/https://mail.gnome.org/archives/gtk-list/2002-March/msg00136.html |urlmorto=no|lingua=en}}</ref>
|
| 2.0.9
|-
! {{Version|o|2.2}}
| style="white-space: nowrap;" | 2002-12-22<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-list/2002-December/msg00206.html |titolo=GTK+-2.2.0 released |data=22 dicembre 2002 |cognome=Taylor |nome=Owen |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20200810171903/https://mail.gnome.org/archives/gtk-list/2002-December/msg00206.html |urlmorto=no|lingua=en}}</ref>
| Supporto [[
| 2.2.4
|-
! {{Version|o|2.4}}
| style="white-space: nowrap;" | 2004-03-16<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-list/2004-March/msg00111.html | titolo = GTK+-2.4.0 released |data=16 marzo 2004 |cognome= Taylor |nome= Owen |urlarchivio=https://web.archive.org/web/20200810165134/https://mail.gnome.org/archives/gtk-list/2004-March/msg00111.html |urlmorto=no|lingua=en}}</ref>
| Nuovi widget
* * GtkComboBox * GtkComboBoxEntry * GtkExpander * GtkFontButton * GtkColorButton | 2.4.14
|-
! {{Version|o|2.6}}
| style="white-space: nowrap;" | 2004-12-16<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-list/2004-December/msg00155.html |titolo=GTK+-2.6.0 released |data=16 dicembre 2004 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20200810164349/https://mail.gnome.org/archives/gtk-list/2004-December/msg00155.html |urlmorto=no|lingua=en}}</ref>
| Nuovi widget
* * GtkAboutDialog * GtkCellView Ultima versione a supoortare [[Windows 98]]/[[Windows Me|Me]]
| 2.6.10
|-
! {{Version|o|2.8}}
| style="white-space: nowrap;" | 2005-08-13<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-list/2005-August/msg00124.html | titolo = GTK+ 2.8.0 released |data=13 agosto 2005 | accesso=20 maggio 2019 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20200810170418/https://mail.gnome.org/archives/gtk-list/2005-August/msg00124.html |urlmorto=no|lingua=en}}</ref>
|
| 2.8.20
|-
! {{Version|o|2.10}}
| style="white-space: nowrap;" | 2006-07-03<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2006-July/msg00004.html | titolo = GTK+ 2.10 released |data=3 luglio 2006 | accesso=20 maggio 2019 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20210122165417/https://mail.gnome.org/archives/gtk-devel-list/2006-July/msg00004.html |urlmorto=no|lingua=en}}</ref>
| Nuovi widget:
* * GtkAssistant * GtkLinkButton * GtkRecentChooser Supporto per la stampa: | 2.10.14
|-
! {{Version|o|2.12}}
| style="white-space: nowrap;" | 2007-09-14<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2007-September/msg00052.html |titolo=GTK+ 2.12 released |data=14 settembre 2007 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190525193406/https://mail.gnome.org/archives/gtk-devel-list/2007-September/msg00052.html |urlmorto=no|lingua=en}}</ref>
| Nuovo sistema per la generazione dell'[[Interfaccia grafica|interfaccia]] da un file [[XML]] (GtkBuilder)
| style="white-space: nowrap;" | 2.12.12
|-
! {{Version|o|2.14}}
| style="white-space: nowrap;" | 2008-09-04<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2008-September/msg00024.html |titolo=GTK+ 2.14.0 released |data=4 settembre 2008 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20200810171006/https://mail.gnome.org/archives/gtk-devel-list/2008-September/msg00024.html |urlmorto=no|lingua=en}}</ref>
| Supporto al caricamento [[
| style="white-space: nowrap;" | 2.14.7
|-
! {{Version|o|2.16}}
| style="white-space: nowrap;" | 2009-03-13<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2009-March/msg00101.html |titolo=GTK+ 2.16.0 released |data=13 marzo 2009 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190603111921/https://mail.gnome.org/archives/gtk-devel-list/2009-March/msg00101.html |urlmorto=no|lingua=en}}</ref>
|
Caps Lock warning nell'inserimento di password. Miglioramenti in GtkScale, GtkStatusIcon, GtkFileChooser. | style="white-space: nowrap;" | 2.16.6
|-
! {{Version|o|2.18}}
| style="white-space: nowrap;" | 2009-09-23<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2009-September/msg00054.html |titolo=GTK+ 2.18.0 released |data=23 settembre 2009 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190603112318/https://mail.gnome.org/archives/gtk-devel-list/2009-September/msg00054.html |urlmorto=no|lingua=en}}</ref>
|
Miglioramenti in GtkEntry, GtkBuilder, GtkFileChooser e nell'interfaccia di stampa. | style="white-space: nowrap;" | 2.18.9
|-
! {{Version|o|2.20}}
| style="white-space: nowrap;" | 2010-03-23<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2010-March/msg00132.html | titolo = GTK+ 2.20.0 released |data=23 marzo 2010 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190525193410/https://mail.gnome.org/archives/gtk-devel-list/2010-March/msg00132.html |urlmorto=no|lingua=en}}</ref>
| Nuovi widget:
* GtkSpinner
* GtkToolPalette
* GtkOffscreenWindow
Miglioramenti in GtkFileChooser, nella gestione della tastiera e i dati di introspezione di GDK son ora inclusi in GTK+.
| style="white-space: nowrap;" | 2.20.1
|-
! {{Version|o|2.22}}
| style="white-space: nowrap;" | 2010-09-23<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2010-September/msg00263.html | titolo = GTK+ 2.22.0 released |data=23 settembre 2010 | accesso=20 maggio 2019 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190525193414/https://mail.gnome.org/archives/gtk-devel-list/2010-September/msg00263.html |urlmorto=no|lingua=en}}</ref>
| gdk-pixbuf spostato in un modulo a parte, le operazioni di disegno di GDK sono ora completamente effettuate da Cairo, molti dati interni sono stati resi privati e possono essere nascosti in preparazione di GTK+3.
| style="white-space: nowrap;" | 2.22.1
|-
! {{Version|o|2.24}}
| style="white-space: nowrap;" | 2011-01-30<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2011-January/msg00042.html | titolo = GTK+ 2.24.0 |data=20 gennaio 2011 | accesso=20 maggio 2019 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190508195340/https://mail.gnome.org/archives/gtk-devel-list/2011-January/msg00042.html |urlmorto=no|lingua=en}}</ref>
|
Migrazione da GTK+ 2.x a GTK+ 3
| style="white-space: nowrap;" | 2.24.33<br />(2020-12-21)<ref>{{Cita web |data=21 dicembre 2020 |titolo=Tags · GNOME / gtk · GitLab |url=https://gitlab.gnome.org/GNOME/gtk/-/tags?sort=updated_desc&search=2.24 |sito=GitLab |urlarchivio=https://web.archive.org/web/20231204065829/https://gitlab.gnome.org/GNOME/gtk/-/tags?sort=updated_desc&search=2.24 |urlmorto=no|lingua=en}}</ref>
|-
! {{Version|o|3.0}}
| style="white-space: nowrap;" | 2011-02-10<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html |titolo=GTK+ 3.0.0 released |data=10 febbraio 2011 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190312022544/https://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html |urlmorto=no|lingua=en}}</ref>
|Inclusione di diverse librerie all'interno GTK <code>libgnome</code>, <code>libgnomeui</code>, <code>libgnomeprint22</code>, <code>libgnomeprintui22</code>, <code>libglade</code>, <code>libgnomecanvas</code>, <code>libegg</code>, <code>libeel</code>, <code>gtkglext</code>, and <code>libsexy</code><ref>{{Cita web|url=https://wiki.gnome.org/Attic/ProjectRidley|titolo=Attic/ProjectRidley - GNOME Wiki!|sito=wiki.gnome.org|urlarchivio=https://web.archive.org/web/20160304091150/https://wiki.gnome.org/Attic/ProjectRidley|urlmorto=no|lingua=en}}</ref>
Tutto il rendering viene effettuato con cairo; meno dipendenza da X11; introduzione XInput2; temi basati su [[CSS]]
| style="white-space: nowrap;" | 3.0.12
|-
! {{Version|o|3.2}}
| style="white-space: nowrap;" | 2011-09-25<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2011-September/msg00175.html |titolo=GTK+ 3.2.0 |data=25 settembre 2011 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190525193409/https://mail.gnome.org/archives/gtk-devel-list/2011-September/msg00175.html |urlmorto=no|lingua=en}}</ref>
| Nuovi widget:
* GtkLockButton
* GtkOverlay
nuovo dialogo di scelta del font,
Nuovi backend sperimentali:
* [[Wayland (protocollo)|Wayland]]
* [[HTML5]] (denominato "Broadway")
| style="white-space: nowrap;" | 3.2.4
|-
! {{Version|o|3.4}}
| style="white-space: nowrap;" | 2012-03-26<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2012-March/msg00082.html | titolo = GTK+ 3.4.0 released |data=26 marzo 2012 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190525193407/https://mail.gnome.org/archives/gtk-devel-list/2012-March/msg00082.html |urlmorto=no|lingua=en}}</ref>
| Menu di supporto in GtkApplication,
Accessibilità: Il supporto all'accesso alla visualizzazione a struttura è stato riscritto e funziona molto meglio ora, supporto più completo ai temi CSS. | style="white-space: nowrap;" | 3.4.4
|-
! {{Version|o|3.6}}
| style="white-space: nowrap;" | 2012-09-24<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2012-September/msg00045.html |titolo=GTK+ 3.6.0 released |data=24 settembre 2012 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190525193412/https://mail.gnome.org/archives/gtk-devel-list/2012-September/msg00045.html |urlmorto=no|lingua=en}}</ref>
| Niovi widget:
* GtkSearchEntry
* GtkMenuButton
* GtkLevelBar
Pulsanti di rotazione verticale. animazioni CSS, ombre sfocate. Supporto alla dissolvenza incrociata e alle transizioni nei temi.
| style="white-space: nowrap;" | 3.6.5
|-
! {{Version|o|3.8}}
| style="white-space: nowrap;" | 2013-03-25<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00108.html | titolo = GTK+ 3.8.0 released |data=25 marzo 2013 | accesso=20 maggio 2019 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20160303210908/https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00108.html |urlmorto=no|lingua=en}}</ref>
| Supporto a Wayland 1.0 stabile, server broadwayd, miglioramenti nei temi, migliore gestione alla geometria dell'interfaccia, miglioramenti delle interazioni touch, supporto alla sincronizaazione dei frame nei [[window manager]]
| style="white-space: nowrap;" | 3.8.9
|-
! {{Version|o|3.10}}
| style="white-space: nowrap;" | 2013-09-23<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2013-September/msg00057.html | titolo = GTK+ 3.10.0 released |data=23 settembre 2013 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190525193411/https://mail.gnome.org/archives/gtk-devel-list/2013-September/msg00057.html |urlmorto=no|lingua=en}}</ref>
| Nuovi widget:
* GtkHeaderBar
* GtkPlacesSidebar
* GtkStack
* GtkStackSwitcher
* GtkRevealer
* GtkSearchBar
* GtkListBox
Supporto per Wayland 1.2
Aggiunto:
* decorazioni lato client
* supporto output scalato su schermi ad alta risoluzione
* modalità di regolazione fine per lo scorrimento
Rimosso:
* supporto per il protocollo Motif DND
* supporto per più schermi per display
* gdk_window_get_display
* gtk_widget_push_composite_child
Voci di menu staccabili, più molte impostazioni GTK
Il moderno modello di disegno GTK
| style="white-space: nowrap;" | 3.10.9
|-
! {{Version|o|3.12}}
| style="white-space: nowrap;" | 2014-03-25<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2014-March/msg00060.html | titolo = GTK+ 3.12 released |data=25 marzo 2014 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190525193407/https://mail.gnome.org/archives/gtk-devel-list/2014-March/msg00060.html |urlmorto=no|lingua=en}}</ref>
| Supporto per Wayland 1.5
Nuovo widget: GtkPopover (una alternativa a menu e dialoghi)
| style="white-space: nowrap;" | 3.12.2
|-
! {{Version|o|3.14}}
| style="white-space: nowrap;" | 2014-09-22<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-devel-list/2014-September/msg00007.html | titolo = GTK+ 3.14.0 released |data=22 settembre 2014 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190525193409/https://mail.gnome.org/archives/gtk-devel-list/2014-September/msg00007.html |urlmorto=no|lingua=en}}</ref>
| Introdotto [[GtkInspector]] (una copia di gtkparasite)<ref>{{Cita web |url=http://blogs.gnome.org/mclasen/2014/05/15/introducing-gtkinspector/ |titolo=GtkInspector Author's blog entry |autore=Matthias Clasen |data=15 maggio 2014 |urlarchivio=https://web.archive.org/web/20140517185349/http://blogs.gnome.org/mclasen/2014/05/15/introducing-gtkinspector/ |urlmorto=no|lingua=en}}</ref><ref>{{Cita web |url=https://wiki.gnome.org/Projects/GTK%2B/Inspector |titolo=GtkInspector in GNOME wiki |data=15 maggio 2014 |urlarchivio=https://web.archive.org/web/20140524030546/https://wiki.gnome.org/Projects/GTK%2B/Inspector |urlmorto=no|lingua=en}}</ref>
Migliorato il supporto per i gesti e [[multi-touch]]<ref>{{Cita web |url=https://www.phoronix.com/scan.php?page=news_item&px=MTY5ODc |titolo=Merging gestures into 3.14 |data=23 maggio 2014 |urlarchivio=https://web.archive.org/web/20160914120128/http://www.phoronix.com/scan.php?page=news_item&px=MTY5ODc |urlmorto=no|lingua=en}}</ref><ref>{{Cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2014-March/msg00018.html |titolo=RFC: gestures |data=4 marzo 2014 |urlarchivio=https://web.archive.org/web/20140524023059/https://mail.gnome.org/archives/gtk-devel-list/2014-March/msg00018.html |urlmorto=no|lingua=en}}</ref>
Deprecazioni:<ref>{{Cita web|url=https://mail.gnome.org/archives/ftp-release-list/2014-May/msg00119.html|titolo=gtk+ 3.13.2|data=27 maggio 2014|urlarchivio=https://web.archive.org/web/20140529051203/https://mail.gnome.org/archives/ftp-release-list/2014-May/msg00119.html|urlmorto=no|lingua=en}}</ref>
* GtkMisc
* GtkAlignment
* GtkArrow
* GdkColor
* Style regions
* support for .icon files
* gdk_window_flush
* drawing outside of begin/end paint
La maggior parte dei widget sono stati convertiti per utilizzare i gesti internamente.
Supporto a Wayland nella GNOME Shell classic mode<ref>{{Cita web |url=https://mail.gnome.org/archives/ftp-release-list/2014-June/msg00075.html |titolo=gtk+ 3.13.3 |data=24 giugno 2014 |urlarchivio=https://web.archive.org/web/20141215042625/https://mail.gnome.org/archives/ftp-release-list/2014-June/msg00075.html |urlmorto=no|lingua=en}}</ref>
| style="white-space: nowrap;" | 3.14.15
|-
! {{Version|o|3.16}}
| style="white-space: nowrap;" | 2015-03-22<ref>{{cita web |url=https://mail.gnome.org/archives/gtk-devel-list/2015-March/msg00062.html |titolo=GTK+ 3.16.0 released |data=22 marzo 2015 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20190525193410/https://mail.gnome.org/archives/gtk-devel-list/2015-March/msg00062.html |urlmorto=no|lingua=en}}</ref>
| GDK supporta il rendering delle finestre utilizzando OpenGL per X11 e Wayland utilizzando [[libepoxy]]
Nuovi widget:
* GtkGLArea
* GtkStackSidebar
* GtkModelButton
* GtkPopoverMenu
Scorrimento revisionato ([[barra di scorrimento]] nascosta per impostazione predefinita<ref>{{Cita web|url=http://www.heise.de/open/meldung/Linux-Desktop-Neues-Gnome-zeigt-Nachrichten-oben-2584020.html|titolo=Linux-Desktop: Neues Gnome zeigt Nachrichten oben|nome=heise|cognome=online|sito=heise online|data=25 marzo 2015|urlarchivio=https://web.archive.org/web/20160625193825/http://www.heise.de/open/meldung/Linux-Desktop-Neues-Gnome-zeigt-Nachrichten-oben-2584020.html|urlmorto=no|lingua=en}}</ref>)
Backend sperimentale [[Mir (software)|Mir]]<ref>{{Cita web|url=https://mail.gnome.org/archives/gnome-announce-list/2015-March/msg00029.html|titolo=GTK+ 3.16.0 released|sito=mail.gnome.org|urlarchivio=https://web.archive.org/web/20160407050958/https://mail.gnome.org/archives/gnome-announce-list/2015-March/msg00029.html|urlmorto=no|lingua=en}}</ref>
| style="white-space: nowrap;" | 3.16.7
|-
! {{Version|o|3.18}}
| style="white-space: nowrap;" | 2015-09-23<ref>{{Cita web|url=https://news.softpedia.com/news/gtk-plus-3-18-0-officially-released-as-part-of-the-gnome-3-18-desktop-environment-492591.shtml|titolo=GTK+ 3.18.0 Officially Released as Part of the GNOME 3.18 Desktop Environment|cognome=Nestor|nome=Marius|data=Sep 24, 2015|sito=Softpedia|urlarchivio=https://web.archive.org/web/20190525193407/https://news.softpedia.com/news/gtk-plus-3-18-0-officially-released-as-part-of-the-gnome-3-18-desktop-environment-492591.shtml|urlmorto=no|lingua=en}}</ref>
| Add CSS node infrastructure
More filechooser design refresh and better filechooser search
Dropped Windows XP support
Model support for list and flow box
Kinetic touchpad scrolling
Touchpad gestures (Wayland)
gtk-builder-tool utility
Output-only windows
Aggiunta infrastruttura CSS a nodi; ulteriore aggiornamento del design del filechooser e migliore ricerca del filechooser; supporto modello per elenco e casella di flusso; scorrimento cinetico del touchpad; gesti del touchpad (Wayland); utilità gtk-builder-tool; finestre di sola uscita
Eliminato il supporto a [[Windows XP]]
| style="white-space: nowrap;" | 3.18.9
|-
! {{Version|o|3.20}}
| style="white-space: nowrap;" | 2016-03-21<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-list/2016-March/msg00026.html | titolo = GTK+ 3.20 |data=21 marzo 2016 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190312022556/https://mail.gnome.org/archives/gtk-list/2016-March/msg00026.html |urlmorto=no|lingua=en}}</ref>
| Miglioramenti ai nodi CSS<ref>{{Cita web |url=https://wiki.gnome.org/Projects/GTK%2B/StyleClasses |titolo=GTK+ 3.20 – Style Classes and Element Names |data=20 novembre 2015 |urlarchivio=https://web.archive.org/web/20160305074823/https://wiki.gnome.org/Projects/GTK+/StyleClasses |urlmorto=no|lingua=en}}</ref>
Nuovo widget: GtkShortcutsWindow (mostra le [[scorciatoie da tastiera]] e i gesti di un'applicazione)
| style="white-space: nowrap;" | 3.20.10
|-
! {{Version|o|{{Anchor|3.22}}3.22}}
| style="white-space: nowrap;" | 2016-09-21<ref>{{cita web | url = https://mail.gnome.org/archives/gtk-list/2016-September/msg00006.html | titolo = GTK+ 3.22 released |data=21 settembre 2016 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190525193423/https://mail.gnome.org/archives/gtk-list/2016-September/msg00006.html |urlmorto=no|lingua=en}}</ref>
| Ultima versione della serie 3.x<ref>{{cita web |url=https://blog.gtk.org/2016/09/01/versioning-and-long-term-stability-promise-in-gtk/ |titolo=Versioning and long term stability promise in GTK |data=1º settembre 2016 |pubblicazione=GTK development blog | |urlarchivio=https://web.archive.org/web/20160921023548/https://blog.gtk.org/2016/09/01/versioning-and-long-term-stability-promise-in-gtk/ |urlmorto=no |lingua=en}}</ref>
Supporto per la [[tavoletta grafica|tavolette grafiche]] sotto Wayland,<ref>{{Cita web|url=https://blogs.gnome.org/carlosg/2016/04/06/gtk-wayland-tablet-support-is-merged/|titolo=GTK+ Wayland tablet support is merged – Carlos Garnacho|data=6 aprile 2016 |urlarchivio=https://web.archive.org/web/20160416185814/https://blogs.gnome.org/carlosg/2016/04/06/gtk-wayland-tablet-support-is-merged/|urlmorto=no|lingua=en}}</ref><ref>{{Cita web|url=https://www.x.org/wiki/Events/XDC2016/Program/hutterer_input/|titolo=hutterer input|urlarchivio=https://web.archive.org/web/20160923183522/https://www.x.org/wiki/Events/XDC2016/Program/hutterer_input/|urlmorto=no|lingua=en}}</ref>
GTK 3.22 viene considerata stabile come GTK 2<ref name="ottegtk4">{{Cita web |url=http://videos.guadec.org/2013/GTK%20to%20infinity%20and%20beyond/ |titolo=GUADEC2013: Benjamin Otte talks about GTK+ |editore=[[GNOME Users And Developers European Conference|GUADEC]] |urlarchivio=https://web.archive.org/web/20140306004816/http://videos.guadec.org/2013/GTK%20to%20infinity%20and%20beyond/ |urlmorto=no|lingua=en}}</ref><ref name="lortie4">{{Cita web |url=https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/ |titolo=Gtk 4.0 will not be stable until Gtk 4.6 |data=13 giugno 2016 |urlarchivio=https://web.archive.org/web/20160623201838/https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/ |urlmorto=si|lingua=en}}</ref><ref name="lortie5">{{Cita web |url=https://blogs.gnome.org/desrt/2016/06/14/gtk-5-0-is-not-gtk-5/ |titolo=Gtk 5.0 will not be stable until Gtk 5.6 |data=14 giugno 2016 |urlarchivio=https://web.archive.org/web/20160623202157/https://blogs.gnome.org/desrt/2016/06/14/gtk-5-0-is-not-gtk-5/ |urlmorto=no|lingua=en}}</ref>
| style="white-space: nowrap;" | for 3+ years<br />3.22.29
|-
! {{Version|co|{{Anchor|3.24}} 3.24}}
| style="white-space: nowrap;" | 2018-09-03<ref>{{cita web | url = https://mail.gnome.org/archives/ftp-release-list/2018-September/msg00045.html | titolo = gtk+ 3.24.0 |data=3 settembre 2018 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20190525194009/https://mail.gnome.org/archives/ftp-release-list/2018-September/msg00045.html |urlmorto=no|lingua=en}}</ref>
| La 3.22 sarebbe dovuta essere l'ultima versione della serie GTK 3, ma è stata rilasciata la 3.24 principalmente per semplificare la migrazione da GTK 3 a GTK 4.
| style="white-space: nowrap;" | 3.23.0<br />3.23.1<br />3.23.2<br />3.23.3<br />3.24.0<br />...3.24.5<br />3.24.14<br />...
3.24.29
|-
! {{Version|o|{{Anchor|4.0}} 4.0}}
| style="white-space: nowrap;" | 2020-12-16<ref>{{cita web |url=https://mail.gnome.org/archives/ftp-release-list/2020-December/msg00029.html |titolo=gtk 4.0.0 |data=16 dicembre 2020 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20211028205630/https://mail.gnome.org/archives/ftp-release-list/2020-December/msg00029.html |urlmorto=no|lingua=en}}</ref>
| Nuovo motore di rendering [[Vulkan]] e [[OpenGL]]. Miglior supporto per Wayland e migliori performance.
* Nuovo GTK Scene Graph Kit (GSK)
* [[autotools]] rimpiazzati con [[Meson]]
| 4.0.3
|-
! {{Version|o|{{Anchor|4.2}} 4.2}}
| style="white-space: nowrap;" | 2021-03-30<ref>{{cita web |url=https://mail.gnome.org/archives/ftp-release-list/2021-March/msg00201.html |titolo=gtk 4.2.0 |data=30 marzo 2021 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20211027063457/https://mail.gnome.org/archives/ftp-release-list/2021-March/msg00201.html |urlmorto=no|lingua=en}}</ref>
|
|4.2.1
|-
! {{Version|o|{{Anchor|4.4}} 4.4}}
| style="white-space: nowrap;" | 2021-08-23<ref>{{cita web |url=https://mail.gnome.org/archives/ftp-release-list/2021-August/msg00083.html |titolo=gtk 4.4.0 |data=23 agosto 2021 |cognome=Clasen |nome=Matthias |pubblicazione=GNOME Mail Services |urlarchivio=https://web.archive.org/web/20210824073720/https://mail.gnome.org/archives/ftp-release-list/2021-August/msg00083.html |urlmorto=no|lingua=en}}</ref>
|
|4.4.1
|-
! {{Version|o|{{Anchor|4.6}} 4.6}}
| style="white-space: nowrap;" | 2021-12-30<ref>{{cita web | url = https://mail.gnome.org/archives/ftp-release-list/2021-December/msg00071.html | titolo = gtk 4.6.0 |data=30 dicembre 2021 | accesso=23 gennaio 2022 |cognome= Clasen |nome= Matthias |urlarchivio=https://web.archive.org/web/20220123100039/https://mail.gnome.org/archives/ftp-release-list/2021-December/msg00071.html |urlmorto=no|lingua=en}}</ref>
|
|4.6.9
|-
! {{Version|o|{{Anchor|4.8}} 4.8}}
|2022-09-06<ref>{{Cita web |url=https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-4-8/NEWS |titolo=gtk 4.8.0 |data=6 settembre 2022 |cognome=Clasen |nome=Matthias |urlarchivio=https://web.archive.org/web/20230111134008/https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-4-8/NEWS |urlmorto=no|lingua=en}}</ref>
|
|4.8.3
|-
!{{Version|o|{{Anchor|4.10}} 4.10}}
|2023-03-04<ref>{{Cita web |titolo=NEWS · 4.10.1 · GNOME / gtk · GitLab |url=https://gitlab.gnome.org/GNOME/gtk/-/blob/4.10.1/NEWS?ref_type=tags |sito=GitLab |data=13 marzo 2023 |urlarchivio=https://web.archive.org/web/20230419133553/https://gitlab.gnome.org/GNOME/gtk/-/blob/4.10.1/NEWS?ref_type=tags |urlmorto=no|lingua=en}}</ref>
| GtkFileChooser deprecato in favore di GtkFileDialog<ref>{{Cita web |url=https://blog.gtk.org/2022/10/30/on-deprecations/ |titolo=On deprecations – GTK Development Blog |data=30 ottobre 2022 |urlarchivio=https://web.archive.org/web/20240228135914/https://blog.gtk.org/2022/10/30/on-deprecations/ |urlmorto=no|lingua=en}}</ref>
|4.10.5
|-
!{{Version|o|{{Anchor|4.12}} 4.12}}
|2023-08-05<ref>{{Cita web |cognome=Clasen |nome=Matthias |data=28 luglio 2023 |titolo=NEWS · 4.12.0 · GNOME / gtk · GitLab |url=https://gitlab.gnome.org/GNOME/gtk/-/blob/4.12.0/NEWS?ref_type=tags |sito=GitLab |lingua=en}}</ref>
|
|4.12.5
|-
!{{Version|o|{{Anchor|4.14}} 4.14}}
|2024-03-12<ref>{{Cita web |cognome=Clasen |nome=Matthias |data=12 marzo 2024 |titolo=NEWS · 4.14.0 · GNOME / gtk · GitLab |url=https://gitlab.gnome.org/GNOME/gtk/-/blob/4.14.0/NEWS?ref_type=tags |sito=GitLab|lingua=en}}</ref>
|
|4.14.6
|-
!{{Version|c|{{Anchor|4.16}} 4.16}}
|2024-06-09<ref>{{Cita web |cognome=Clasen |nome=Matthias |data=7 settembre 2024 |titolo=NEWS · 4.16.0 · GNOME / gtk · GitLab |url=https://gitlab.gnome.org/GNOME/gtk/-/blob/4.16.0/NEWS?ref_type=tags |sito=GitLab|lingua=en}}</ref>
|
|4.16.12
|-
| colspan="4" | {{Version|l|show=111111}}
|}
==
{{Vedi categoria|Software in GTK+}}
=== Ambienti che usano GTK ===
Riga 185 ⟶ 416:
* [[GNOME]] è basato su GTK, quindi le applicazioni GNOME usano GTK
* [[Xfce]] è basato su GTK, anche se le sue applicazioni tipicamente non dipendono da molte librerie (questa è la differenza tra quello che è marcato “applicazione GNOME” e quello che è semplicemente “applicazione GTK”).
* [[Cinnamon (interfaccia grafica)|Cinnamon]] è basato su GTK
* [[LXDE]] è basato su GTK, l'acronimo significa "Lightweight X11 Desktop Environment"
* [[ROX Desktop]] è un desktop leggero, con funzioni che provengono dalla [[GUI]] del [[RISC OS]]
Riga 193 ⟶ 425:
* [[Openmoko (sistema operativo)|Openmoko]] telefono, GPS e palmare Linux, utilizza GTK per l'interfaccia fin dalla prima versione anche se nelle ultime distribuzioni supporta anche [[Qt (toolkit)|QT]] ed [[Enlightenment]].
Non è necessario usare questi ambienti grafici per eseguire programmi GTK. Se un programma richiede le librerie e queste sono installate, può funzionare anche su altri ambienti basati su X11, come [[KDE]]; Questo comprende [[MacOS|Mac OS X]] se X11.app è installato. GTK può funzionare anche su Microsoft Windows, ed è utilizzato da alcune popolari applicazioni cross-platform come GIMP e Pidgin. [[wxWidgets]], un cross-platform GUI toolkit, usa GTK su tutti i sistemi Unix. Alcuni port tra i più insoliti sono DirectFB e [[ncurses]].
=== Gestori di finestre ===
* [[Metacity]] e [[Xfce#xfwm4|Xfwm4]] usano GTK+ 2. [[Mutter (software)|Mutter]] usa GTK+ 3 e GTK 4.
=== Applicazioni scritte con l'uso di GTK ===
[[File:Inkscape 1.
Alcune significative applicazioni [[multipiattaforma]] con codice aperto che usano GTK come toolkit per widget:
* [[CinePaint]] (ex FilmGimp) - Editor di immagini Raster [[High dynamic range imaging|HDR]]
* [[Ardour]] - [[montaggio di audio digitale]]
* [[Deluge]] - client [[BitTorrent]]
* [[Evolution (software)|Evolution]] - Client * [[GIMP]] - Editor di immagini
* g[[Mplayer]] - Riproduttore video multiformato
* [[GStreamer]] - Server per applicazioni multimediali (usa solo GLib/GObject)
* [[Inkscape]] - Editor di immagini vettoriali [[Scalable Vector Graphics|SVG]]
* [[SeaMonkey|Mozilla Seamonkey]] - Suite Internet (browser, client di posta, editor HTML, chat)
* [[Mozilla Firefox]] - Browser
Riga 214 ⟶ 446:
* [[Netscape]] - Internet suite (browser, client di posta, editor HTML, chat)
* [[Pidgin (software)|Pidgin]] (ex GAIM) - Programma di chat multiprotocollo
* [[
== Note ==
Riga 224 ⟶ 455:
== Collegamenti esterni ==
{{GNOME}}
{{GNU}}
{{Controllo di autorità}}
{{Portale|
[[Categoria:
|