GTK - GTK

GTK
GTK logo.svg
Gtk4-widget-factory demos.png
GTK 4-es verzió ( gtk4-widget-factory , példák gyűjteménye, amely sok GUI-kütyüt mutat be )
Eredeti szerző (k) Spencer Kimball , Peter Mattis
Fejlesztő (k) A GNOME projekt , eXperimental Computing Facility (XCF)
Első kiadás 1998. április 14 . ; 23 évvel ezelőtt ( 1998-04-14 )
Stabil kiadás
4.4.0 / 2021. augusztus 23 .; 57 napja ( 2021-08-23 )
Előzetes verzió
4.3.1 / 2021. június 9 .; 4 hónappal ezelőtt ( 2021-06-09 )
Adattár
Beírva C , CSS
Operációs rendszer Linux , Unix-szerű , macOS , Windows
típus Widget eszköztár
Engedély LGPLv2.1+
Weboldal gtk .org

GTK (korábban GIMP ToolKit majd GTK + ) egy szabad és nyílt forráskódú cross-platform felületi elem eszközkészlet létrehozásához grafikus felhasználói felületek (GUI). Ez alatt licencelt szempontjából a GNU General Public License , amely lehetővé teszi mind szabad , és szabadalmaztatott szoftver használni. Ez az egyik legnépszerűbb eszközkészlet a Wayland és X11 ablakrendszerekhez .

A GTK csapata rendszeresen ad ki új verziókat. A GTK 4 és a GTK 3 megmarad, míg a GTK 2 az élettartam vége.

Szoftver architektúra

A GTK egyszerűsített szoftver architektúrája . Pango , GDK , ATK , GIO , Kairó és GLib
A GDK az X11 , a Wayland , a Broadway ( HTTP ), a Quartz és a GDI háttereit tartalmazza , és a megjelenítéshez Kairóra támaszkodik . Az új SceneGraph folyamatban van.

A GTK könyvtár grafikus vezérlőelemeket ( widgeteket ) tartalmaz; A 3.22.16 verzió 186 aktív és 36 elavult kütyüt tartalmaz. A GTK egy objektum-orientált widget eszközkészlet , amely C programozási nyelven íródott ; a GObject -et , azaz a GLib objektumrendszert használja az objektum orientációjához. Míg a GTK főleg az X11 és Wayland alapú ablakrendszerekhez készült, más platformokon is működik, beleértve a Microsoft Windows -t ( a Windows API -val összekapcsolt ) és a macOS -t (a Quartz -nal ). Van még egy HTML5 háttér, Broadway .

A GTK beállítható úgy, hogy megváltoztassa a rajzolt widgetek megjelenését; ez különböző kijelzőmotorok segítségével történik. Számos kijelzőmotor létezik, amelyek megpróbálják utánozni a natív widgetek megjelenését a használt platformon.

Verziótól kezdődően 2,8, megjelent 2005-ben, a GTK kezdte meg az átállást, hogy a kairói , hogy tegyék a legtöbb grafikus vezérlőelemek kütyü . A GTK 3.0 verziója óta minden megjelenítés Kairóban történik.

2018. január 26-án a DevConf.cz webhelyen Matthias Clasen áttekintést adott a GTK 4 fejlesztésének jelenlegi állapotáról, beleértve egy magas szintű magyarázatot arról, hogy a rendering és az input hogyan működött a GTK 3-ban, milyen változások történnek a GTK 4-ben (> 3,90 ), és miért. 2019. február 6 -án bejelentették, hogy a GTK 4 elhagyja a „+” jelet a projekt nevétől.

GTK rajzkészlet (GDK)

A GDK csomagolóeszközként szolgál az ablak alatti és grafikus rendszerek által biztosított alacsony szintű funkciók köré.

A GDK megtalálható a /gdkkönyvtárban.

GTK Scene Graph Kit (GSK)

A GSK a GTK renderelő és jelenetgráf API -ja. A GSK a grafikus vezérlőelemek (widgetek) és a megjelenítés között helyezkedik el. A GSK végül beolvadt a GTK 3.90 verziójába, amely 2017 márciusában jelent meg.

A GSK megtalálható a /gskkönyvtárban.

GtkInspector

A GtkInspector a 3.14 -es verzióval került bevezetésre. A GtkInspector csak a libgtk-3-dev / gtk+ -devel fejlesztőcsomag telepítése után hívható meg .

GUI tervezők

A GTK számára több grafikus felhasználói felület is létezik . 2011 júliusától az alábbi projektek aktívak:

