GTK

GTK

gtk3-widget-factory , er en samling eksempler som viser mange av GUI- widgetene i GTK 3
Generell informasjon
programtype utviklingsbibliotek
Forfatter Spencer Kimball , Peter Mattis , Josh MacDonald
utvikler GNOME-prosjektet
Første utgivelse 14. april 1998
Tillatelse LGPLv2.1+
Faktisk tilstand Aktiv
Språk flerspråklig
Teknisk informasjon
Planlagt inn C
Støttede plattformer Multiplattform
Versjoner
Siste stabile versjon 4.6.6 ( info ) (2. juli 2022 (3 måneder og 14 dager))
Siste versjon i tester 3.2220. september 2016
Linker
Offesiell nettside kodelager

GTK (kjent frem til februar 2019 som GTK+ ) [ 1 ]​ [ 2 ]​ eller The GIMP Toolkit [ 3 ]​ [ 4 ] ​: 3  er et grafikkkomponentbibliotek på tvers av plattformer for utvikling av grafiske brukergrensesnitt (GUIer) . [ 5 ] ​[ 4 ] ​: 3  Den er lisensiert under vilkårene i GNU LGPL , [ 5 ]​ som tillater å lage både fri programvare og proprietær programvare . GTK er en del av GNU -prosjektet , [ 5 ] brukes av prosjekter så viktige som GIMP , Inkscape , GNOME , Xfce , blant andre.

Sammen med Qt er det en av de mest populære widget-verktøysettene for GNU/Linux- operativsystemet , med omfattende støtte for Wayland og XOrg . I tillegg kan den brukes til å utvikle grafiske applikasjoner som fungerer på andre Unix-lignende systemer eller operativsystemer som Microsoft Windows , Mac OS , blant andre.

Historie og utvikling

Det ble opprinnelig utviklet av Peter Mattis, Spencer Kimball og Josh MacDonald [ 3 ] [ 4 ] : ​​3  for å implementere GNU Image Manipulation Program (GIMP) grafisk grensesnitt som en erstatning for Motif-verktøysettet ; på et tidspunkt ble Peter Mattis misfornøyd med Motif og begynte å skrive sitt eget GUI-verktøysett kalt GIMP-verktøysettet, og erstattet Motif for GIMP versjon 0.60. Til slutt ble GTK skrevet om til å være objektorientert og omdøpt til GTK+, først brukt i GIMP versjon 0.99. Å være den første stabile versjonen av GTK utgitt 14. april 1998. [ 6 ]

GTK er skrevet på C -språket , og er primært utviklet av GNOME-prosjektet , [ 7 ] siden dette prosjektet i 1997 valgte GTK som grunnlag for å utvikle GNOME -skrivebordsmiljøet . [ 8 ] Andre grafiske applikasjoner som ikke er direkte relatert til GNOME har også brukt GTK. I tillegg til andre grafiske miljøer for Linux som XFCE og ROX har de også valgt GTK som sitt grafiske komponentbibliotek.

GTK-utvikling håndteres fritt. Diskusjonen foregår primært på ulike offentlige e-postlister. [ 9 ] GNOME-utviklere og -brukere møtes på en årlig GNOME Users And Developers European Conference GUADEC for å diskutere den nåværende tilstanden og den fremtidige retningen for GNOME. [ 10 ] GNOME inkorporerer standarder og programmer fra freedesktop.org for bedre grensesnitt med andre skrivebord.

GTK+1

Dette biblioteket inneholdt noen hjelperutiner for å løse grunnleggende programmeringsoppgaver, for eksempel lagring av ulike data. Disse tar mye tid for programmereren, spesielt når det kommer til gjentatt programutvikling. Tidlige versjoner av GTK inkluderte datastrukturer for koblede lister, binære trær eller "voksende" strenger. Siden det ble skrevet om til å være objektorientert, lar GTK deg også bruke dette programmeringsparadigmet i C -språket . Disse verktøyene viste seg også nyttige for programmer uten et grafisk brukergrensesnitt og ble derfor senere flyttet til et eget bibliotek, kalt GLib- biblioteket med C-funksjoner . Det objektorienterte systemet i neste versjon er henvist til GObject -biblioteket , de systemorienterte tegnemetodene til GDK -biblioteket (GTK + Drawing Kit). Sistnevnte lar GTK kjøre identisk på tvers av plattformer i blant annet Windows, X Window System, macOS.

GTK+ 2

GTK 2-versjonen mottok nye forbedrede funksjoner for å gjengi tekst ved hjelp av Pango -biblioteket , opprettelsen av GObject , en ny temamotor, en mer fleksibel API og et nytt bibliotek ( ATK ) for å forbedre tilgjengeligheten til verktøysettet for funksjonshemmede, for for eksempel leseprogramvare, forstørrelsesverktøy og alternative inndataenheter kan adresseres. GTK 2 er ikke kompatibel med GTK 1, så eksisterende applikasjoner måtte porteres.

Fra og med versjon 2.8 bruker GTK+ det vektorbaserte Cairo-biblioteket, som bruker maskinvareakselerasjon for gjengivelse hvis mulig. GTK 2.24 er den nyeste versjonen av 2.x-serien.

GTK 3

Versjon 3.0 ble utgitt 10. februar 2011. [ 11 ] Mange funksjoner som ble klassifisert som avviklet har blitt fjernet og eksisterende grensesnitt er forbedret. GTK 3 er ikke bakoverkompatibel med GTK 2.x. Imidlertid kan bibliotekene til begge versjonene installeres side ved side.

GTK 3-serien inkluderer et nytt grensesnitt for å tegne widgets, som nå er fullstendig basert på Cairo , en CSS -basert temamotor som også tillater animerte tilstandsoverganger, forbedrede layoutalternativer, en ny skyvebryter-widget, en applikasjonsklasse, støtte for flere pekeenheter (flere pekere) og symbolske ikoner som kan endre farge avhengig av tilstanden. De interne strukturene er separert og skjult fra det offentlige grensesnittet, så det vil være lettere å gjøre endringer i fremtiden uten å bryte grensesnittet. Dessuten støttes flere GDK-backends samtidig innenfor samme bibliotek. [ 12 ] Til nå har det vært nødvendig med flere biblioteker.

To nye backends ble introdusert: en for Wayland-skjermserveren og en HTML5-backend kalt Broadway , som GTK-applikasjoner kan fjernstyres med i nettleseren over nettverket. [ 13 ]​ Multi og jevn rulling støttes, som også er tilgjengelig for Windows, [ 14 ]​ i tillegg støttes CSS-animasjoner og skyggesløring. Versjon 3.6.4 er den siste offisielle versjonen for 32-biters og 64-biters Windows. [ 15 ]

