GTK - GTK
Originale forfattere | Spencer Kimball , Peter Mattis |
---|---|
Utvikler (er) | GNOME -prosjektet , eXperimental Computing Facility (XCF) |
Første utgivelse | 14. april 1998 |
Stabil utgivelse | 4.4.0 / 23. august 2021
|
Forhåndsvisningslansering | 4.3.1 / 9. juni 2021
|
Oppbevaringssted | |
Skrevet inn | C , CSS |
Operativsystem | Linux , Unix-lignende , macOS , Windows |
Type | Widgetverktøysett |
Tillatelse | LGPLv2.1+ |
Nettsted | gtk |
GTK (tidligere GIMP ToolKit deretter GTK+ ) er en gratis og åpen kildekode -plattform- widgetverktøysett for å lage grafiske brukergrensesnitt (GUI). Den er lisensiert under vilkårene i GNU Lesser General Public License , slik at både gratis og proprietær programvare kan bruke den. Det er en av de mest populære verktøysettene for Wayland og X11 vindussystemer .
GTK -teamet gir ut nye versjoner med jevne mellomrom. GTK 4 og GTK 3 opprettholdes, mens GTK 2 er livets slutt.
Programvarearkitektur
GTK -biblioteket inneholder et sett med grafiske kontrollelementer ( widgets ); versjon 3.22.16 inneholder 186 aktive og 36 utdaterte widgets. GTK er en objektorientert widgetverktøysett skrevet på programmeringsspråket C ; den bruker GObject , det vil si GLib -objektsystemet , for objektretningen. Mens GTK hovedsakelig er for vindusystemer basert på X11 og Wayland , fungerer det på andre plattformer, inkludert Microsoft Windows (grensesnitt til Windows API ) og macOS (grensesnitt med Quartz ). Det er også en HTML5- back-end som heter Broadway .
GTK kan konfigureres til å endre utseendet på widgetene som er tegnet; dette gjøres ved hjelp av forskjellige displaymotorer. Det finnes flere displaymotorer som prøver å etterligne utseendet til de opprinnelige widgetene på plattformen som er i bruk.
Fra og med versjon 2.8, utgitt i 2005, GTK begynte overgangen til å bruke Kairo for å gjengi de fleste av sine grafiske kontrollelementer widgets . Siden GTK versjon 3.0 er all gjengivelse utført ved hjelp av Kairo.
Januar 2018 på DevConf.cz ga Matthias Clasen en oversikt over den nåværende tilstanden for GTK 4-utvikling, inkludert en forklaring på høyt nivå om hvordan gjengivelse og input fungerte i GTK 3, hvilke endringer som gjøres i GTK 4 (> 3,90 ), og hvorfor. Februar 2019 ble det kunngjort at GTK 4 slipper “+” fra prosjektets navn.
GTK Drawing Kit (GDK)
GDK fungerer som en omslag rundt funksjonene på lavt nivå som tilbys av de underliggende vindus- og grafikksystemene.
GDK finnes i /gdk
katalogen.
GTK Scene Graph Kit (GSK)
GSK er gjengivelses- og scenediagrammet for GTK. GSK ligger mellom de grafiske kontrollelementene (widgets) og gjengivelsen. GSK ble endelig slått sammen til GTK versjon 3.90 utgitt mars 2017.
GSK finnes i /gsk
katalogen.
GtkInspector
GtkInspector ble introdusert med versjon 3.14. GtkInspector kan bare påberopes etter installering av utviklingspakken libgtk-3-dev / gtk+-devel .
GUI designere
Det er flere GUI -designere for GTK. Følgende prosjekter er aktive fra juli 2011:
- Glade , støtter GtkBuilder , som er et GTK innebygd GUI-beskrivelsesformat.
- Gazpacho , GUI -byggherre for GTK -verktøysettet skrevet i Python
- Crow Designer, er avhengig av sitt eget GuiXml -format og GuiLoader -bibliotek.
- Stetisk , en del av MonoDevelop , orientert mot Gtk# .
- Gambas siden versjon 2.0 på toppen av BASIC
- Xojo på Linux
- Lazarus på Linux har som standard grensesnitt med GTK 2
GtkBuilder
GtkBuilder lar brukergrensesnitt utformes uten å skrive kode. Grensesnittet er beskrevet i en XML -fil ( Extensible Markup Language ), som deretter lastes inn under kjøretid og objektene opprettes automatisk. Glade Interface Designer lar deg opprette brukergrensesnittet på en måte du ser er det du får ( WYSIWYG ). Beskrivelsen av brukergrensesnittet er uavhengig av programmeringsspråket som brukes.
Språkbindinger
Språkbindinger er tilgjengelige for bruk av GTK fra andre språk enn C, inkludert C ++ , Genie , JavaScript , Perl , Python , Vala og andre .
GtkSharp, for ikke å forveksle med Gtk#, støtter GTK 3.
Gtk#
Utvikler (er) | Xamarin |
---|---|
Første utgivelse | 12. mars 2004 |
Stabil utgivelse | 2.12.41 / 22. september 2016
|
Forhåndsvisningslansering | 2.99.3 (for GTK3) / 6. juni 2014
|
Oppbevaringssted | |
Skrevet inn | C# , XML , Perl , C |
Operativsystem | Windows , macOS , Linux |
Type | Widgetverktøysett |
Tillatelse | GNU Lesser General Public License |
Nettsted | mono-prosjekt |
Gtk# er et sett med .NET Framework -bindinger for verktøykassen for grafisk brukergrensesnitt (GUI) og diverse GNOME -biblioteker . Biblioteket gjør det enklere å bygge grafiske GNOME -applikasjoner ved hjelp av Mono eller en annen kompatibel Common Language Runtime (CLR). Gtk# er et hendelsesdrevet system som alle andre moderne vindusbibliotek der hver widget tillater tilknyttede behandlingsmetoder, som blir ringt opp når visse hendelser oppstår.
Programmer bygget med Gtk# vil kjøre på mange plattformer, inkludert Linux , Windows og macOS . Mono -pakkene for Windows inkluderer GTK, Gtk# og et innfødt tema for å få applikasjoner til å ligne native Windows -applikasjoner. Fra og med Mono 1.9 krever ikke lenger kjøring av Gtk# -programmer på macOS en X11 -server.
Glade Interface Designer kan brukes med Glade# -bindinger for enkelt å designe GUI -applikasjoner. En GUI -designer ved navn Stetic er integrert med MonoDevelop integrerte utviklingsmiljø (IDE).
I tillegg til å støtte standard GTK/GNOME-stabel med utviklingsverktøy, gir gtk-dotnet.dll- forsamlingen en bro for å forbruke funksjonalitet tilgjengelig på .NET-bunken. På dette tidspunktet inkluderer dette funksjonaliteten for å bruke System.Drawing for å tegne på en widget.
Fra september 2020 forblir Gtk# -støtte for Gtk3 i forhåndsvisningsfasen, og prosjekter som GtkSharp , som er forankret , er grunnlagt for å gi full Gtk3 -støtte for C# og andre CLI -språk. Mangelen på en utgitt versjon av Gtk# med støtte for Gtk3 ble nevnt som en grunn til å fjerne Banshee mediespiller i Ubuntu 12.04.
Utvikling
GTK er hovedsakelig utviklet av The GNOME Project , som også utvikler GNOME Development Platform og GNOME Desktop Environment.
GTK -utviklingen styres løst. Diskusjon foregår hovedsakelig på flere offentlige postlister. GNOME -utviklere og brukere samles på et årlig GUADEC -møte for GNOME Users and Developers European Conference og utviklere for å diskutere GNOMEs nåværende tilstand og fremtidige retning. GNOME inkorporerer standarder og programmer fra freedesktop.org for bedre å samarbeide med andre stasjonære datamaskiner.
GTK er i hovedsak skrevet i C . Mange språkbindinger er tilgjengelige .
September 2016 ble et innlegg på GTK -utviklingsbloggen blant annet angitt den fremtidige nummereringsplanen for GTK. GTK versjon 3.22 fra høsten 2016 skal være den siste 3.x -utgivelsen. Versjon 3.24 ble introdusert høsten 2018 med forsinkelsen på GTK 4. Etter det vil alle ressurser flytte til GTK 4 -utviklingsserien med versjonsnavnene 3.90, 3.92, etc. Selv når 4.x -serien går i utvikling, bruker bemerkelsesverdige applikasjoner fortsatt GTK 2.x og har ikke blitt portet til 3.22. Når det gjelder fremtiden for eldre programvare som bruker GTK , var det ikke noe kollektivt prosjekt for å overføre GTK 2.x programvare til 3.22. Versjon 3.24 er i langsiktig støtte og den faktiske og fremtidige basen av programmer som gimp 3.0 og Inkscape 1.0. Så for utviklere er valget stabilt GTK 3.24 med bugfix eller GTK 4 med endringer og nye funksjoner i fremtidig utvikling.
Bygg automatisering
GTK (og GNOME, glatt, etc.) tidligere benyttet GNU Build System (kalt Autotools) som byggesystem system av valget.
Siden 14. august 2017 har hovedgrenen til GTK blitt bygd med Meson , og Autofunksjoner -systemfiler har blitt slettet.
Kritikk
Den vanligste kritikken av GTK er mangelen på bakoverkompatibilitet i store oppdateringer, særlig i applikasjonsprogrammeringsgrensesnittet (API) og tema.
Kompatibilitetsbruddene mellom mindre utgivelser under utviklingssyklusen GTK 3.x ble forklart av Benjamin Otte på grunn av et sterkt press for å innovere, for eksempel å tilby funksjonene moderne brukere forventer og støtte den stadig mer innflytelsesrike Wayland -skjermserverprotokollen . Med lanseringen av GTK 4 vil presset fra behovet for innovasjon ha blitt frigjort og balansen mellom stabilitet og innovasjon vil vippe mot stabilitet. På samme måte er nylige endringer i tema spesielt beregnet på å forbedre og stabilisere den delen av API, noe som betyr at noen investeringer nå bør belønnes senere.
- Dirk Hohndel, kodeutvikler av Subsurface og medlem av Intels Open-Source Technology Center, kritiserte GTK-utviklerne for å være slitende og ignorere de fleste samfunnsforespørsler.
- Hong Jen Yee, utvikler av LXDE (hvor GTK -versjonen ble droppet og all innsats fokusert på Qt -porten ), uttrykte forakt for versjon 3 av GTK -verktøysettets radikale API -endringer og økt minnebruk, og overførte PCMan File Manager (PCManFM) til Qt . PCManFM utvikles samtidig med en GTK og med en Qt -backend.
- Den Audacious musikkspilleren flyttet til Qt i versjon 3.6. Årsakene til utviklerne for dette inkluderer en overgang til vindusdekorasjoner på klientsiden, som de hevder får programmet til å se " GNOME -y og malplassert ut."
- Wireshark har byttet til Qt på grunn av ikke å ha en god opplevelse med GTKs plattformstøtte.
Bruk
applikasjoner
Noen bemerkelsesverdige applikasjoner som bruker eller en gang brukte GTK som en widgetverktøysett inkluderer:
- GNOME Core Applications - som en del av GNOME -skrivebordsmiljøet, utviklet i samspill med GTK selv.
- AbiWord - tekstbehandler (3.0+ med GTK+ 3)
- Anjuta - Integrert utviklingsmiljø (IDE) (GTK+ 3)
- Ardor - Digital lyd arbeidsstasjon
- Chromium - Nettleser (Til versjon 34, erstattet av Aura i versjon 35+)
- Ekiga (tidligere Gnomemeeting) - VoIP og videokonferanse program
- GNU Emacs kan bruke GTK når du kjører på X. (GTK+ 3 med 24.2+)
- Evolution - Personal information manager (GTK+ 3 med 3.x, GTK 4 med versjon 40.0)
- gconfig - Linux -kjernekildekonfigurasjonsverktøy .
- Geany -en lett IDE- og GTK-tekstredigerer på tvers av plattformer basert på Scintilla . (Versjon 1.37.1 basert på GTK+ 3.24.23, sist med støtte for GTK+ 2.20+)
- GIMP - Raster grafikkredigerer (3.0 med GTK+ 3, 2.99.4 forhåndsvisning av 3.0)
- Gnumeric - Regnearkprogram (1.12.x med GTK+ 3)
- Gramps - Slektsforskningsprogramvare (4.0+ med GTK+ 3)
- Inkscape - Vektorgrafikkredigerer for SVG (1.0.x med GTK+ 3)
- LiVES - Videoredigerer (GTK+ 2.16+ eller 3)
- Midori - Minimalistisk nettleser som bruker GTKWebKit som gjengivelsesmotor og GTK som widgetverktøysett (GTK+ 3)
- Pidgin - Instant messenger -applikasjon
Skrivebordsmiljøer
Flere skrivebordsmiljøer bruker GTK som widgetverktøysett.
Strøm
- GNOME , basert på GTK, noe som betyr at programmer som er opprinnelig til GNOME bruker GTK
- Budgie , bygget fra bunnen av for SolusOS -etterfølgeren, Solus Operating System
- Kanel , en gaffel av GNOME 3 som bruker GTK versjon 3
- MATE , en gaffel av GNOME 2 som bruker GTK 3 siden versjon 1.18
- Xfce , basert på GTK 3 siden versjon 4.14
- Pantheon bruker utelukkende GTK 3, som er utviklet av elementært operativsystem
- Sugar , et skrivebordsmiljø for ungdoms grunnskole , som bruker GTK, spesielt PyGTK
- KDE , selv om det er basert på Qt , har integrasjon med GTK -skrevne programmer og temaer siden versjon 4.2
- Phosh , et mobilgrensesnitt designet for PureOS
Inaktiv
- Unity , det tidligere standard skrivebordsmiljøet til Ubuntu
- LXDE (Lightweight X11 Desktop Environment) er basert på GTK 2
- Få tilgang til Linux -plattformen (etterfølgeren til Palm OS PDA -plattformen)
- Consort, GNOME 3.4 Fallback Mode - gaffel fra SolusOS
- GPE , GPE Palmtop Environment
- ROX Desktop , et lett skrivebord, med funksjoner fra GUI for RISC OS
Diverse
GTK -programmer kan kjøres på skrivebordsmiljøer basert på X11 og Wayland, eller vindusbehandlere selv de som ikke er laget med GTK, forutsatt at de nødvendige bibliotekene er installert; dette inkluderer macOS hvis X11.app er installert. GTK kan også kjøres på Microsoft Windows , der den brukes av noen populære plattformsapplikasjoner som Pidgin og GIMP. wxWidgets , et plattform-GUI-verktøysett, bruker GTK på Linux som standard. Andre porter inkluderer DirectFB (brukes for eksempel av Debian -installasjonsprogrammet ) og ncurses .
Vindusbehandlere
Følgende vindusbehandlere bruker GTK:
GtkSourceView
For syntaksfremheving er det GtkSourceView , "widget for redigering av kildekode". GtkSourceView vedlikeholdes av GNOME separat fra GTK som et bibliotek: gtksourceview . Det er planer om å gi nytt navn til gsv.
GtkSpell
GtkSpell er et bibliotek atskilt fra GTK. GtkSpell er avhengig av GTK og Enchant . Enchant er en innpakning for ispell, hunspell osv., Selve stavekontrollmotoren /programvaren. GtkSpell bruker GTKs GtkTextView -widget for å markere feilstavede ord og tilby erstatning.
Eksempel
Dokumentasjon er tilgjengelig her:
Følgende kode presenterer et grafisk GTK hei-verden program i programmeringsspråket C . Dette programmet har et vindu med tittelen "Hei, verden!" og en etikett med lignende tekst.
// helloworld.c
#include <gtk/gtk.h>
/* Callback that will be called when the application is activated */
static void
activate_callback(GApplication *app, gpointer user_data)
{
GtkWidget *window;
GtkWidget *label;
/* Create the main, top level window */
window = gtk_window_new();
/* Give it the title */
gtk_window_set_title(GTK_WINDOW(window), "Hello, world!");
/* Set the window's default size */
gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);
/* Assign the variable "label" to a new GTK label,
* with the text "Hello, world!" */
label = gtk_label_new("Hello, world!");
/* Plot the label onto the main window */
gtk_window_set_child(GTK_WINDOW(window), label);
/* Make the application aware of the window.
* The application process will continue to run until all
* windows are closed */
gtk_application_add_window(GTK_APPLICATION(app), GTK_WINDOW(window));
/* Make sure that everything, window and label, are visible */
gtk_widget_show(window);
}
int main (int argc, char *argv[])
{
/* Create our test application */
GtkApplication *application = gtk_application_new("org.wikipedia.gtktest", 0);
/* Connect our handler to the "activate" callback, which will be called
* when the application is activated by the user, e.g. on first start */
g_signal_connect(application, "activate", G_CALLBACK(activate_callback), NULL);
/* Run the application and return its status */
return g_application_run(G_APPLICATION(application), argc, argv);
}
Må installere bibliotekene først i Debian eller derivater:
$ sudo apt-get install libgtk-4-dev
Ved å bruke pkg-config i et Unix-skall kan denne koden kompileres med følgende kommando:
$ cc -Wall $(pkg-config --cflags --libs gtk4) helloworld.c -o helloworld
Start programmet:
$ ./helloworld
Historie
Linux
GTK ble opprinnelig utviklet og brukt i GNU Image Manipulation Program (GIMP) som en erstatning av Motif verktøykasse; på et tidspunkt ble Peter Mattis misfornøyd med Motif og begynte å skrive sitt eget GUI -verktøykasse med navnet GIMP -verktøykassen og hadde med hell erstattet Motif med 0.60 -utgivelsen av GIMP. Til slutt ble GTK skrevet om for å være objektorientert og ble omdøpt til GTK+. Dette ble først brukt i 0.99 -utgivelsen av GIMP. GTK ble deretter adoptert for vedlikehold av GNOME Foundation , som bruker det i GNOME -skrivebordsmiljøet.
GTK 2.0.0-utgivelsesserien introduserte nye funksjoner som inkluderer forbedret tekstgengivelse ved hjelp av Pango , en ny temamotor , forbedret tilgjengelighet ved hjelp av Accessibility Toolkit , overgang til Unicode ved bruk av UTF-8- strenger og et mer fleksibelt API. Fra og med versjon 2.8 er GTK 2 avhengig av grafikkbiblioteket i Kairo for gjengivelse av vektorgrafikk.
GTK versjon 3.0.0 inkluderte revidert inndatahåndtering, støtte for temaer skrevet med CSS -lignende syntaks, og muligheten til å motta informasjon om andre åpnede GTK -applikasjoner.
'+' Ble droppet tilbake til ganske enkelt 'GTK' i februar 2019 under et Hackathon .
Mac os
Med Quartz -Backend GTK er tilgjengelig i macOS .
Windows
- Etter GTK 2.24.10 og 3.6.4 ble utviklingen av Windows med Installer lukket av Gnome. Installasjon av MSYS2 på Windows er en god måte å bruke faktisk GTK.
- GTK 2.24.10 og 3.6.4 er tilgjengelig på Internett, men veldig buggy og begrenset til faktiske versjoner.
- En versjon for Windows 64-bit er utarbeidet av Tom Schoonjans med 2.24.33 (faktisk som Linux) og 3.24.24 (faktisk som Linux) fra januar 2021 tilgjengelig.
- Windows 10s Fall Creators Update inkluderer Windows Subsystem for Linux (WSL). Med Linux -distribusjoner som Ubuntu eller Debian tilgjengelig fra Windows Store og en X -server som Xming eller VcXsvr, kan tusenvis av programmer som GTK 2 eller 3 kjøres med X eller terminalstøtte.
OpenVMS
HP uttalte at målet deres var å slå sammen de nødvendige OpenVMS -endringene i utviklingsstrømmen GTK Version 1.3, men dette ble aldri noe av. Den siste versjonen av GTK for OpenVMS er versjon 1.2.10.
GTK 4
En av de kardinale nyhetene som ble implementert under utviklingssyklusen GTK 4 (dvs. GTK 3.92, etc.) har vært delegering av funksjonalitet til tilleggsobjekter i stedet for å kode den inn i baseklassene levert av GTK.
- hendelseshåndteringen fra signalbehandlere beskrevet av GtkWidget er delegert til hendelseskontrollere
- gjengivelsen er delegert til GtkSnapshot -objekter
- oppsettsmekanismen fra GtkWidget er delegert til GtkLayoutManager
I 2018-Jan-26 på DevConf.cz ga Matthias Clasen en oversikt over den nåværende tilstanden for GTK 4-utviklingen, inkludert en forklaring på høyt nivå om hvordan gjengivelse og input fungerte i GTK 3, hvilke endringer som ble gjort i GTK 4, og årsakene til disse endringene. Eksempler på ting som har blitt mulig med GTK 4 ble også gitt.
Utgivelser
Legende:
Gammel versjon
Eldre versjon, fortsatt vedlikeholdt
Siste versjon
Siste forhåndsversjon
Fremtidig utgivelse
|
|||||||
Slippserie | Første utgivelse | Store forbedringer | Siste mindre versjon | ||||
---|---|---|---|---|---|---|---|
1.0 | 1998-04-13 | Første stabile versjon | 1.0.6 | ||||
1.2 | 1999-02-25 | Nye widgets :
|
1.2.10 | ||||
2.0 | 2002-03-11 |
GObject
Samlet støtte for UTF-8 |
2.0.9 | ||||
2.2 | 2002-12-22 | Multihead -støtte | 2.2.4 | ||||
2.4 | 2004-03-16 | Nye widgets:
|
2.4.14 | ||||
2.6 | 2004-12-16 | Nye widgets:
Den siste som støtter Windows 98 / Me |
2.6.10 | ||||
2.8 | 2005-08-13 | De fleste widgets er gjengitt av Kairo | 2.8.20 | ||||
2.10 | 2006-07-03 | Nye widgets:
Utskriftsstøtte: GtkPrintOperation |
2.10.14 | ||||
2.12 | 2007-09-14 | GtkBuilder | 2.12.12 | ||||
2.14 | 2008-09-04 | JPEG 2000 last støtte | 2.14.7 | ||||
2.16 | 2009-03-13 | Ny widget: GtkOrientable
Caps Lock -advarsel i passordoppføring Forbedringer på GtkScale, GtkStatusIcon, GtkFileChooser |
2.16.6 | ||||
2.18 | 2009-09-23 | Ny widget: GtkInfoBar
Forbedring av filvelger, utskrift For å fjerne mye av den nødvendige IPC mellom X11-applikasjonen og X11-serveren, skrives GDK om (hovedsakelig av Alexander Larsson) til å bruke "vinduer på klientsiden", dvs. GdkWindow, som hver widget må ha, tilhører nå klienten |
2.18.9 | ||||
2,20 | 2010-03-23 | Nye widgets:
Forbedring av filvelger, tastaturhåndtering, GDK Introspeksjonsdata er nå inkludert i GTK |
2.20.1 | ||||
2.22 | 2010-09-23 |
GdkPixbuf flyttet til separat modul
De fleste GDK -tegninger er basert på Kairo Mange interne data er nå private og kan forsegles som forberedelse til GTK 3 |
2.22.1 | ||||
2,24 | 2011-01-30 | Ny widget: GtkComboBoxText
CUPS print backend kan sende utskriftsjobber som PDF GtkBuilder har fått støtte for tekstetiketter og menyverktøyknapper, og mange korrigeringer for introspeksjonskommentarer ble lagt til |
2.24.32 (2018-01-08) |
||||
3.0 | 2011-02-10 | Utvikling og design av GTK 3 -utgivelsen av verktøysettet startet i februar 2009 under GTK Theming Hackfest som ble holdt i Dublin
Fullførte for det meste Project Ridley
All gjengivelse er gjort ved hjelp av Kairo GDK ble mer X11 -agnostiker XInput2, tema API er basert på Cascading Style Sheets (CSS), noe som forverrer den oppnåelige ytelsen for 60 Hz bildefrekvenser |
3.0.12 | ||||
3.2 | 2011-09-25 | Nye widgets:
Ny dialogboks for valg av skrift Nye eksperimentelle backends: |
3.2.4 | ||||
3.4 | 2012-03-26 | Menystøtte i GtkApplication
En ny fargevelger Lagt til støtte for berøringsenheter Lagt til støtte for jevn rulling GtkScrolledWindow vil gjøre kinetisk rulling med berøringsenheter macOS -støtte er forbedret Dette er den første versjonen av GTK 3 som fungerer bra på Windows Wayland backend er oppdatert til den nåværende Wayland -versjonen Spinnknapper har fått et nytt utseende Tilgjengelighet: Treeview -tilgjengelig støtte skrives om Mer komplett CSS -temastøtte |
3.4.4 | ||||
3.6 | 2012-09-24 | Nye widgets:
Vertikale rotasjonsknapper CSS -animasjoner, uskarpe skygger Støtte for kryssfading og overganger i temaer |
3.6.5 | ||||
3.8 | 2013-03-25 | Wayland 1.0 stabil støtte
Støtte for broadwayd -serveren Forbedret tema Bedre geometrihåndtering Berøringsforbedringer Støtte med vindusbehandleren for rammesynkroniseringsprotokollen GdkFrameClock lagt til |
3.8.9 | ||||
3.10 | 2013-09-23 | Nye widgets:
Støtte for Wayland 1.2
La til:
Fjernet:
Riv av menyelementer, pluss mange GTK-innstillinger |
3.10.9 | ||||
3.12 | 2014-03-25 | Dekorasjoner på klientsiden
Støtte for Wayland 1.5 Ny widget: GtkPopover (et alternativ til menyer og dialoger) |
3.12.2 | ||||
3.14 | 2014-09-22 |
GtkInspector (en kopi av gtkparasite) introdusert
Forbedret støtte for bevegelser / multi-touch slått sammen Utgått:
De fleste widgets konverterte til å bruke bevegelser internt Wayland støtter klassisk GNOME Shell -modus |
3.14.15 | ||||
3.16 | 2015-03-22 | GDK støtter gjengivelse av vinduer med OpenGL for X11 og Wayland ved bruk av libepoxy
Nye widgets:
Rulling overhalet ( rullefelt skjult som standard) Eksperimentell Mir backend |
3.16.7 | ||||
3.18 | 2015-09-23 | Legg til CSS -node -infrastruktur
Mer oppdatering av filechooser -design og bedre filechooser -søk Droppet Windows XP -støtte Modellstøtte for liste og flytboks Kinetic touchpad scrolling Pekefeltbevegelser (Wayland) gtk-builder-tool-verktøy Bare utgangsvinduer |
3.18.9 | ||||
3,20 | 2016-03-21 | Videre integrering av CSS -noder
Flytt dra og slipp ned til GDK Ny widget: GtkShortcutsWindow (viser hurtigtaster og bevegelser for et program) |
3.20.10 | ||||
3.22 | 2016-09-21 | Siste 3.x utgivelse
Støtte for Wayland -nettbrett er slått sammen, støtte for grafikkbrett anses funksjonen fullført GTK 3.22 skal være like steinstabil (og dermed "kjedelig") som GTK 2 |
for 3+ år 3.22.29 |
||||
3,24 | 2018-09-03 | 3.22 skulle være den siste versjonen av GTK 3 -serien
Avhengighetshump - krever:
Nye funksjoner for fontvelger:
Nye Emoji -funksjoner:
Andre nye API -er: gdk_window_move_to_rect Wayland: bruk anonymt delt minne på FreeBSD Backported hendelseskontrollere fra GTK 4:
Utdatere noen få APIer som er borte i GTK 4:
|
3.23.0 3.23.1 3.23.2 3.23.3 3.24.0 … 3.24.5 3.24.14 … |
||||
3,90 | 2017-03-31 |
GTK Scene Graph Kit (GSK) slått sammen
Fjern et API som er merket som utdatert Kraftig utvikling
En ny Vulkan -gjengivelse forsterker den gamle Kairo -gjengivelsen |
3.89.1 |
||||
3,92 | 2017-10-18 | Siden GNOME 3.26 ble utgitt allerede 13. september 2017, var det ikke basert på GTK 3.92.
GNU autotools ble erstattet med Meson . |
3.91.0 |
||||
3,94 | 2018-06-26 | 3,93
GdkWindow omdøpt til GdkSurface Ny abstraksjon for tegnbart innhold: GdkPaintable Det er støtte for å vise medier med:
|
3,93 3,94,0 |
||||
3,96 | 2019-05-07 | Kommandoen gtk4-builder-tool simplify har fått et --3to4alternativ for å konvertere GTK3 ui-filer til GTK4; men med AMTK -menyer, er verktøylinjer eller andre objekter som GtkShortcutsWindow opprettet programmatisk (ikke med en *.ui -fil), men med praktiske APIer.
GtkWidget kan nå bruke en GtkLayoutManager for størrelsesallokering
Fokushåndtering er omskrevet, og hendelsesgenerering med fokusendring har blitt forent med kryssende hendelser Hendelser er forenklet og brukes bare for innspill:
|
3.96.0 | ||||
3,98 | 2020-02-10 |
|
3,98,5 | ||||
3,99,0 | 2020-07-31 |
|
3.99.4 | ||||
4.0 | 16.12.2020 | 4.0.2 | |||||
4.2 | 2021-03-30 | ||||||
4.4 | 2021-08-23 |
Se også
- Dekorasjon på klientsiden
- Liste over widgetverktøy
- GDK -GIMP Drawing Kit ligger mellom xlib og GTK-biblioteket, og håndterer grunnleggende gjengivelse som tegningsprimitiver, rastergrafikk (bitmaps), markører, fonter, samt vindushendelser og dra-og-slipp-funksjonalitet
- gtkmm - C ++ - bindinger for GTK
- Qt - rammeverk og verktøykasse på tvers av plattformer
- Xojo -utviklingsverktøy og rammeverk på tvers av plattformer
- Enlightenment Foundation Libraries (EFL) - widgetverktøysett skrevet for Enlightenment Window Manager
- FLTK -et lett, ikke-innfødt widgetverktøysett på tvers av plattformer
- FOX-verktøykasse -en rask, åpen kildekode-plattform-widgetverktøysett
- IUP -et verktøy for flere plattformer for å bygge innfødte grafiske brukergrensesnitt
- Ultimate ++
- Visual Component Library (VCL)
- Vala -et objektorientert programmeringsspråk med en selvvertende kompilator som genererer C-kode og bruker GObject-systemet.
- wxWidgets - et verktøygrensesnitt på tvers av plattformer som har som mål å bruke hver plattforms opprinnelige grafiske API direkte når det er mulig.
Referanser
Bibliografi
- Krause, Andrew (23. april 2007), Foundations of GTK+ Development (1. utg.), Apress , ISBN 978-1-59059-793-4
- Wright, Peter (15. mai 2000), Beginning GTK+ og GNOME (1. utg.), Peer Information , ISBN 978-1-86100-381-2
- Logan, Syd (6. september 2001), Gtk+ Programming in C (1. utg.), Prentice Hall , ISBN 978-0-13-014264-1
Eksterne linker