GtkBuilder

A GtkBuilder lehetővé teszi a felhasználói felületek tervezését kódírás nélkül. A kezelőfelületet egy Extensible Markup Language (XML) fájl írja le, amelyet ezután futás közben betöltenek, és az objektumok automatikusan létrejönnek. A Glade Interface Designer lehetővé teszi a felhasználói felület létrehozását úgy, ahogy Ön látja ( WYSIWYG ). A felhasználói felület leírása független a használt programozási nyelvtől.

Nyelvi kötések

Nyelvi kötések állnak rendelkezésre a GTK használatához a C nyelvtől eltérő nyelvektől, beleértve a C ++ , Genie , JavaScript , Perl , Python , Vala és egyebeket .

A GtkSharp, amelyet nem szabad összetéveszteni a Gtk#-val, támogatja a GTK 3 -at.

Gtk#

Gtk#
Gtk Sharp Logo.png
Fejlesztő (k) Xamarin
Első kiadás 2004. március 12 . ; 17 évvel ezelőtt ( 2004-03-12 )
Stabil kiadás
2.12.41 / 2016. szeptember 22 . ; 5 évvel ezelőtt ( 2016-09-22 )
Előzetes verzió
2,99,3 (GTK3 esetén) / 2014. június 6 . ; 7 évvel ezelőtt ( 2014-06-06 )
Adattár
Beírva C# , XML , Perl , C
Operációs rendszer Windows , macOS , Linux
típus Widget eszköztár
Engedély GNU Lesser General Public License
Weboldal mono-projekt .com /GtkSharp

A Gtk# .NET -keretrendszer -összerendelések halmaza a GTK grafikus felhasználói felület (GUI) eszköztárához és a különféle GNOME -könyvtárakhoz . A könyvtár megkönnyíti a grafikus GNOME -alkalmazások létrehozását Mono vagy bármely más kompatibilis Common Language Runtime (CLR) használatával. A Gtk# egy eseményvezérelt rendszer, mint bármely más modern ablakkezelő könyvtár, ahol minden widget lehetővé teszi a kezelő módszerek társítását, amelyek bizonyos események bekövetkezésekor meghívásra kerülnek.

A Gtk# használatával épített alkalmazások számos platformon futnak, beleértve a Linuxot , a Windowsot és a MacOS -t . A Windows mono csomagjai közé tartozik a GTK, a Gtk# és a natív téma, hogy az alkalmazások natív Windows -alkalmazásoknak tűnjenek. A Mono 1.9 -től kezdve a Gtk# alkalmazások futtatása a macOS rendszeren már nem igényli az X11 kiszolgáló futtatását .

A Glade Interface Designer használható a Glade# kötésekkel a GUI alkalmazások egyszerű megtervezéséhez. A Stetic nevű GUI -tervező integrálva van a MonoDevelop integrált fejlesztői környezettel (IDE).

Amellett, hogy támogatja a szabványos GTK/GNOME verem fejlesztői eszközöket, a gtk-dotnet.dll összeállítás hidat biztosít a .NET veremben elérhető funkciók fogyasztásához. Ezen a ponton ez magában foglalja a System.Drawing funkció használatát.

2020 szeptemberétől a Gtk3 Gtk3 támogatása az előzetes fázisban marad, és az elágazó projektek, mint például a GtkSharp , azért lettek létrehozva, hogy teljes mértékben támogatják a C# és más CLI nyelveket. A Gtk# kiadott, a Gtk3 támogatását támogató verziójának hiányát indokolták a Banshee médialejátszó eltávolítására az Ubuntu 12.04 rendszerben.

Fejlődés

A GTK -t elsősorban a The GNOME Project fejleszti, amely a GNOME fejlesztői platformot és a GNOME asztali környezetet is fejleszti.

A GTK fejlesztése lazán irányított. A vita elsősorban több nyilvános levelezőlistán fordul elő. A GNOME fejlesztői és felhasználói egy éves GNOME Users And Developers European Conference GUADEC találkozón gyűlnek össze, hogy megvitassák a GNOME jelenlegi állapotát és jövőbeli irányát. A GNOME tartalmazza a freedesktop.org szabványait és programjait, hogy jobban együttműködjön más asztali számítógépekkel.

A GTK főleg C nyelven íródott . Sok nyelvi kötés áll rendelkezésre .