Det er flere endringer som å forbedre visningen av høyoppløselige skjermer. [ 16 ]​ Popover-presentasjon (komiske snakkebobler som kan brukes som hjelp), [ 17 ]​ multi-touch-bevegelser støttes. [ 18 ] [ 19 ] I tillegg støttes vindusgjengivelse via OpenGL . Det nye kontrollelementet GtkGLAreagjorde det også mulig å integrere 3D-objekter direkte i programgrensesnittene. [ 20 ] ​[ 21 ]​ Siden GTK 3.18 (base av Gnome 3.18), er biblioteket offisielt støttet av Wayland, etterfølgeren til X Windows-systemet. [ 22 ] GTK 3.20 integrerer stavekontroll med gspell og forbedrer CSS-tema. Mens GTK 3.22 kommer som en LTS-versjon og legger til støtte for Flatpak-portaler for enkle programvareinstallasjoner. [ 23 ]

1. september 2016, et innlegg på GTK-utviklingsbloggen betegnet blant annet den fremtidige GTK-nummereringsordningen. [ 24 ] GTK 3.22 Høsten 2016 vil være den siste 3.x-utgivelsen (eller så det var planlagt). [ 25 ] Etter det vil alle ressurser flyttes til GTK 4-utviklingsserien med versjonsnavn 3.90, 3.92 osv. Selv når 4.x-serien går i utvikling, bruker bemerkelsesverdige applikasjoner fortsatt GTK 2.x og har ikke blitt portert til 3.22. Når det gjelder fremtiden for eldre programvare som bruker GTK, er det ikke noe kollektivt prosjekt for å portere GTK 2.x til 3.22-programvare.

GTK 4.0 forberedes med den ustabile 3.9x-serien. I mars 2017 ble Scene Graph Kit (GSK) lagt til med versjon 3.90. Den implementerer en scenegraf og håndterer bildesyntese. I februar 2019 ble det kunngjort at GTK 4.0 vil fjerne plusstegnet ("+") fra navnedelen. [ 1 ]

GTK 4

En av de store innovasjonene som ble implementert i løpet av GTK 4-utviklingssyklusen (dvs. GTK 3.92, etc.) har vært å delegere funksjonalitet til hjelpeobjekter i stedet for å hardkode den i basisklassene levert av GTK.

Den 26. januar 2018 på DevConf.cz ga Matthias Clasen en oversikt over den nåværende tilstanden til GTK 4-utviklingen, inkludert en forklaring på høyt nivå av hvordan gjengivelse og input fungerte i GTK 3, hvilke endringer som ble gjort i GTK 4, og årsakene til disse endringene. Det ble også gitt eksempler på ting som er muliggjort med GTK 4. [ 26 ]

Støtte

Windows macOS

På Quartz-backend, [ 31 ] en port av X Window System, kan GTK brukes på macOS.

Byggautomatisering

Tidligere brukte GTK (og GNOME, GLib, etc.) GNU- byggesystemet (kalt Autotools) som det foretrukne byggeautomatiseringssystemet.

Fra 14. august 2017 bygger GTK-hovedgrenen med Meson, og Autotools-byggsystemfilene er fjernet. [ 32 ]

GTK-biblioteker

GTK er basert på flere biblioteker utviklet av GTK- og GNOME-teamet:

GLib

Det er et sett med lavnivåbiblioteker , bestående av GLib Core, GObject og GIO. [ 33 ] Disse bibliotekene er alle utviklet under et enkelt Git-depot, kalt glib. Så "GLib" kan referere til "GLib core" eller hele settet med biblioteker.

GLib kjerne

GLib-kjerne gir datastrukturhåndtering for C (lenkede lister, trær, hashtabeller, etc.), portabilitetsinnpakninger, hendelsesløkker, tråding, dynamisk modullasting og mange flere funksjoner.

GObject

GObject forenkler på sin side de objektorienterte programmerings- og hendelsesdrevne arkitekturparadigmene for C. Den hendelsesdrevne arkitekturen er ikke bare nyttig for grafiske brukergrensesnitt, men også for demoner som reagerer på maskinvareendringer (sett inn en USB, en skjerm, etc), nettverksprogramvare eller andre prosesser, det kan være ganske nyttig.

GIO

GIO avhenger av de tidligere bibliotekene i settet, det gir et høyt nivå API for input og output, det være seg lesing fra en lokal fil, en nettverksstrøm, D-Bus kommunikasjonsprosesser og mange flere bruksområder.

Dette settet med biblioteker lar deg skrive operativsystemtjenester, biblioteker, kommandolinjeverktøy og mye mer. Derfor kan det bli mer komfortabelt og tilrådelig å skrive et C -program ved hjelp av GLib, i tillegg tilbyr det et høyt nivå API som POSIX -standarden .

GTK

Biblioteket inneholder et GLib-basert widget-verktøysett, og dette settet inneholder faktisk objektene og funksjonene for å lage det grafiske brukergrensesnittet (GUI). Administrer widgets som vinduer, knapper, menyer, etiketter, skyveknapper, faner osv.

GDK

Bibliotek som fungerer som et mellomledd mellom lavnivågrafikk og høynivågrafikk. Så det frigjør GTK fra bekymringer på lavt nivå som innsamling av inndata, dra og slipp og konvertering av pikselformat. GDK er et mellomlag som skiller GTK fra detaljene i vindussystemet.

GDK er en viktig del av GTK-portabilitet. Siden GLib allerede tilbyr funksjonalitet på tvers av plattformer på lavt nivå, er alt som trengs for å få GTK til å kjøre på andre plattformer å portere GDK til grafikklaget til det underliggende operativsystemet. Derfor er GDK-portene til Windows API og Quartz det som lar GTK-applikasjoner kjøre på henholdsvis Windows og macOS.

ATK

Bibliotek for å lage grensesnitt med svært viktige tilgjengelighetsfunksjoner for funksjonshemmede eller funksjonshemmede. Verktøy som forstørrelsesglass, skjermlesere eller alternativ dataregistrering til det klassiske tastaturet eller musen kan brukes .

Pango

Bibliotek for tekstlayout og gjengivelse, med spesiell vekt på internasjonalisering . Den er designet på en modulær måte, dette betyr at Pango kan brukes av applikasjoner av forskjellige arkitekturer eller programmeringsmetoder. Det er også kjernen for håndtering av GTK versjon 2 fonter og tekst.

Kairo

Avansert gjengivelsesbibliotek med applikasjonskontroller. brukes til å gi bilder basert på vektorgrafikk. I tillegg gir det primitiver for todimensjonal tegning gjennom en rekke forskjellige backends.

Designere av grafisk brukergrensesnitt (GUI)

Noen av programmene for å designe grafiske grensesnitt med GTK er følgende:

Glades

Det er et visuelt utviklingsverktøy for grafiske grensesnitt som bruker GTK/ GNOME . Det er programmeringsspråksuavhengig og genererer som standard ikke kildekode, men en XML -fil takket være GTKBuilder , som kan brukes i en rekke programmeringsspråk, inkludert C, C++, C#, Vala, Java, Perl, Python. Muligheten til å generere kildekode automatisk har blitt avviklet siden Glade versjon 3.

Mer teknisk beskriver klassen grensesnittet i en Extensible Markup Language-fil (XML) og laster deretter XML-beskrivelsen under kjøring og oppretter objektene automatisk. Glade Interface Designer tillater opprettelse av brukergrensesnitt på en WYSIWYG måte . Så beskrivelsen av brukergrensesnittet er uavhengig av programmeringsspråket som brukes.