2016. szeptember 1 -jén a GTK fejlesztési blogon megjelent bejegyzés többek között a GTK jövőbeni számozási rendszerét jelölte. A GTK 3.22 verziója 2016 őszétől lesz az utolsó 3.x kiadás. A 3.24 -es verziót 2018 őszén vezették be, a GTK 4 késleltetésével. Ezt követően minden erőforrás a GTK 4 fejlesztési sorozatba kerül, 3.90, 3.92 stb. GTK 2.x, és nincs áthelyezve a 3.22 -re. Ami a GTK -t használó régi szoftverek jövőjét illeti , nem volt közös projekt a GTK 2.x szoftver 3.22 -re való átvitelére. A 3.24 verzió hosszú távon támogatott, és olyan programok tényleges és jövőbeli alapja, mint a gimp 3.0 és az Inkscape 1.0. Tehát a fejlesztők számára a választás a stabil GTK 3.24 hibajavítással vagy a GTK 4 változásokkal és új funkciókkal a jövőbeni fejlesztésekben.

Építs automatizálást

A GTK (és a GNOME, GLib stb.) Korábban a GNU Build System -t (Autotools néven) használta választott építési automatizálási rendszerként.

Mivel augusztus 14, 2017, a mester ága GTK úgy építették fel, mezon , a Autotools építmények rendszerfájlok ejtették.

Kritika

A GTK-val kapcsolatos leggyakoribb kritika a visszafelé való kompatibilitás hiánya a főbb frissítésekben, különösen az alkalmazásprogramozási felületen (API) és a tematikában.

A kisebb kiadások közötti kompatibilitási szüneteket a GTK 3.x fejlesztési ciklus során Benjamin Otte úgy magyarázta, hogy az újításokra való erős nyomás, például a modern felhasználók által elvárható szolgáltatások biztosítása és az egyre befolyásosabb Wayland kijelzőszerver protokoll támogatása . A GTK 4 megjelenésével megszűnik az innováció iránti nyomás, és a stabilitás és az innováció közötti egyensúly a stabilitás felé billen. Hasonlóképpen, a tematikában a közelmúltban végrehajtott változtatások kifejezetten az API ezen részének javítását és stabilizálását szolgálják, ami azt jelenti, hogy bizonyos befektetéseket később jutalmazni kell.

  • Dirk Hohndel, codeveloper a felszín alatti és tagja az Intel „s Open-Source Technology Center, bírálta a GTK fejlesztők annyira durva és figyelmen kívül hagyja a legtöbb közösség kéri.
  • Hong Jen Yee, az LXDE fejlesztője (amelynek GTK verzióját elvetették, és minden erőfeszítést a Qt portra összpontosítottak ) megvetését fejezte ki a GTK eszköztár radikális API -változásai és a megnövekedett memóriahasználat iránt, valamint a PCMan File Manager (PCManFM) a Qt . A PCManFM -et egyidejűleg GTK -val és Qt háttérrendszerrel fejlesztik.
  • Az Audacious zenelejátszó a Qt -ra költözött a 3.6 -os verzióban. A fejlesztők által megfogalmazott okok között szerepel az ügyféloldali ablakdíszítésre való áttérés, amely szerintük az alkalmazás " GNOME -y és nem megfelelő " kinézetűvé teszi.
  • A Wireshark Qt-ra váltott, mivel nem rendelkezik jó tapasztalatokkal a GTK platformok közötti támogatásáról.

Használat

A Wayland GTK támogatása megköveteli, hogy az alkalmazásokat a Waylandhez is igazítsák
Képernyőkép a GIMP 2.8 -ról - A GTK felelős a program interfész -összetevőinek kezeléséért, beleértve a menüket, gombokat és beviteli mezőket.

Alkalmazások

Néhány figyelemre méltó alkalmazás, amely a GTK -t használja vagy egyszer használta widget eszköztárként:

Asztali környezetek

Számos asztali környezet használja a GTK -t widget eszközkészletként.

Jelenlegi

Inaktív

Vegyes

A GTK programok futtathatók asztali környezetben, X11 és Wayland alapú, vagy ablakkezelőkben, még akkor is, ha nem a GTK -val készültek, feltéve, hogy a szükséges könyvtárak telepítve vannak; ide tartozik a macOS is, ha az X11.app telepítve van. A GTK Microsoft Windows rendszeren is futtatható , ahol néhány népszerű platformközi alkalmazás, például a Pidgin és a GIMP használja. A wxWidgets , egy platformok közötti grafikus felhasználói felület, alapértelmezés szerint a GTK-t használja Linuxon. Más portok közé tartozik a DirectFB ( például a Debian telepítője ) és az ncurses .

Ablakkezelők

A következő ablakkezelők használják a GTK -t:

GtkSourceView

A szintaxis kiemeléséhez a GtkSourceView , "forráskód -szerkesztő widget" van. A GtkSourceView -t a GNOME és a GTK külön tárolja könyvtárként: gtksourceview . Tervezik a gsv -re való átnevezést.

GtkSpell

A GtkSpell a GTK -tól különálló könyvtár. A GtkSpell a GTK -tól és az Enchant -tól függ . Az Enchant az ispell, a hunspell stb. Csomagolása , a helyesírás -ellenőrző motor/szoftver. A GtkSpell a GTK GtkTextView modulját használja a hibásan írt szavak kiemeléséhez és a helyettesítéshez.

Példa

A dokumentáció itt érhető el:

A következő kód egy grafikus GTK hello-world programot mutat be C programozási nyelven . Ennek a programnak van egy ablaka "Hello, világ!" és egy címkét hasonló szöveggel.

// 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);
}

Először telepíteni kell a könyvtárakat Debian vagy származékos változataiba: $ sudo apt-get install libgtk-4-dev

Használata pkg-config egy Unix shell , ez a kód lehet összeállítani az alábbi parancsot: $ cc -Wall $(pkg-config --cflags --libs gtk4) helloworld.c -o helloworld

A program meghívása: $ ./helloworld

Történelem

Linux

A GTK -t eredetileg a GNU Image Manipulation Program (GIMP) programban tervezték és használták a Motif eszköztár helyett ; valamikor Peter Mattis elkedvetlenedett a Motif iránt, és elkezdte írni saját GUI eszköztárát GIMP toolkit néven, és sikeresen felváltotta a Motif -ot a GIMP 0.60 -as kiadásával. Végül a GTK-t objektum-orientáltra írták át, és átnevezték GTK+-ra. Ezt először a GIMP 0.99 -es kiadásában használták. A GTK -t később a GNOME Alapítvány karbantartásra elfogadta , amely a GNOME asztali környezetben használja.

A GTK 2.0.0 kiadási sorozatban bevezetett új funkciók, amelyek közé tartozik a továbbfejlesztett szöveges megjelenítését a Pango új témát motor, az elérhetőség javítása a Kisegítő Toolkit , átmenet a Unicode segítségével UTF-8 szövegek, és rugalmasabb API. A 2.8 -as verziótól kezdve a GTK 2 a vektorgrafika megjelenítéséhez a kairói grafikai könyvtáratól függ .

A GTK 3.0.0 verziója tartalmazta a módosított beviteli eszközkezelést, a CSS -szerű szintaxissal írt témák támogatását , valamint a többi megnyitott GTK -alkalmazásról szóló információk fogadásának lehetőségét.

A „+” -ot 2019 februárjában, egy hackathon során egyszerűen visszautasították a „GTK” -ra .

Mac operációs rendszer

A Quartz segítségével -A GTK elérhető a macOS rendszerben .

ablakok

  • A GTK 2.24.10 és 3.6.4 után a Gnome bezárta a Windows fejlesztését az Installerrel. Az MSYS2 Windows rendszerre történő telepítése jó módja a tényleges GTK használatának.
  • A GTK 2.24.10 és 3.6.4 elérhető az interneten, de nagyon hibás és korlátozott a tényleges verziókhoz képest.
  • A Windows 64 bites verzióját Tom Schoonjans készítette el, 2021 januárjától elérhető a 2.24.33 (tényleges, mint a Linux) és a 3.24.24 (a tényleges, mint a Linux).
  • A Windows 10 őszi alkotói frissítése tartalmazza a Windows alrendszert Linuxra (WSL). A Windows Store -ból elérhető Linux disztribúciókkal, mint például az Ubuntu vagy a Debian, és olyan X szerverrel, mint az Xming vagy a VcXsvr, több ezer olyan program futhat, mint a GTK 2 vagy 3, X vagy terminál támogatással.

OpenVMS

A HP kijelentette, hogy az volt a céljuk, hogy a szükséges OpenVMS változtatásokat egyesítsék a GTK 1.3 -as fejlesztési folyamába, de ez soha nem valósult meg. Az OpenVMS GTK legújabb verziója az 1.2.10.

GTK 4