Glade kan brukes ut av esken, men er også fullt integrert i Anjuta 2. Prosjektet er lisensiert under GPL-lisensen .

Stethic

Stetic er en del av den GTK#-orienterte MonoDevelop, og ligner veldig på Glade Interface Designer, men er integrert i MonoDevelop med dra-og-slipp-funksjonalitet. Den har blitt kritisert for å være vanskeligere å jobbe med enn Qt Designer og Microsoft Visual Studio Windows Forms Editor når programmereren ennå ikke har et konkret design i tankene.

MonoDevelop kan kjøre på ulike Linux-distribusjoner og på Mac. Siden versjon 2.2 har MonoDevelop allerede full støtte for GNU/Linux, Windows og Mac. I tillegg inkluderer den en kompilator som støtter C # 1.0, C # 2.0, C # 3.0, C# 4.0, C# 5.0 og C# 6.0.

Bruk

Applikasjoner

Noen applikasjoner som bruker GTK til å utvikle brukergrensesnittene inkluderer:

Miljøer som bruker GTK

Eiendeler Inaktiv

Skrivebordsmiljøer er ikke nødvendig for å kjøre GTK-programmer. Hvis bibliotekene som kreves av programmet er installert, kan et GTK-program kjøres på toppen av andre X11- baserte miljøer som KDE eller et hvilket som helst annet miljø, inkludert Mac OS X , hvis X11.app er installert. GTK kan også kjøre på Microsoft Windows, det brukes av noen populære tverrplattformapplikasjoner som Pidgin og GIMP. wxWidgets, et grafisk verktøysett på tvers av plattformer bruker GTK på Unix-lignende systemer . [ 34 ] Noen av de mer uvanlige portene inkluderer directfb og ncurses .

Vindusbehandling

Tilgjengelige implementeringer

Siden GTK er et rent C-bibliotek, kan det enkelt kobles til mange andre programmeringsspråk. Med objektorienterte programmeringsspråk brukes ikke GObjects; GTK-objekter kan generelt brukes der som opprinnelige programmeringsspråkobjekter. Vala-programmeringsspråket bruker GObject direkte som et objektsystem og krever derfor ikke et kjøretidsbibliotek for å plugge inn språket.

Det er et stort utvalg programmeringsspråk som GTK kan brukes med, [ 35 ] selv om ikke alle er tilgjengelige i sin nyeste versjon. Blant de mest brukte er følgende:

Språk Navn Brukerstøtte Tillatelse eksempler
V2 V3 V4 Offisielt
C GTK Ja Ja Ja Ja LGPL-2.1 Filer , GIMP
C++ gtkmm Ja Ja Ja Ja LGPL-2.1 inkscape
C# gtk skarp Delvis Ja Ukjent Ja LGPL-2.1 MonoDevelop , Maling
D gtkd Ja Ja Ja Nei LGPL-3
geni geni Ja Ja Ja Ja LGPL-2.1
gotk3 Nei Ja Ukjent Nei GPL-3
Java java-gnome Ja Ja Ukjent Ja GPL-2
JavaScript gjs Ja Ja Ja Ja MIT
Frø Ja Ja Ja Ja LGPL-2.1
Julia Gtk.jl Ja Ja Ukjent Nei MIT
Perle gtk2-perl Ja Ja Ja Ja LGPL-2.1
python PyGObject Ja Ja Ja Ja LGPL-2.1 Pitivi
rust gtk-rs Nei Ja Ja Ja MIT Fractal, Shortwave, Pika Backup
Vala Vala Ja Ja Ja Ja LGPL-2.1 Bokser , Shotwell

Eksempler

Den klassiske måten å programmere med GTK på er først å definere egenskapene til de grafiske elementene som brukes, deretter gruppere dem og binde dem til spesifikke hendelseshåndteringsrutiner (en mulig hendelse vil for eksempel være et knappeklikk). Det finnes imidlertid også grafiske designverktøy for GTK-overflater som Glade eller Stetic i MonoDevelop , som kan spare deg for de to første trinnene, utvide GTK med prototyping-funksjoner og gjøre det mulig å gjøre overflateendringer i et program uten å måtte gjøre endringer til kildekoden til programvaren.

C

Et typisk Hello World-program vist på bildet kan se slik ut:

// Inkluder gtk #include <gtk/gtk.h> static void on_activate ( GtkApplication * app ) { // Opprett et nytt vindu GtkWidget * window = gtk_application_window_new ( app ); // Opprett en ny knapp GtkWidget * button = gtk_button_new_with_label ( "Hei Wikipedia!" ); // Når knappen klikkes, ødelegge vinduet som ble sendt som argument g_signal_connect_swapped ( button , "clicked" , G_CALLBACK ( gtk_widget_destroy ), window ); gtk_container_add ( GTK_CONTAINER ( vindu ), knapp ); gtk_widget_show_all ( vindu ); } int main ( int argc , char * argv []) { // Opprett en ny applikasjon GtkApplication * app = gtk_application_new ( "com.example.GtkApplication" , G_APPLICATION_FLAGS_NONE ); g_signal_connect ( app , "aktiver" , G_CALLBACK ( on_activate ), NULL ); return g_application_run ( G_APPLICATION ( app ), argc , argv ); }

For å kompilere denne koden er det nødvendig med noen avhengigheter avhengig av systemet du har, i tilfelle du bruker Debian eller derivater sudo apt-get install libgtk-3-develler i tilfelle du bruker Fedora sudo dnf install gtk3-devel clutter-devel webkit2gtk3-devel libgda-devel gobject-introspection-devel. [ 36 ]​ For å kompilere koden, må du navigere til filbanen og skrive inn følgende i en terminal

gcc examplegtk.c -o examplegtk `pkg-config --cflags --libs gtk+-3.0`

For å kjøre filen, skriv

./examplegtk

Python

import gi gi . require_version ( "Gtk" , "3.0" ) fra gi.repository import Gtk vindu = Gtk . Vindu ( tittel = "Hei Wikipedia!" ) vindu . vis () vindu . koble ( "ødelegge" , Gtk . main_quit ) Gtk . hoved ()

For å åpne denne koden er det nødvendig med noen avhengigheter avhengig av systemet du har, [ 37 ]​ i tilfelle du bruker Debian eller derivater sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0eller i tilfelle du bruker Fedora sudo dnf install python3-gobject gtk3.

For å kjøre filen må du finne filbanen og deretter kjøre den ved å skrive

python3 hello.py

Grafisk stil

GTKs utseende er stort sett brukerkonfigurerbart, med et stort antall temaer å velge mellom. Disse temaene kan lastes ned fra forskjellige nettsteder som GNOME Look . Følgende er de mest populære:

Adwaita

Det er det nye GTK-standardtemaet siden midten av 2014, og er temaet som det anbefales å jobbe med å utvikle i grafiske grensesnitt. Dette ble uttrykt i et åpent brev fra utviklerne av GNOME-applikasjoner, der de inviterte til å bruke standardtemaet (dvs. Adwaita), siden de forsikret at bruk av andre temaer kunne gi forskjeller i oppfatningen til sluttbrukeren, i det samme programmet. [ 38 ]