A GTK 4 fejlesztési ciklus során megvalósított egyik legfőbb újdonság (azaz GTK 3.92, stb.) A funkcionalitás delegálása a kiegészítő objektumokra ahelyett, hogy a GTK által biztosított alaposztályokba kódolta volna.

  • a GtkWidget által leírt jelkezelőktől származó eseménykezelés az eseményvezérlőkre van delegálva
  • a renderelés GtkSnapshot objektumokra van delegálva
  • a GtkWidget elrendezési mechanizmusa a GtkLayoutManager -re van átruházva

2018-január 26-án a DevConf.cz webhelyen Matthias Clasen áttekintést adott a GTK 4 fejlesztésének jelenlegi állapotáról, beleértve a magas szintű magyarázatot arról, hogy a renderelés és az input hogyan működött a GTK 3-ban, milyen változtatások történtek a GTK 4-en, és a változások okai. Példákat adtak a GTK 4 -vel lehetővé vált dolgokra is.

Kiadások

Legenda:
Régi verzió
Régebbi verzió, még mindig karbantartva
Legújabb verzió
A legújabb előzetes verzió
Jövőbeni megjelenés
Kiadási sorozat Első kiadás Jelentős fejlesztések A legújabb kisebb változat
Régi, már nem karbantartott verzió: 1.0 1998-04-13 Első stabil verzió 1.0.6
Régi, már nem karbantartott verzió: 1.2 1999-02-25 Új kütyük :
  • GtkFontSelector
  • GtkPacker
  • GtkItemFactory
  • GtkCTree
  • GtkInvisible
  • GtkCalendar
  • GtkLayout
  • GtkPlug
  • GtkSocket
1.2.10
Régi, már nem karbantartott verzió: 2.0 2002-03-11 GObject

Az UTF-8 általános támogatása

2.0.9
Régi, már nem karbantartott verzió: 2.2 2002-12-22 Többfejű támogatás 2.2.4
Régi, már nem karbantartott verzió: 2.4 2004-03-16 Új kütyük:
  • GtkFileChooser
  • GtkComboBox
  • GtkComboBoxEntry
  • GtkExpander
  • GtkFontButton
  • GtkColorButton
2.4.14
Régi, már nem karbantartott verzió: 2.6 2004-12-16 Új kütyük:
  • GtkIconView
  • GtkAboutDialog
  • GtkCellView

Az utolsó, amely támogatja a Windows 98 / Me rendszert

2.6.10
Régi, már nem karbantartott verzió: 2.8 2005-08-13 A legtöbb kütyüt Kairó jeleníti meg 2.8.20
Régi, már nem karbantartott verzió: 2.10 2006-07-03 Új kütyük:
  • GtkStatusIcon
  • GtkAssistant
  • GtkLinkButton
  • GtkRecentChooser

Nyomtatási támogatás: GtkPrintOperation

2.10.14
Régi, már nem karbantartott verzió: 2.12 2007-09-14 GtkBuilder 2.12.12
Régi, már nem karbantartott verzió: 2.14 2008-09-04 JPEG 2000 betöltési támogatás 2.14.7
Régi, már nem karbantartott verzió: 2.16 2009-03-13 Új widget: GtkOrientable

Caps Lock figyelmeztetés a jelszó megadásakor

GtkScale, GtkStatusIcon, GtkFileChooser fejlesztések

2.16.6
Régi, már nem karbantartott verzió: 2.18 2009-09-23 Új widget: GtkInfoBar

Fejlesztés a fájlválasztóban, nyomtatásban

Az X11 alkalmazás és az X11 szerver közötti szükséges IPC nagy részének eltávolítása érdekében a GDK- t átírja (főleg Alexander Larsson), hogy "ügyféloldali ablakokat" használjon, azaz a GdkWindow, amely minden widgetnek rendelkeznie kell, most az ügyfélhez tartozik

2.18.9
Régi, már nem karbantartott verzió: 2.20 2010-03-23 Új kütyük:
  • GtkSpinner
  • GtkToolPalette
  • GtkOffscreenWindow

Fejlesztés a fájlválasztóban, a billentyűzet kezelésében, a GDK -ban

Az önvizsgálati adatok mostantól szerepelnek a GTK -ban

2.20.1
Régi, már nem karbantartott verzió: 2.22 2010-09-23 A GdkPixbuf külön modulba költözött

A legtöbb GDK rajz Kairón alapul

Sok belső adat ma már privát, és lezárható a GTK 3 előkészítése során

2.22.1
Régi, már nem karbantartott verzió: 2.24 2011-01-30 Új widget: GtkComboBoxText

A CUPS nyomtatási háttérprogram nyomtatási feladatokat küldhet PDF formátumban