Ved å si at ved å endre GTK-stilarkene kan applikasjonene virke skadet eller ubrukelige, og ikonene kan representere konsepter som er forskjellige fra det som programmereren hadde tiltenkt. De sørget også for at fangstene som ble funnet i programvarebutikker kunne villede brukeren av utseendet til applikasjonen, og også at det kunne generere konflikter i komprimeringen av dokumentasjonen for sluttbrukeren.

Dette forslaget ble akseptert av forskjellige distribusjoner, som direkte adopterte Adwaita, eller baserte temaene deres på det, som tilfellet er med Ubuntu med Yaru-temaet. [ 39 ]

Yaru

Det er det offisielle Ubuntu-temaet, det har forskjellige toner som brukeren kan velge. Temaet er basert på Adwaita.

Kritikk

Den vanligste kritikken mot GTK er mangelen på bakoverkompatibilitet i store oppdateringer, spesielt i applikasjonsprogrammeringsgrensesnittet (API) [ 40 ] og temaer. [ 41 ]

Benjamin Otte forklarte at kompatibilitetsbruddene mellom mindre utgivelser i løpet av GTK 3.x-utviklingssyklusen skyldtes sterkt press for å innovere, for eksempel å tilby funksjoner som moderne brukere forventer og støtte Wayland -skjermserverprotokollen som ble mer og mer innflytelsesrik. Med utgivelsen av GTK 4 vil presset av behovet for innovasjon ha blitt utløst og balansen mellom stabilitet og innovasjon vil skifte mot stabilitet. [ 42 ] Tilsvarende er nylige endringer i temaet spesifikt rettet mot å forbedre og stabilisere den delen av API-en, noe som betyr at noen investeringer nå bør betale seg senere.

  • Dirk Hohndel, kodeutvikler for Subsurface og medlem av Intel Open Source Technology Center , kritiserte GTK-utviklerne for å være slitsomme og ignorere de fleste forespørsler fra fellesskapet. [ 43 ]
  • Hong Jen Yee, utvikler av LXDE (hvis GTK-versjon vil bli fjernet og all innsats fokusert på Qt-porten), [ 44 ] uttrykte forakt for versjon 3 av GTK-verktøysettets omfattende API-endringer og større minnebruk, og porterte PCMan-filen Manager (PCManFM) fil til Qt. PCManFM utvikles med en GTK og en Qt backend samtidig. [ 45 ]
  • Audacious-musikkspilleren flyttet til Qt i versjon 3.6. [ 46 ] Årsaker gitt av utviklerne for dette inkluderer en overgang til vinduet på klientsiden, som de hevder får applikasjonen til å se "GNOME -yy malplassert ut". [ 47 ]
  • Wireshark har byttet til Qt på grunn av ikke å ha god erfaring med GTKs støtte på tvers av plattformer. [ 48 ]

Utgivelseshistorikk

Utgivelsessammendrag
Lansering første versjon viktige forbedringer Siste mindre versjon
GTK+ 1
Gammel versjon, uten teknisk støtte:1.0 13. april 1998 [ 49 ] Første stabile versjon 1.0.6
Gammel versjon, uten teknisk støtte:1.2 25. februar 1999 [ 50 ] Nye widgeter :
  • GtkFontSelector
  • GtkPacker
  • GtkItemFactory
  • GtkCTree
  • GtkUsynlig
  • GtkCalendar
  • GtkLayout
  • GtkPlug
  • GtkSocket
1.2.10
Legende:Gammel versjonGammel versjon, med teknisk støtteSiste versjonSiste forrige versjonfremtidig utgivelse
GTK+2
Gammel versjon, uten teknisk støtte:2.0 11. mars 2002 [ 51 ] GOobjekt

Generell støtte for UTF-8

2.0.9
Gammel versjon, uten teknisk støtte:2.2 22. desember 2002 [ 52 ] Støtte for flere overskrifter. 2.2.4
Gammel versjon, uten teknisk støtte:2.4 16. mars 2004 [ 53 ] Nye widgeter :
  • GtkFileChooser
  • GtkComboBox
  • GtkComboBoxEntry
  • GtkExpander
  • GtkFontButton
  • GtkColorButton
2.4.14
Gammel versjon, uten teknisk støtte:2.6 16. desember 2004 [ 54 ] Nye widgeter :
  • GtkIconView
  • GtkAboutDialog
  • GtkCellView

Den siste som støtter Windows 98 / Me

2.6.10
Gammel versjon, uten teknisk støtte:2.8 13. august 2005 [ 55 ] De fleste widgetene er gjengitt av Kairo 2.8.20
Gammel versjon, uten teknisk støtte:2.10 3. juli 2006 [ 56 ] Nye widgeter :
  • GtkStatusIcon
  • GtkAssistant
  • GtkLinkButton
  • GtkRecentChooser

Utskriftsstøtte: GtkPrintOperation

2.10.14
Gammel versjon, uten teknisk støtte:2.12 14. september 2007 [ 57 ] GtkBuilder 2.12.12
Gammel versjon, uten teknisk støtte:2.14 4. september 2008 [ 58 ] JPEG 2000 opplastingsstøtte 2.14.7
Gammel versjon, uten teknisk støtte:2.16 13. mars 2009 [ 59 ] Ny widget: GtkOrientable

Caps lock-advarsel ved inntasting av passord

Forbedringer av GtkScale, GtkStatusIcon, GtkFileChooser

2.16.6
Gammel versjon, uten teknisk støtte:2.18 23. september 2009 [ 60 ] Ny widget: GtkInfoBar

Forbedret filvelger, utskrift

For å fjerne mye av den nødvendige IPC-en mellom X11-applikasjonen og X11-serveren, er GDK skrevet om (hovedsakelig av Alexander Larsson) til å bruke "klientsidevinduer", dvs. GdkWindow, som hver widget må ha, tilhører nå klienten

2.18.9
Gammel versjon, uten teknisk støtte:2.20 23. mars 2010 [ 61 ] Nye widgeter :
  • GtkSpinner
  • GtkToolPalette
  • GtkOffscreenWindow

Forbedret filvelger, tastaturhåndtering, GDK

Introspeksjonsdata er nå inkludert i GTK

2.20.1
Gammel versjon, uten teknisk støtte:2.22 23. september 2010 [ 62 ] GdkPixbuf flyttet til en egen modul

De fleste av GDK-tegningene er basert på Kairo

Mye interne data er nå private og kan forsegles som forberedelse til GTK 3

2.22.1
Gammel versjon, med teknisk støtte:2.24 30. januar 2011 [ 63 ] Ny widget: GtkComboBoxText

CUPS printbackend kan sende utskriftsjobber som PDF

GtkBuilder har fått støtte for tekstetiketter og menyverktøyknapper, og mange rettelser for introspeksjonskommentarer er lagt til

Migrering fra GTK+2.x til GTK+3