A GtkBuilder támogatást kapott a szöveges címkékhez és a menü eszközgombjaihoz, és sok önvizsgálati megjegyzés -javítást is hozzáadtak

Áttérés a GTK+ 2.x -ről a GTK+ 3 -ra

2.24.32
(2018-01-08)
Régi, már nem karbantartott verzió: 3.0 2011-02-10 Az eszközkészlet GTK 3 kiadásának fejlesztése és tervezése 2009 februárjában kezdődött a dublini GTK Theming Hackfest során
  • A fejlesztési ütemterv első tervezetét 2009. április 9 -én tették közzé

Többnyire befejezte a Ridley projektet

  • több, a GTK+ -on kívüli könyvtár összevonására tett kísérlet
  • beleértve libgnome, libgnomeui, libgnomeprint22, libgnomeprintui22, libglade, libgnomecanvas, libegg, libeel, gtkglext, éslibsexy

Minden renderelés Kairó segítségével történik

A GDK inkább X11 agnosztikus lett

Az XInput2 téma API Cascading Style Sheets (CSS) alapú, ami rontja az elérhető teljesítményt a 60 Hz -es képsebességnél

3.0.12
Régi, már nem karbantartott verzió: 3.2 2011-09-25 Új kütyük:
  • GtkLockButton
  • GtkOverlay

Új betűtípusválasztó párbeszédpanel

Új kísérleti háttérprogramok:

3.2.4
Régi, már nem karbantartott verzió: 3.4 2012-03-26 Menütámogatás a GtkApplication alkalmazásban

Új színválasztó

Hozzáadott támogatás az érintőképernyős eszközökhöz

Hozzáadott támogatás a sima görgetéshez

A GtkScrolledWindow kinetikus görgetést végez érintőképernyős eszközökkel

javult a macOS támogatás

Ez az első GTK 3 verzió, amely jól működik Windows rendszeren

A Wayland háttérprogram frissítve van a Wayland aktuális verziójára

A centrifugáló gombok új megjelenést kaptak

Kisegítő lehetőségek: a fa nézetben elérhető támogatás átírásra kerül

Teljes körű CSS -tematikai támogatás

3.4.4
Régi, már nem karbantartott verzió: 3.6 2012-09-24 Új kütyük:
  • GtkSearchEntry
  • GtkMenuButton
  • GtkLevelBar

Függőleges centrifugáló gombok

CSS animációk, homályos árnyékok

Támogatja a kereszthalványulást és az átmeneteket a témákban

3.6.5
Régi, már nem karbantartott verzió: 3.8 2013-03-25 Wayland 1.0 stabil támogatás

A Broadwayd szerver támogatása

Továbbfejlesztett témák

Jobb geometriakezelés

Érintési fejlesztések

A keret szinkronizálási protokoll támogatása az ablakkezelővel

GdkFrameClock hozzáadva

3.8.9
Régi, már nem karbantartott verzió: 3.10 2013-09-23 Új kütyük:
  • GtkHeaderBar
  • GtkPlacesSidebar
  • GtkStack
  • GtkStackSwitcher
  • GtkRevealer
  • GtkSearchBar
  • GtkListBox

A Wayland támogatása 1.2

  • maximalizálás
  • animált kurzorok
  • több monitor
  • beállítások
  • egyedi felületek
  • keret szinkronizálása

Hozzáadva:

  • ügyféloldali dekorációk
  • skálázott kimeneti támogatás a nagy felbontású képernyőkön
  • finombeállítási mód a görgetéshez

Eltávolítva:

  • támogatja a Motif DND protokollt
  • kijelzőnként több képernyő támogatása
  • gdk_window_get_display
  • gtk_widget_push_composite_child

Letéphető menüpontok, valamint számos GTK beállítás

A modern GTK rajzmodell

3.10.9
Régi, már nem karbantartott verzió: 3.12 2014-03-25 Ügyféloldali dekorációk

A Wayland támogatása 1.5

Új widget: GtkPopover (a menük és párbeszédablakok alternatívája)

3.12.2
Régi, már nem karbantartott verzió: 3.14 2014-09-22 GtkInspector (a gtkparasite másolata)

A gesztusok / multi-touch egyesített továbbfejlesztett támogatása

Elavult:

  • GtkMisc
  • GtkAlignment
  • GtkArrow
  • GdkColor
  • Stílus régiók
  • .icon fájlok támogatása
  • gdk_ablak_flush
  • rajz a kezdő/befejező festéken kívül

A legtöbb kütyü belső gesztusokra vált

A Wayland támogatja a GNOME Shell klasszikus módját

3.14.15
Régi, már nem karbantartott verzió: 3.16 2015-03-22 A GDK támogatja az ablakok renderelését OpenGL használatával X11 és Wayland libepoxy használatával

Új kütyük:

  • GtkGLArea
  • GtkStackSidebar
  • GtkModelButton
  • GtkPopoverMenu

A görgetés nagyjavított (a görgetősáv alapértelmezés szerint el van rejtve)

Kísérleti Mir háttérrendszer

3.16.7
Régi, már nem karbantartott verzió: 3.18 2015-09-23 CSS csomópont infrastruktúra hozzáadása

Több fájlkezelő frissítés és jobb fájlkeresési keresés

Megszűnt a Windows XP támogatás

Modell támogatás a listához és a folyamatdobozhoz

Kinetikus érintőpad görgetés

Az érintőpad gesztusai (Wayland)

gtk-builder-tool segédprogram

Csak kimeneti ablakok

3.18.9
Régi, már nem karbantartott verzió: 3.20 2016-03-21 A CSS csomópontok további integrálása

Mozgassa a húzást lefelé a GDK -ra

Új widget: GtkShortcutsWindow (az alkalmazás billentyűkódjait és gesztusait mutatja)

3.20.10
Régi, már nem karbantartott verzió: 3.22 2016-09-21 Utolsó 3.x kiadás

A Wayland táblagépek támogatása összevonásra került, a grafikus táblagépek támogatása befejezettnek tekinthető

A GTK 3.22 ugyanolyan sziklaszilárd (és ezért "unalmas"), mint a GTK 2

3+ évre
3.22.29
Régebbi verzió, még mindig karbantartva: 3.24 2018-09-03 A 3.22 -nek a GTK 3 sorozat utolsó verziójának kellett lennie

Függőségi ütések - szükséges:

  • libepoxi 1.4
  • pangó 1.41

Új betűválasztó funkciók:

  • engedélyezze az OpenType betűtípusok beállítását
  • mutasson példákat az OpenType betűtípus -szolgáltatásokra
  • lehetővé teszi az OpenType betűtípus -változatok kiválasztását
  • támogatja a kiválasztás részleteinek szintjét

Az Emoji új funkciói:

  • támogatja az Emoji befejező előugró ablakát
  • ejtse le a Ctrl-Shift-e billentyűparancsot

További új API -k: gdk_window_move_to_rect

Wayland: használjon névtelen megosztott memóriát a FreeBSD -n

Visszaportált eseményvezérlők a GTK 4 -ből:

  • GtkEventControllerScroll
  • GtkEventControllerMotion
  • GtkEventControllerKey
  • GtkGestureStylus

Szüntessen meg néhány API -t, amelyek a GTK 4 -ben megszűntek:

  • fókuszláncok a GtkContainerben
  • léptetőérzékenység a GtkRange -ban
3.23.0
3.23.1
3.23.2
3.23.3
3.24.0
... 3.24.5
3.24.14
...

3.24.29

Régi, már nem karbantartott verzió: 3,90 2017-03-31 A GTK Scene Graph Kit (GSK) egyesült

Távolítson el minden elavultként megjelölt API -t

Súlyos fejlődés

  • megtörni az API -t és az ABI -t

Egy új Vulkan -rendelő növeli a régi Kairó -leadót

3.89.1

3,89,2
3,89,4
3,89,5
3,90

Régi, már nem karbantartott verzió: 3,92 2017-10-18 Mivel a GNOME 3.26 már 2017. szeptember 13 -án megjelent, nem a GTK 3.92 -en alapult.

A GNU automatikus eszközöket Meson váltotta fel .

3.91.0

3.91.1
3.91.2
3.92.1

Régi, már nem karbantartott verzió: 3.94 2018-06-26 3.93
  • GdkScreen, GdkVisual eltávolítva
  • A GdkDeviceManagert a GdkSeat váltotta fel
  • A vágólap kezelése átkerül a GTK -ról a GDK -ra
  • A GdkEvent átlátszatlan GObject -vé alakul
  • a GS megjelenítő a GLK -ban lényegében befejeződött, és most egy szinten van a Vulkan renderelővel
  • csökken a GdkPixbuf használata az API -kban
    • és a GskTexture objektum átkerül a GDK -ba GdkTexture néven, hogy átvegye a helyét
  • a Wayland háttérrendszer most a KDE szerveroldali dekorációs protokollt valósítja meg
  • A Broadway át van vezetve a GSK -ra.