2.24.32
(2018-01-08)
Legende:Gammel versjonGammel versjon, med teknisk støtteSiste versjonSiste forrige versjonfremtidig utgivelse
GTK 3
Gammel versjon, uten teknisk støtte:3.0 10. februar 2011 [ 11 ] Utvikling og design av GTK 3-versjonen av verktøysettet startet i februar 2009 under GTK Theming Hackfest holdt i Dublin [ 64 ]
  • Det første utkastet til utviklingsveikartet ble publisert 9. april 2009 [ 65 ]

Stort sett fullført Project Ridley

  • Forsøk på å konsolidere ulike eksterne biblioteker til GTK+
  • Inkludert libgnome, libgnomeui, libgnomeprint22, libgnomeprintui22, libglade, libgnomecanvas, libegg, og [ 66 ]libeel _gtkglextlibsexy

All gjengivelse gjøres med Kairo

GDK ble X11 agnostiker

XInput2, API-temaet er basert på Cascading Style Sheet (CSS), som forverrer ytelsen som kan oppnås for 60 Hz bilder per sekund

3.0.12
Gammel versjon, uten teknisk støtte:3.2 25. september 2011 [ 67 ] Nye widgeter :
  • GtkLockButton
  • GtkOverlay

Ny dialogboks for skriftvelger

Nye eksperimentelle backends:

3.2.4
Gammel versjon, uten teknisk støtte:3.4 26. mars 2012 [ 68 ] Menystøtte i GtkApplication

En ny fargevelger

Lagt til støtte for berøringsenheter

Lagt til støtte for jevn rulling

GtkScrolledWindow vil utføre kinetisk rulling med berøringsenheter

Forbedret kompatibilitet med macOS

Dette er den første versjonen av GTK 3 som fungerer bra på Windows

Wayland-backend er oppdatert til gjeldende versjon av Wayland

Dreiknapper har fått et nytt utseende

Tilgjengelighet: støtte tilgjengelig med trevisning skrives om

Mer full CSS-temastøtte

3.4.4
Gammel versjon, uten teknisk støtte:3.6 24. september 2012 [ 69 ] Nye widgeter :
  • GtkSearchEntry
  • GtkMenuButton
  • GtkLevelBar

Vertikale vippeknapper

CSS-animasjoner, uskarpe skygger

Støtte for falming og overganger i temaer.

3.6.5
Gammel versjon, uten teknisk støtte:3.8 25. mars 2013 [ 70 ] Wayland 1.0 stabil støtte

Broadwayd serverstøtte

Forbedret tematikk

Bedre geometristyring.

Berøringsforbedringer

Window manager- støtte for rammesynkroniseringsprotokoll

GdkFrameClock lagt til [ 71 ]

3.8.9
Gammel versjon, uten teknisk støtte:3.10 23. september 2013 [ 72 ] Nye widgeter :
  • GtkHeaderBar
  • GtkPlacesSidebar
  • GtkStack
  • GtkStackSwitcher
  • GtkRevealer
  • GtkSearchBar
  • GtkListBox

Støtte for Wayland 1.2

  • maksimering
  • animerte markører
  • flere skjermer
  • innstillinger
  • tilpassede overflater
  • rammesynkronisering

Ytterligere:

  • dekorasjoner på klientsiden
  • støtte for skalert utgang på skjermer med høy oppløsning
  • finjusteringsmodus for forskyvning

Pensjonert:

  • Motiv DND-protokollstøtte
  • støtte for flere skjermer per skjerm
  • gdk_window_get_display
  • gtk_widget_push_composite_child

Uttrekkbare menyelementer, pluss mange GTK-innstillinger

Den moderne GTK-tegningsmodellen

3.10.9
Gammel versjon, uten teknisk støtte:3.12 25. mars 2014 [ 73 ] Dekorasjoner på klientsiden [ 74 ]

Støtte for Wayland 1.5

Ny widget: GtkPopover (et alternativ til menyer og dialoger)

3.12.2
Gammel versjon, uten teknisk støtte:3.14 22. september 2014 [ 75 ] Introduserte GtkInspector (en kopi av gtkparasite) [ 76 ] ​[ 77 ]

Forbedret støtte for bevegelser / multi-touch fusion [ 78 ] ​[

79 ]

Utdatert: [ 80 ]

  • GtkMisc
  • GtkAlignment
  • GtkArrow
  • GdkColor
  • stil regioner
  • støtte for .icon-filer
  • gdk_window_flush
  • tegne utenfor maling start/slutt

De fleste widgets konverteres til å bruke bevegelser internt

Wayland støtter klassisk GNOME Shell-modus [ 81 ]

3.14.15
Gammel versjon, uten teknisk støtte:3.16 22. mars 2015 [ 82 ] GDK støtter gjengivelse av vinduer ved hjelp av OpenGL for X11 og Wayland ved bruk av libepoxy

Nye widgeter :

  • GtkGLArea
  • GtkStackSidebar
  • GtkModelButton
  • GtkPopoverMeny

Revidert rulling (rullefelt skjult som standard) [ 83 ]

Eksperimentell Mir - backend [ 84 ]

3.16.7
Gammel versjon, uten teknisk støtte:3.18 23. september 2015 [ 85 ] Legg til CSS-nodeinfrastruktur

Mer filvelger-designoppdatering og bedre filvelgersøk

Fjernet Windows XP-støtte

Støttemodell for liste og flytskjema

Kinetisk rulling av pekeplaten

Berøringsflatebevegelser (Wayland)

gtk-builder-tool-verktøyet

Avslutt kun vinduer

3.18.9
Gammel versjon, uten teknisk støtte:3.20 21. mars 2016 [ 86 ] Større integrasjon av CSS-noder [ 87 ]

Flytt dra og slipp til GDK

Ny widget: GtkShortcutsWindow (viser hurtigtaster og bevegelser til et program)

3.20.10
Gammel versjon, med teknisk støtte: 3.22 21. september 2016 [ 88 ] Siste versjon 3.x [ 24 ]

WWayland nettbrettstøtte slått sammen, [ 89 ] støtte for grafikknettbrett anses som komplett [ 90 ]

GTK 3.22 vil være like stabil (og derfor "kjedelig") som GTK 2 [ 91 ]​ [ 92 ]​ [ 93 ]

i 3 år
3.22.29
Nåværende stabil versjon: 3.24 3. september 2018 [ 25 ] 3.22 skulle være den siste versjonen av GTK 3-serien

Avhengighetstreff: krever:

  • libepoxy 1.4
  • pango 1.41

Nye funksjoner for fontvelger:

  • tillate innstilling av OpenType-fontegenskaper
  • vis eksempler på OpenType-fontfunksjoner
  • tillate valg av OpenType-skriftvarianter
  • Støtte nivåer av detaljer for valg

Nye Emoji-funksjoner:

  • støtte fullføringspopup for Emoji
  • slipp snarveien Ctrl-Shift-e

Andre nye APIer: gdk_window_move_to_rect

Wayland: bruk delt anonymt minne på FreeBSD

GTK 4 reservehendelsesbehandlere:

  • GtkEventControllerScroll
  • GtkEventControllerMotion
  • GtkEventControllerKey
  • GtkGestureStylus