A GdkWindow átnevezték GdkSurface -re

Új absztrakció a rajzolható tartalomhoz: GdkPaintable

Támogatott a média megjelenítése a következőkkel:

  • GtkVideo
  • GtkMediaFile
  • GtkMediaStream
  • GtkMediaControls
3,93
3,94,0
Régi, már nem karbantartott verzió: 3.96 2019-05-07 A gtk4-builder-tool simplify parancs --3to4lehetőséget kapott a GTK3 ui fájlok GTK4-re konvertálására; bár az AMTK menük, az eszköztárak vagy más objektumok, például a GtkShortcutsWindow programozottan jönnek létre (nem *.ui fájllal), hanem kényelmes API -kkal.

A GtkWidget mostantól használhatja a GtkLayoutManager programot méretkiosztáshoz

  • az elrendezéskezelők tetszés szerint használhatnak elrendezési gyermekeket, akik elrendezési tulajdonságokkal rendelkeznek
  • A GtkBinLayout, a GtkBoxLayout, a GtkGridLayout, a GtkFixedLayout és a GtkCustomLayout jelenleg elérhetők
  • több elrendezéskezelő megvalósítás jelenik meg a jövőben

A fókuszkezelést átírták, és a fókuszváltás eseménygenerálását egyesítették a keresztező eseményekkel

Az eseményeket leegyszerűsítették, és csak bemenetként használják:

  • az expose eseményeket egy GdkSurface :: render jel váltotta fel
  • a configure eseményeket egy GdkSurface :: méretváltozott jel váltotta fel
  • a térképeseményeket egy GdkSurface :: mapped tulajdonság váltotta fel
  • A gdk_event_handler_set helyére egy GdkSurface :: eseményjel került
  • a legfontosabb események már nem tartalmaznak karakterláncot
  • a feltérképezetlen widgetek eseményeit figyelmen kívül hagyja
3.96.0
Régi, már nem karbantartott verzió: 3,98 2020-02-10
  • Teljesítményjavítások
  • Fogd és vidd refactoring
  • A GDK haladása Wayland felé
  • Eltávolítások
    • A GtkMenu, GtkToolbar és hasonló osztályokat a GMenu váltotta fel.
  • Kiegészítések
    • Emoji választó
    • A szöveges kütyü mostantól visszavonási kötegekkel rendelkezik
    • Új elrendezéskezelő
3.98.5
Régi, már nem karbantartott verzió: 3.99.0 2020-07-31
  • Bemutatkozott az Accessibility Toolkit (ATK) utódja . Az új megközelítés megvalósítja a WAI-ARIA-t (World Wide Web Consortium (W3C) Accessibility Initiative-Accessible Rich Internet Applications).
  • Frissített fejlécek a standard C típusok használatára a GLib típusok helyett
  • Új widgetek
  • Javítások és fejlesztések
3.99.4
Régi, már nem karbantartott verzió: 4.0 2020-12-16 4.0.2
Régi, már nem karbantartott verzió: 4.2 2021-03-30
Jelenlegi stabil verzió: 4.4 2021-08-23

Lásd még

  • Ügyféloldali dekoráció
  • A widget eszköztárainak listája
  • GDK- a GIMP rajzkészlet az xlib és a GTK könyvtár között helyezkedik el, és kezeli az alapvető renderelést, például primitív rajzokat, raszteres grafikákat (bitképeket), kurzorokat, betűtípusokat, valamint az ablak eseményeit és a drag and drop funkciókat
  • gtkmm - C ++ kötések a GTK számára
  • Qt - platformok közötti keretrendszer és eszköztár
  • Xojo -platformok közötti fejlesztési eszköz és keretrendszer
  • Enlightenment Foundation Libraries (EFL) - widget eszközkészlet a felvilágosodás ablakkezelőjének
  • FLTK- könnyű, platformok közötti, nem natív widget eszközkészlet
  • FOX eszközkészlet- gyors, nyílt forráskódú, platformok közötti widget eszközkészlet
  • IUP -többplatformos eszközkészlet natív grafikus felhasználói felületek létrehozásához
  • Végső ++
  • Vizuális komponens könyvtár (VCL)
  • Vala- objektumorientált programozási nyelv, önálló tároló fordítóval, amely C kódot generál és a GObject rendszert használja.
  • wxWidgets - többplatformos GUI -eszközkészlet, amelynek célja az egyes platformok natív grafikus API -jának közvetlen használata, amikor csak lehetséges.

Hivatkozások

Bibliográfia

Külső linkek