Avviklet noen API-er som er borte i GTK 4:

  • fokusstrenger i GtkContainer
  • trinnfølsomhet i GtkRange
3.23.0
3.23.1
3.23.2
3.23.3
3.24.0
3.24.5
3.24.14
Legende:Gammel versjonGammel versjon, med teknisk støtteSiste versjonSiste forrige versjonfremtidig utgivelse
Utvikling av GTK 4-serien
Gammel versjon, uten teknisk støtte:3,90 31. mars 2017 [ 94 ] GTK Scene Graph Kit (GSK) slått sammen [ 95 ]

Fjern eventuelle API-er som er merket som avviklet

tung utvikling

En ny Vulkan -renderer forsterker den gamle Kairo -rendereren [ 96 ]

3.89.1

3.89.2
3.89.4
3.89.5
3.90

Gammel versjon, uten teknisk støtte:3,92 18. oktober 2018 [ 97 ]​ [ 98 ] Siden GNOME 3.26 allerede ble utgitt 13. september 2017, [ 99 ] var den ikke basert på GTK 3.92.

GNU autotools ble erstattet av Meson.

3.91.0

3.91.1
3.91.2
3.92.1

Gammel versjon, uten teknisk støtte:3,94 26. juni 2018 [ 100 ] 3,93
  • GdkScreen, GdkVisual fjernet
  • GdkDeviceManager erstattet av GdkSeat
  • Håndtering av utklippstavle flyttes fra GTK til GDK
  • GdkEvent konverteres til et ugjennomsiktig GObject
  • GL-rendereren i GSK er vesentlig fullført, og er nå på nivå med Vulkan-rendereren
  • bruk av GdkPixbuf i APIer reduseres
    • og GskTexture-objektet flyttes til GDK som GdkTexture, for å ta dets plass
  • Wayland-backend implementerer nå KDE-serversidens dekorasjonsprotokoll
  • Broadway er overført til GSK.

GdkWindow omdøpt til GdkSurface

Ny abstraksjon for tegnebart innhold: GdkPaintable

Det er støtte for å vise media med:

  • GtkVideo
  • GtkMediaFile
  • GtkMediaStream
  • GtkMediaControls
3.93
3.94.0
Gammel versjon, uten teknisk støtte:3,96 7. mai 2019 [ 101 ] Kommandoen gtk4-builder-tool simplify har fått et --3to4- alternativ for å konvertere GTK3 ui-filer til GTK4; riktignok med AMTK-menyer, verktøylinjer eller andre objekter som GtkShortcutsWindow opprettes programmatisk (ikke med en *.ui-fil), men med praktiske APIer. [ 102 ]

GtkWidget kan nå bruke en GtkLayoutManager for dimensjonering

  • layoutansvarlige kan valgfritt bruke layoutunderlag med layoutegenskaper
  • GtkBinLayout, GtkBoxLayout, GtkGridLayout, GtkFixedLayout og GtkCustomLayout er tilgjengelig for øyeblikket
  • Flere layout manager-implementeringer vil dukke opp i fremtiden

Fokushåndtering har blitt omskrevet og generering av fokusendringsbegivenheter har blitt forenet med krysshendelser

Arrangementer er forenklet og brukes kun til input:

  • render-hendelser er erstattet av et GdkSurface::render-signal
  • konfigurasjonshendelser er erstattet av et GdkSurface::size-endret signal
  • karthendelser er erstattet av en GdkSurface::tilordnet eiendom
  • gdk_event_handler_set har blitt erstattet av et GdkSurface::hendelsessignal
  • nøkkelhendelser inneholder ikke lenger en streng
  • hendelser på ikke-tilordnede widgeter ignoreres
3.96.0
Gammel versjon, uten teknisk støtte:3,98 10. februar 2020 [ 103 ]
  • Ytelsesforbedringer.
  • Dra og slipp refaktorering
  • Flytter GDK til Wayland
  • Fjerning
    • GtkMenu, GtkToolbar og lignende klasser er erstattet av GMenu.
  • tillegg
    • emojivelger
    • Tekstwidgeter har nå angrestabler
    • En ny layoutsjef [ 104 ]
3.98.5
Gammel versjon, uten teknisk støtte:3.99.0 31. juli 2020 [ 105 ]
  • Oppdaterte tilgjengelighetsverktøy
  • Oppdaterte overskrifter for å bruke standard C INSTED-typer fra GLib
  • nye widgets
  • Rettelser og forbedringer
3.99.0
Nåværende stabil versjon: 4.0 16. desember 2020 [ 106 ] Fjerning av alle APIer merket som utdatert, dvs. i det minste alt i den utdaterte katalogen
Legende:Gammel versjonGammel versjon, med teknisk støtteSiste versjonSiste forrige versjonfremtidig utgivelse

Se også

Referanser

  1. a b Bassi, Emmanuele (6. februar 2019), « Prosjekt endre navn til "GTK" » (en no) , gtk-devel-list e-postliste , https://mail.gnome.org/archives/gtk- devel- list/2019-February/msg00000.html , hentet 18. juni 2019 . 
  2. Corbet, Jonathan (8. februar 2019). "GTK+ omdøpt til GTK" . Linux Weekly News . Hentet 18. juni 2019 . 
  3. ^ a b "En kort (og eldgammel) historie om GIMP" . GNU Image Manipulation Program (på engelsk) . 1998 . Hentet 18. juni 2019 . 
  4. abc Harlow , Eric . ([1999]). Linux-applikasjonsutvikling med GTK+ og GDK: Avansert veiledning . Prentice Hall. ISBN  84-8322-196-9 . OCLC  433163271 . Hentet 6. juli 2020 . 
  5. abc " Hva er GTK , og hvordan kan jeg bruke det?" . GTK-prosjektet (på engelsk) . Hentet 18. juni 2019 . 
  6. GNOME-prosjektet. Indeks for /Public/gimp/gtk/v1.0 . Arkivert fra originalen 12. august 2014 . Hentet 4. juli 2020 . 
  7. GNOME-prosjektet. "GNOME Quick SWOT-analyse, april 2010 " . Hentet 1. juli 2020 . 
  8. de Icaza, Miguel (1. februar 1999). "GNOME-prosjektet". Linux Journal (på engelsk) . 
  9. GNOME-prosjektet. Liste over regler og vanlige spørsmål . Hentet 1. juli 2020 . 
  10. GNOME-prosjektet. "GUADEC2020" (på engelsk) . Hentet 1. juli 2020 . 
  11. a b Clasen, Mathias (10. februar 2011), " GTK+ 3.0.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2011-February /msg00020 .html , hentet 6. juli 2020 . 
  12. Kristian Høgsberg (3. januar 2011). Flere backends for GTK + . Hentet 4. juli 2020 . 
  13. alexl (18. april 2011). "Broadway update 3" (på engelsk) . Hentet 4. juli 2020 . 
  14. Thorsten Leemhuis (28. mars 2012). "GTK+ 3.4 med Multitouch- og Windows-Unterstützung" (på tysk) . Hentet 4. juli 2020 . 
  15. Thorsten Leemhuis (25. september 2012). "Neue Version von GTK+, GLib und Clutter" (på tysk) . Hentet 4. juli 2020 . 
  16. Oliver Diedrich (24. september 2013). "Gtk+ 3.10 mit verbesserter Wayland-Unterstützung" (på tysk) . Hentet 4. juli 2020 . 
  17. Oliver Diedrich (27. mars 2014). "Angesehen: Gnome 3.12" (på tysk) . Hentet 4. juli 2020 . 
  18. Oliver Diedrich (2. oktober 2014). "Immer mehr Spiele für Linux" (på tysk) . Hentet 4. juli 2020 . 
  19. Keywan Tonekaboni (4. august 2013). "GUADEC: Wayland-Support für Gnome" (på tysk) . Hentet 4. juli 2020 . 
  20. GNOME-prosjektet (2015). "Velkommen til GNOME 3.16" (på engelsk) . Hentet 4. juli 2020 . 
  21. Thorsten Leemhuis (23. mars 2015). "Linux-Desktop: Neues Gnome zeigt Nachrichten oben" (på tysk) . Hentet 4. juli 2020 . 
  22. Rainald Menge-Sonnentag (22. mars 2016). "GUI-Toolkit GTK+ 3.20 forbedrer das CSS-Theming" (på tysk) . Hentet 4. juli 2020 . 
  23. Rainald Menge-Sonnentag (20. oktober 2016). "GUI-Toolkit GTK+ 3.22 bringt Flatpak-Portale" (på tysk) . Hentet 4. juli 2020 . 
  24. ^ a b Allan (1. september 2016). "Versjon og langsiktig stabilitetsløfte i GTK+" . GTK utviklingsblogg . Hentet 1. juli 2020 . 
  25. a b Clasen, Mathias (3. september 2018), " gtk+ 3.24.0 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/ftp-release-list/2018-September/ msg00045. html , hentet 6. juli 2020 . 
  26. Clasen, Matthias (2018). "GTK+ 4-statusoppdatering" (PDF) . Fedora folk . Hentet 6. juli 2020 . 
  27. Alexander. GTK+ for Windows Runtime Environment . Hentet 4. juli 2020 . 
  28. Tarnyko. "GTK+" (på engelsk) . Hentet 4. juli 2020 . 
  29. Tom Schoonjans. "GitHub - tschoonj/GTK-for-Windows-Runtime-Environment-Installer: GTK+ for Windows Runtime Environment Installer (gaffel fra http://gtk-win.sourceforge.net) " . Hentet 4. juli 2020 . 
  30. Frank (31. januar 2018). "Windows Subsystem for Linux: Installation des WSL and Configuration von Gnome unter Windows 10" (på tysk) . Hentet 4. juli 2020 . 
  31. GNOME-prosjektet. "Prosjekter/GTK/OSX - GNOME Wiki!" (på engelsk) . Hentet 4. juli 2020 . 
  32. Bassi, Emmanuele (15. august 2017), " Bygg systemet endre GTKs hovedgren " (på no) , GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/ 2017- August/msg00028.html , hentet 1. juli 2020 . 
  33. Wilmet, Sébastien (29. mars 2019). "GLib/GTK+ utviklingsplattform" . people.gnome.org (på engelsk) . Hentet 1. juli 2020 . 
  34. WxWidgets sammenlignet med andre verktøysett "GTK+" . 
  35. ^ "Språkbindinger" . Arkivert fra originalen 13. juli 2011 . Hentet 3. desember 2014 . 
  36. Felipe Borges, Gabe Ron. "gtk+" . Fedora utvikler . Hentet 6. juli 2020 . 
  37. PyG Object Team. "Komme i gang - PyGObject" . PyGObject (på engelsk) . Hentet 10. juli 2020 . 
  38. GNOME-utviklere (2019). "Vennligst ikke gi appene våre et tema" . stopthemingmy (på engelsk) . Hentet 12. september 2020 . 
  39. Medina, Eduardo (27. august 2019). "Ubuntus Yaru-tema for å bygge på Adwaita for å forhindre fragmentering" . VeryLinux . Hentet 12. september 2020 . 
  40. Morten Welinder (23. juni 2014). "Hvordan lager man en Gtk+-applikasjon?" . blogs.gnome.org (på engelsk) . Hentet 1. juli 2020 . 
  41. MCLASEN (20. november 2015). "En GTK+-OPPDATERING" . blogs.gnome.org (på engelsk) . Hentet 1. juli 2020 . 
  42. GUADEC (22. oktober 2013). "Indeks for /2013/GTK til uendelig og utover" . http://videos.guadec.org/ (på engelsk) . Hentet 1. juli 2020 . 
  43. Michael Larabel (12. januar 2014). "Det største problemet med GTK og hva Qt gjør bra" . phoronix (på engelsk) . Hentet 1. juli 2020 . 
  44. BROR (22. juli 2013). «"Fremtiden til Razor og LXDE-Qt"» . blog.lxde.org (på engelsk) . Hentet 1. juli 2020 . 
  45. PCMAN (26. mars 2013). "PCManFM Qt 0.1.0 utgitt" . blog.lxde.org (på engelsk) . Hentet 1. juli 2020 . 
  46. Audacious Developers (28. februar 2015). "Audacious 3.6 utgitt" . https://audacious-media-player.org/ (på engelsk) . Hentet 1. juli 2020 . 
  47. John Lindgren (6. april 2014). "Stygge vindusdekorasjoner og hvordan du fikser dem (GTK+ 3.12)" . redmine.audacious-media-player.org (på engelsk) . Hentet 1. juli 2020 . 
  48. "Vi bytter til Qt." . blog.wireshark.org (på engelsk) . oktober 2013 . Hentet 1. juli 2020 . 
  49. Amundson, Shawn T. (13. april 2020), « KUNNGJØR: GTK+ 1.0.0 utgitt! », GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-list/1998-April/msg00303.html , åpnet 6. juli 2020 . 
  50. Amundson, Shawn T. (25. februar 1999), " KUNNSJON: GTK+ og GLib 1.2.0 utgitt ", GNOME Mail Services-epostliste , https://mail.gnome.org/archives/gtk-list/1999 - februar/msg00756.html , hentet 6. juli 2020 . 
  51. Taylor, Owen (11. mars 2002), " GTK+-2.0.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-list/2002-March/msg00136. html , hentet 6. juli 2020 . 
  52. Taylor, Owen (22. desember 2002), " GTK+-2.2.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-list/2002-December/msg00206. html , hentet 6. juli 2020 . 
  53. Taylor, Owen (16. mars 2004), " GTK+-2.4.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-list/2004-March/msg00111. html , hentet 6. juli 2020 . 
  54. Clasen, Mathias (16. desember 2004), " GTK+-2.6.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-list/2004-December/msg00155. html , hentet 6. juli 2020 . 
  55. Clasen, Mathias (13. august 2005), " GTK+ 2.8.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-list/2005-August/msg00124.html , hentet 6. juli 2020 . 
  56. Clasen, Mathias (3. juli 2006), " GTK+ 2.10 released ", GNOME Mail Services-postliste , https://mail.gnome.org/archives/gtk-devel-list/2006-July/msg00004.html , hentet 6. juli 2020 . 
  57. Clasen, Mathias (14. september 2007), " GTK+ 2.12 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2007-September/msg00052.html , hentet 6. juli 2020 . 
  58. Clasen, Mathias (4. september 2008), " GTK+ 2.14.0 utgitt ", GNOME Mail Services-postliste , https://mail.gnome.org/archives/gtk-devel-list/2008-September/msg00024 .html , hentet 6. juli 2020 . 
  59. Clasen, Mathias (13. mars 2009), " GTK+ 2.16.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2009-March/msg00101 .html , hentet 6. juli 2020 . 
  60. Clasen, Mathias (23. september 2009), " GTK+ 2.18.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2009-September/msg00054 .html , hentet 6. juli 2020 . 
  61. Clasen, Mathias (23. mars 2010), " GTK+ 2.20.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2010-March/msg00132 .html , hentet 6. juli 2020 . 
  62. Clasen, Mathias (23. september 2010), " GTK+ 2.22.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2010-September/msg00263 .html , hentet 6. juli 2020 . 
  63. Clasen, Mathias (20. januar 2011), " GTK+ 2.24.0 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2011-January/msg00042. html , hentet 6. juli 2020 . 
  64. "Gtk+ 3.0 Theming API Hackfest" . Silicon Island . Hentet 3. juni 2017 . 
  65. ^ "Gtk+ 3 veikartutkast" . Hentet 3. juni 2017 . 
  66. "Attic/ProjectRidley - GNOME Wiki!" . wiki.gnome.org . 
  67. Clasen, Mathias (25. september 2011), " GTK+ 3.2.0 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2011-September/msg00175. html , hentet 6. juli 2020 . 
  68. Clasen, Mathias (26. mars 2012), " GTK+ 3.4.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2012-March/msg00082 .html , hentet 6. juli 2020 . 
  69. Clasen, Mathias (24. september 2012), " GTK+ 3.6.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2012-September/msg00045 .html , hentet 6. juli 2020 . 
  70. Clasen, Mathias (25. mars 2013), " GTK+ 3.8.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00108 .html , hentet 6. juli 2020 . 
  71. ^ "Rammeklokke: GDK 3 Reference Manual" . developer.gnome.org . 
  72. Clasen, Mathias (23. september 2013), " GTK+ 3.10.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2013-September/msg00057 .html , hentet 6. juli 2020 . 
  73. Clasen, Mathias (25. mars 2014), " GTK+ 3.12 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2014-March/msg00060.html , hentet 6. juli 2020 . 
  74. "Dekorasjoner på klientsiden i temaer | Pågår» . 
  75. Clasen, Mathias (22. september 2014), " GTK+ 3.14.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2014-September/msg00007 .html , hentet 6. juli 2020 . 
  76. Matthias Clasen (15. mai 2014). "GtkInspector Authors blogginnlegg" . Hentet 17. mai 2014 . 
  77. "GtkInspector i GNOME-wiki" . 15. mai 2014 . Hentet 17. mai 2014 . 
  78. ^ "Slå sammen bevegelser til 3.14" . 23. mai 2014 . Hentet 23. mai 2014 . 
  79. ^ "RFC: bevegelser" . 4. april 2014 . Hentet 23. mai 2014 . 
  80. ^ "gtk+ 3.13.2" . 27. mai 2014. 
  81. ^ "gtk+ 3.13.3" . 24. juni 2014. 
  82. Clasen, Mathias (22. mars 2015), " GTK+ 3.16.0 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-devel-list/2015-March/msg00062 .html , hentet 6. juli 2020 . 
  83. på nett, heise. "Linux-Desktop: Neues Gnome zeigt Nachrichten oben" . heise online . Hentet 3. juni 2017 . 
  84. ^ "GTK+ 3.16.0 utgitt" . mail.gnome.org . Hentet 3. juni 2017 . 
  85. Nestor, Marius (24. september 2015). "GTK+ 3.18.0 offisielt utgitt som en del av GNOME 3.18 skrivebordsmiljø" . Softpedia . Hentet 25. mai 2019 . 
  86. Clasen, Mathias (21. mars 2016), " GTK+ 3.20 ", GNOME Mail Services-postliste , https://mail.gnome.org/archives/gtk-list/2016-March/msg00026.html , hentet 6. juli , 2020 . 
  87. "GTK+ 3.20 – Stilklasser og elementnavn" . 20. november 2015. 
  88. Clasen, Mathias (21. september 2016), " GTK+ 3.22 released ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/gtk-list/2016-September/msg00006.html , åpnet i juli 6, 2020 . 
  89. ^ "GTK+ Wayland-nettbrettstøtte er slått sammen – Carlos Garnacho" . 
  90. ^ "Hutterer input" . www.x.org . 
  91. ^ "GUADEC2013: Benjamin Otte snakker om GTK+" . GUADEC . 
  92. ^ a b "Gtk 4.0 vil ikke være stabil før Gtk 4.6" . 13. juni 2016. 
  93. ^ a b "Gtk 5.0 vil ikke være stabil før Gtk 5.6" . 14. juni 2016. 
  94. Clasen, Mathias (31. mars 2017), " gtk+ 3.90.0 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/ftp-release-list/2017-March/msg00243. html , hentet 6. juli 2020 . 
  95. "Prosjekter/GTK/Roadmap - GNOME Wiki!" . wiki.gnome.org . 
  96. "Forplikter · master · GNOME / gtk" . GitLab . 
  97. Clasen, Mathias (18. oktober 2017), " gtk+ 3.92.1 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/ftp-release-list/2017-October/msg00117. html , hentet 6. juli 2020 . 
  98. Clasen, Mathias (23. oktober 2017). "GTK+ 3.92" . GTK utviklingsblogg . Hentet 25. mai 2019 . 
  99. "GNOME 3.26 utgitt" . 13. september 2017. 
  100. Clasen, Mathias (26. juni 2018), " gtk+ 3.94.0 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/ftp-release-list/2018-June/msg00073. html , hentet 6. juli 2020 . 
  101. Clasen, Mathias (7. mai 2019), " gtk 3.96 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/ftp-release-list/2019-May/msg00032.html , hentet 6 juli 2020 . 
  102. ^ "Introduserer amtk" . 
  103. Clasen, Mathias (6. juni 2020), " gtk 3.98.5 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/ftp-release-list/2020-June/msg00024. html , hentet 6. juli 2020 . 
  104. Clasen, Matthias (13. februar 2020). "GTK 3.98" . GTK+ utviklingsblogg (på engelsk) . Hentet 18. februar 2020 . 
  105. Clasen, Mathias (31. juli 2020), " gtk 3.99.0 ", GNOME Mail Services-postliste , https://mail.gnome.org/archives/ftp-release-list/2020-July/msg00096. html , åpnet 2020-08-28 . 
  106. Clasen, Mathias (16. desember 2020), " gtk 4.0.0 ", GNOME Mail Services e-postliste , https://mail.gnome.org/archives/ftp-release-list/2020-December/msg00029. html , åpnet 25. desember 2020 . 

Eksterne lenker