GTK - GTK
Orijinal yazar(lar) | Spencer Kimball , Peter Mattis |
---|---|
Geliştirici(ler) | GNOME Projesi , Deneysel Hesaplama Tesisi (XCF) |
İlk sürüm | 14 Nisan 1998 |
kararlı sürüm | 4.4.0 / 23 Ağustos 2021
|
Önizleme sürümü | 4.3.1 / 9 Haziran 2021
|
depo | |
Yazılmış | C , CSS |
İşletim sistemi | Linux , Unix benzeri , macOS , Windows |
Tip | Widget araç seti |
Lisans | LGPLv2.1+ |
İnternet sitesi | gtk |
GTK (önceki adıyla GIMP ToolKit, ardından GTK+ ), grafik kullanıcı arabirimleri (GUI'ler) oluşturmak için ücretsiz ve açık kaynaklı bir çapraz platform widget araç takımıdır . GNU Kısıtlı Genel Kamu Lisansı koşulları altında lisanslanmıştır ve hem ücretsiz hem de tescilli yazılımın onu kullanmasına izin verir . Wayland ve X11 pencereleme sistemleri için en popüler araç takımlarından biridir .
GTK ekibi düzenli olarak yeni sürümler yayınlar. GTK 4 ve GTK 3 korunur, GTK 2'nin ömrü sona erer.
Yazılım mimarisi
GTK kitaplığı bir dizi grafiksel kontrol öğesi ( widget ) içerir; 3.22.16 sürümü, 186 etkin ve 36 kullanımdan kaldırılmış pencere öğesi içerir. GTK, C programlama dilinde yazılmış nesne yönelimli bir widget araç takımıdır ; nesne yönelimi için GObject , yani GLib nesne sistemini kullanır . GTK, temel olarak X11 ve Wayland tabanlı pencereleme sistemleri için olsa da , Microsoft Windows ( Windows API ile arayüzlü ) ve macOS ( Quartz ile arayüzlü ) dahil olmak üzere diğer platformlarda çalışır . Ayrıca Broadway adında bir HTML5 arka ucu vardır .
GTK, çizilen widget'ların görünümünü değiştirmek için yapılandırılabilir; bu, farklı görüntüleme motorları kullanılarak yapılır. Kullanılan platformdaki yerel widget'ların görünümünü taklit etmeye çalışan birkaç görüntüleme motoru mevcuttur.
2005 yılında piyasaya sürümü 2.8 ile başlayarak, GTK kullanarak geçiş sürecine Kahire'yi için işlemek onun grafiksel kontrol elemanları çoğu widget . GTK sürüm 3.0'dan bu yana, tüm işleme Kahire kullanılarak yapılır.
26 Ocak 2018'de DevConf.cz'de Matthias Clasen, GTK 3'te oluşturma ve girdinin nasıl çalıştığına ve GTK 4'te (>3.90) hangi değişikliklerin yapıldığına ilişkin üst düzey bir açıklama da dahil olmak üzere GTK 4 geliştirmesinin mevcut durumu hakkında genel bir bilgi verdi. ), ve neden. 6 Şubat 2019'da GTK 4'ün projenin adından “+” ibaresini kaldıracağı açıklandı.
GTK Çizim Kiti (GDK)
GDK, altta yatan pencereleme ve grafik sistemleri tarafından sağlanan düşük seviyeli işlevler etrafında bir sarmalayıcı görevi görür.
GDK /gdk
dizinde bulunur.
GTK Sahne Grafiği Kiti (GSK)
GSK, GTK için oluşturma ve sahne grafiği API'sidir. GSK, grafiksel kontrol öğeleri (widget'lar) ile işleme arasında yer alır. GSK nihayet Mart 2017'de yayınlanan GTK sürüm 3.90 ile birleştirildi.
GSK /gsk
dizinde bulunur.
Gtk Müfettişi
GtkInspector, 3.14 sürümüyle tanıtıldı. GtkInspector yalnızca libgtk-3-dev / gtk+-devel geliştirme paketi yüklendikten sonra çağrılabilir .
GUI tasarımcıları
GTK için birkaç GUI tasarımcısı vardır . Aşağıdaki projeler Temmuz 2011 itibariyle aktiftir:
- Glade , GTK yerleşik GUI açıklama biçimi olan GtkBuilder'ı destekler .
- Gazpacho , Python ile yazılmış GTK araç takımı için GUI oluşturucu
- Crow Designer, kendi GuiXml formatına ve GuiLoader kitaplığına güvenir.
- Stetic bir bölümünü kapsayan MonoDevelop yöneldiğini, Gtk # .
- BASIC'in üzerinde sürüm 2.0'dan beri Gambas
- Xojo üzerinde Linux
- Linux'ta Lazarus , varsayılan olarak GTK 2 ile arabirime geçiyor
GtkBuilder
GtkBuilder, kullanıcı arayüzlerinin kod yazmadan tasarlanmasını sağlar. Arayüz, daha sonra çalışma zamanında yüklenen ve nesneler otomatik olarak oluşturulan bir Genişletilebilir İşaretleme Dili (XML) dosyasında tanımlanır. Glade Arayüz Tasarımcısı, gördüğünüz gibi ( WYSIWYG ) bir şekilde kullanıcı arayüzünün oluşturulmasına izin verir . Kullanıcı arabiriminin açıklaması, kullanılan programlama dilinden bağımsızdır.
Dil bağlamaları
C++ , Genie , JavaScript , Perl , Python , Vala ve diğerleri dahil olmak üzere C dışındaki dillerden GTK'yı kullanmak için dil bağlamaları mevcuttur .
GtkSharp, Gtk# ile karıştırılmaması için GTK 3'ü destekler.
Gtk#
Geliştirici(ler) | Xamarin |
---|---|
İlk sürüm | 12 Mart 2004 |
kararlı sürüm | 2.12.41 / 22 Eylül 2016
|
Önizleme sürümü | 2.99.3 (GTK3 için) / 6 Haziran 2014
|
depo | |
Yazılmış | C# , XML , Perl , C |
İşletim sistemi | Windows , macOS , Linux |
Tip | Widget araç seti |
Lisans | GNU Kısıtlı Genel Kamu Lisansı |
İnternet sitesi | mono-project |
Gtk# , GTK grafik kullanıcı arabirimi (GUI) araç takımı ve çeşitli GNOME kitaplıkları için bir dizi .NET Framework bağlamasıdır . Kitaplık, Mono veya herhangi bir uyumlu Ortak Dil Çalışma Zamanı (CLR) kullanarak grafik GNOME uygulamaları oluşturmayı kolaylaştırır . Gtk#, her parçacığın belirli olaylar meydana geldiğinde çağrılan işleyici yöntemlerini ilişkilendirmeye izin verdiği diğer modern pencereleme kitaplıkları gibi olay güdümlü bir sistemdir .
Gtk# kullanılarak oluşturulan uygulamalar Linux , Windows ve macOS dahil olmak üzere birçok platformda çalışacaktır . Windows için Mono paketleri, uygulamaların yerel Windows uygulamaları gibi görünmesini sağlamak için GTK, Gtk# ve yerel bir tema içerir. Mono 1.9'dan itibaren, Gtk# uygulamalarını macOS'te çalıştırmak artık bir X11 sunucusu çalıştırmayı gerektirmez .
Glade Interface Designer , GUI uygulamalarını kolayca tasarlamak için Glade# bağlamalarıyla birlikte kullanılabilir. Adında bir GUI tasarımcısı Stetic ile entegre MonoDevelop tümleşik geliştirme ortamı (IDE).
gtk-dotnet.dll derlemesi , standart GTK/GNOME geliştirme araçları yığınını desteklemenin yanı sıra , .NET yığınında bulunan işlevleri kullanmak için bir köprü sağlar. Bu noktada bu, bir widget üzerinde çizim yapmak için System.Drawing'i kullanma işlevselliğini içerir.
Eylül 2020 itibarıyla, Gtk3 için Gtk# desteği önizleme aşamasındadır ve C# ve diğer CLI dilleri için tam Gtk3 desteği sağlamak üzere GtkSharp gibi çatallı projeler kurulmuştur. Ubuntu 12.04'te Banshee medya oynatıcısının kaldırılmasının bir nedeni olarak Gtk#'nin Gtk3 desteğiyle yayınlanmış bir sürümünün olmaması gösterildi .
Gelişim
GTK, esas olarak GNOME Geliştirme Platformu ve GNOME Masaüstü Ortamını da geliştiren GNOME Projesi tarafından geliştirilmiştir.
GTK geliştirme gevşek bir şekilde yönetilir. Tartışma esas olarak birkaç genel posta listesinde gerçekleşir. GNOME geliştiricileri ve kullanıcıları, GNOME'un mevcut durumunu ve gelecekteki yönünü tartışmak için yıllık GNOME Kullanıcıları ve Geliştiricileri Avrupa Konferansı GUADEC toplantısında bir araya geliyor. GNOME , diğer masaüstleriyle daha iyi birlikte çalışmak için freedesktop.org'dan standartlar ve programlar içerir .
GTK esas olarak C ile yazılmıştır . Birçok dil bağlaması mevcuttur .
1 Eylül 2016'da GTK geliştirme blogunda yayınlanan bir gönderi, diğer şeylerin yanı sıra GTK'nın gelecekteki numaralandırma şemasını belirtti. 2016 sonbaharından itibaren GTK sürüm 3.22, son 3.x sürümü olacaktır. Sürüm 3.24, GTK 4'ün gecikmesiyle 2018 Sonbaharında tanıtıldı. Bundan sonra tüm kaynaklar 3.90, 3.92 vb. sürüm adlarıyla GTK 4 geliştirme serisine taşınacak. 4.x serisi geliştirme sürecine girse bile, önemli uygulamalar hala kullanmaya devam ediyor. GTK 2.x ve 3.22'ye taşınmadı. GTK kullanan eski yazılımların geleceği ile ilgili olarak, GTK 2.x yazılımını 3.22'ye taşımak için ortak bir proje yoktu. Sürüm 3.24, uzun vadeli destek ve gimp 3.0 ve Inkscape 1.0 gibi programların gerçek ve Gelecek temelidir. Bu nedenle geliştiriciler için, hata düzeltmeli kararlı GTK 3.24 veya gelecekteki geliştirmelerde değişiklikler ve yeni özellikler içeren GTK 4 seçimidir.
Yapı otomasyonu
GTK (ve GNOME, GLib, vb.) önceden tercih edilen yapı otomasyon sistemi olarak GNU Yapı Sistemini (Autotools olarak adlandırılır) kullanıyordu .
14 Ağustos 2017'den bu yana, GTK'nın ana dalı Meson ile oluşturuldu ve Autotools derleme sistemi dosyaları bırakıldı.
eleştiri
GTK'nın en yaygın eleştirisi, büyük güncellemelerde, özellikle de uygulama programlama arayüzünde (API) ve temada geriye dönük uyumluluk eksikliğidir .
GTK 3.x geliştirme döngüsü sırasında küçük sürümler arasındaki uyumluluk kesintileri, Benjamin Otte tarafından, modern kullanıcıların beklediği özellikleri sağlama ve giderek daha etkili olan Wayland görüntü sunucusu protokolünü destekleme gibi güçlü yenilik baskıları nedeniyle açıklandı . GTK 4'ün piyasaya sürülmesiyle yenilik ihtiyacının yarattığı baskı ortadan kalkacak ve istikrar ile yenilik arasındaki denge istikrara doğru eğilecek. Benzer şekilde, temada yapılan son değişiklikler, özellikle API'nin bu bölümünü iyileştirmeyi ve stabilize etmeyi amaçlamaktadır; bu, şimdi bir miktar yatırımın daha sonra ödüllendirilmesi gerektiği anlamına gelir.
- Subsurface'in kod geliştiricisi ve Intel'in Açık Kaynak Teknoloji Merkezi üyesi Dirk Hohndel, GTK geliştiricilerini aşındırıcı olmakla ve topluluk taleplerinin çoğunu görmezden gelmekle eleştirdi.
- LXDE'nin geliştiricisi (GTK sürümü düşürüldü ve tüm çabaları Qt portuna odaklandı ) Hong Jen Yee, GTK araç setinin radikal API değişikliklerinin ve artan bellek kullanımının 3. sürümü için küçümsediğini ifade etti ve PCMan Dosya Yöneticisi'ni (PCManFM) taşıdı. için Qt . PCManFM, aynı zamanda bir GTK ve bir Qt arka ucu ile geliştirilmektedir.
- Audacious'un müzik çalar sürümü 3.6'da Qt taşındı. Geliştiriciler tarafından bunun için belirtilen nedenler arasında, uygulamanın " GNOME -y ve yerinde olmayan " görünmesine neden olduğunu iddia ettikleri istemci tarafı pencere süslemelerine geçiş yer alıyor.
- Wireshark , GTK'nın platformlar arası desteği konusunda iyi bir deneyime sahip olmadığı için Qt'ye geçti.
Kullanmak
Uygulamalar
Widget araç seti olarak GTK'yı kullanan veya bir zamanlar kullanan bazı önemli uygulamalar şunları içerir:
- GNOME Çekirdek Uygulamaları – GNOME masaüstü ortamının bir parçası olarak , GTK ile uyum içinde geliştirildi.
- AbiWord – Kelime işlemci (GTK+ 3 ile 3.0+)
- Anjuta – Entegre geliştirme ortamı (IDE) (GTK+ 3)
- Ardor – Dijital ses iş istasyonu
- Chromium – Web tarayıcısı (sürüm 34'e kadar, 35+ sürümünde Aura ile değiştirilir)
- Ekiga (eski adıyla GnomeMeeting) – VoIP ve video konferans uygulaması
- GNU Emacs , X üzerinde çalışırken GTK kullanabilir. (24.2+ ile GTK+ 3)
- Evrim – Kişisel bilgi yöneticisi (3.x ile GTK+ 3, Sürüm 40.0 ile GTK 4)
- gconfig - Linux çekirdek kaynak yapılandırma yardımcı programı.
- Geany – Scintilla tabanlı hafif bir çapraz platform IDE ve GTK metin editörü . (GTK+ 3.24.23'ü temel alan 1.37.1 sürümü, sonuncusu GTK+ 2.20+ desteğiyle)
- GIMP – Raster grafik düzenleyici (GTK+ 3 ile 3.0, 3.0'ın 2.99.4 önizlemesi)
- Gnumeric – Hesap tablosu uygulaması (GTK+ 3 ile 1.12.x)
- Gramps – Şecere yazılımı (GTK+ 3 ile 4.0+)
- Inkscape – SVG için vektör grafik düzenleyici (GTK+ 3 ile 1.0.x)
- LIVES – Video düzenleyici (GTK+ 2.16+ veya 3)
- Midori – Oluşturma motoru olarak GTKWebKit ve widget araç seti olarak GTK kullanan minimalist web tarayıcısı (GTK+ 3)
- Pidgin – Anında mesajlaşma uygulaması
Masaüstü ortamları
Birkaç masaüstü ortamı , widget araç takımı olarak GTK'yı kullanır.
Akım
- GNOME , GTK'ya dayalıdır, yani GNOME'a özgü programların GTK kullandığı anlamına gelir
- SolusOS'un halefi Solus İşletim Sistemi için sıfırdan inşa edilen Budgie
- Tarçın , GTK sürüm 3'ü kullanan bir GNOME 3 çatalı
- 1.18 sürümünden bu yana GTK 3 kullanan bir GNOME 2 çatalı olan MATE
- Xfce , 4.14 sürümünden bu yana GTK 3'ü temel alır
- Pantheon , yalnızca temel işletim sistemi tarafından geliştirilen GTK 3'ü kullanır
- GTK, özellikle PyGTK kullanan gençlerin ilköğretimi için bir masaüstü ortamı olan Sugar
- KDE , Qt tabanlı olmasına rağmen , sürüm 4.2'den beri GTK yazılı programları ve temaları ile entegrasyona sahiptir.
- Phosh , PureOS için tasarlanmış bir mobil kullanıcı arayüzü
etkin değil
- Unity , Ubuntu'nun eski varsayılan masaüstü ortamı
- LXDE (Hafif X11 Masaüstü Ortamı) GTK 2'yi temel alır
- Linux Platformuna Erişim ( Palm OS PDA platformunun halefi )
- Consort, GNOME 3.4 Fallback Modu - çatal gelen SolusOS
- GPE , GPE Palmtop Ortamı
- ROX Masaüstü gelen özellikleri ile, hafif bir masaüstü, GUI ait RISC OS
Çeşitli
GTK programları, X11 ve Wayland tabanlı masaüstü ortamlarında veya gerekli kitaplıkların kurulu olması koşuluyla, GTK ile yapılmamış olanlarda bile pencere yöneticileri üzerinde çalıştırılabilir ; Bu içerir MacOS eğer X11.app yüklenir. GTK, Pidgin ve GIMP gibi bazı popüler çapraz platform uygulamaları tarafından kullanıldığı Microsoft Windows üzerinde de çalıştırılabilir . Bir platformlar arası GUI araç kiti olan wxWidgets , varsayılan olarak Linux'ta GTK kullanır. Diğer bağlantı noktaları arasında DirectFB ( örneğin Debian yükleyicisi tarafından kullanılır ) ve ncurses bulunur .
Pencere yöneticileri
Aşağıdaki pencere yöneticileri GTK'yı kullanır:
- Aewm
- Adımdan Sonra
- amatör
- konsorsiyum
- IceWM
- marco
- metasite
- Kek
- mırıldanma
- testere balığı
- wmg
- Xfwm
GtkSourceView
İçin dizim var Gtksourceview , "kaynak kod Widget düzenleme". GtkSourceView, GNOME tarafından GTK'dan ayrı olarak bir kitaplık olarak korunur: gtksourceview . gsv olarak yeniden adlandırma planları var.
GtkSpell
GtkSpell, GTK'dan ayrı bir kütüphanedir. GtkSpell, GTK ve Enchant'a bağlıdır . Enchant, gerçek yazım denetleyici motoru/yazılımı olan ispell, hunspell vb. için bir sarmalayıcıdır . GtkSpell, yanlış yazılmış kelimeleri vurgulamak ve değiştirme teklif etmek için GTK'nın GtkTextView widget'ını kullanır.
Örnek
Belgeler burada mevcuttur:
Aşağıdaki kod , C programlama dilinde grafiksel bir GTK merhaba dünya programı sunar . Bu programın "Merhaba dünya!" başlıklı bir penceresi vardır. ve benzer metin içeren bir etiket.
// 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);
}
Kitaplıkları önce Debian'da veya türevlerinde kurması gerekiyor:
$ sudo apt-get install libgtk-4-dev
Kullanılması pkg-config bir de Unix kabuk , bu kod şu komutla derlenebilir:
$ cc -Wall $(pkg-config --cflags --libs gtk4) helloworld.c -o helloworld
Programı çağırın:
$ ./helloworld
Tarih
Linux
GTK orijinal olarak Motif araç setinin yerine GNU Görüntü İşleme Programında (GIMP) tasarlanmış ve kullanılmıştır ; bir noktada Peter Mattis , Motif'in büyüsünü yitirdi ve GIMP araç seti adlı kendi GUI araç setini yazmaya başladı ve Motif'i GIMP'nin 0.60 sürümü ile başarılı bir şekilde değiştirdi. Sonunda GTK, nesne yönelimli olacak şekilde yeniden yazıldı ve GTK+ olarak yeniden adlandırıldı. Bu ilk olarak GIMP'nin 0.99 sürümünde kullanıldı. GTK daha sonra GNOME masaüstü ortamında kullanan GNOME Vakfı tarafından bakım için kabul edildi .
GTK 2.0.0 yayın serisi , Pango kullanılarak geliştirilmiş metin oluşturma , yeni bir tema motoru, Erişilebilirlik Araç Takımı kullanılarak geliştirilmiş erişilebilirlik , UTF-8 dizeleri kullanılarak Unicode'a geçiş ve daha esnek bir API içeren yeni özellikler sundu . 2.8 sürümünden itibaren GTK 2, vektör grafikleri oluşturmak için Kahire grafik kitaplığına bağlıdır .
GTK sürüm 3.0.0, gözden geçirilmiş giriş cihazı işleme, CSS benzeri sözdizimi ile yazılmış temalar için destek ve diğer açık GTK uygulamaları hakkında bilgi alma yeteneği içeriyordu .
'+', bir Hackathon sırasında Şubat 2019'da basitçe 'GTK'ya dönerek kaldırıldı .
Mac os işletim sistemi
İle Kuvars -Backend GTK mevcuttur MacOS .
pencereler
- GTK 2.24.10 ve 3.6.4'ten sonra Windows'un Installer ile Geliştirilmesi Gnome tarafından kapatıldı. MSYS2'nin Windows'a yüklenmesi, gerçek GTK'yı kullanmanın iyi bir yoludur.
- GTK 2.24.10 ve 3.6.4 İnternette mevcuttur, ancak çok hatalı ve gerçek sürümlerle sınırlıdır.
- Windows 64-bit için bir Sürüm, Ocak 2021'den itibaren 2.24.33 (Linux gibi gerçek) ve 3.24.24 (Linux gibi gerçek) ile Tom Schoonjans tarafından hazırlanmıştır.
- Windows 10'un Fall Creators Güncellemesi, Linux için Windows Alt Sistemini (WSL) içerir. Windows Store'dan edinilebilen Ubuntu veya Debian gibi Linux dağıtımları ve Xming veya VcXsvr gibi bir X sunucusuyla, GTK 2 veya 3 gibi binlerce program X veya terminal desteğiyle çalışabilir.
OpenVMS
HP , amaçlarının gerekli OpenVMS değişikliklerini GTK Sürüm 1.3 geliştirme akışında birleştirmek olduğunu belirtti , ancak bu hiçbir zaman gerçekleşmedi. OpenVMS için GTK'nın en son sürümü 1.2.10 sürümüdür.
GTK 4
GTK 4 geliştirme döngüsü (yani GTK 3.92, vb.) sırasında uygulanan en önemli yeniliklerden biri, işlevselliğin GTK tarafından sağlanan temel sınıflara kodlamak yerine yardımcı nesnelere devredilmesi olmuştur.
- GtkWidget tarafından açıklanan sinyal işleyicilerinden olay işleme, olay denetleyicilerine devredilir
- işleme, GtkSnapshot nesnelerine devredilir
- GtkWidget'tan gelen düzen mekanizması GtkLayoutManager'a devredilir
2018-Ocak-26'da DevConf.cz'de Matthias Clasen, GTK 3'te işleme ve girdinin nasıl çalıştığına, GTK 4'te hangi değişikliklerin yapıldığına ilişkin üst düzey bir açıklama da dahil olmak üzere, o zamanki GTK 4 geliştirmesinin mevcut durumuna genel bir bakış sundu. ve bu değişikliklerin nedenleri. GTK 4 ile mümkün hale gelenlerden örnekler de verildi.
Salıverme
Efsane:
Eski versiyon
Eski sürüm, hala korunuyor
En son sürüm
En son önizleme sürümü
Gelecek sürüm
|
|||||||
Yayın serisi | İlk sürüm | Önemli geliştirmeler | En son küçük sürüm | ||||
---|---|---|---|---|---|---|---|
1.0 | 1998-04-13 | İlk kararlı sürüm | 1.0.6 | ||||
1.2 | 1999-02-25 | Yeni widget'lar :
|
1.2.10 | ||||
2.0 | 2002-03-11 |
GObject
UTF-8 için genel destek |
2.0.9 | ||||
2.2 | 2002-12-22 | Çoklu kafa desteği | 2.2.4 | ||||
2.4 | 2004-03-16 | Yeni widget'lar:
|
2.4.14 | ||||
2.6 | 2004-12-16 | Yeni widget'lar:
Windows 98 / Me'yi en son destekleyen |
2.6.10 | ||||
2.8 | 2005-08-13 | Çoğu widget Kahire tarafından oluşturulur | 2.8.20 | ||||
2.10 | 2006-07-03 | Yeni widget'lar:
Yazdırma desteği: GtkPrintOperation |
2.10.14 | ||||
2.12 | 2007-09-14 | GtkBuilder | 2.12.12 | ||||
2.14 | 2008-09-04 | JPEG 2000 yük desteği | 2.14.7 | ||||
2.16 | 2009-03-13 | Yeni widget: GtkOrientable
Şifre girişinde Caps Lock uyarısı GtkScale, GtkStatusIcon, GtkFileChooser'daki İyileştirmeler |
2.16.6 | ||||
2.18 | 2009-09-23 | Yeni widget: GtkInfoBar
Dosya seçicide iyileştirme, yazdırma X11 uygulaması ve X11 sunucusu arasındaki gerekli IPC'nin çoğunu kaldırmak için, GDK "istemci tarafı pencereleri" kullanmak üzere yeniden yazılmıştır (esas olarak Alexander Larsson tarafından), yani her widget'ın sahip olması gereken GdkWindow artık istemciye aittir. |
2.18.9 | ||||
2.20 | 2010-03-23 | Yeni widget'lar:
Dosya seçici, klavye kullanımı, GDK'da iyileştirme İç gözlem verileri artık GTK'ya dahil edildi |
2.20.1 | ||||
2.22 | 2010-09-23 |
GdkPixbuf ayrı modüle taşındı
Çoğu GDK çizimi Kahire'ye dayanmaktadır Birçok dahili veri artık özeldir ve GTK 3'e hazırlık olarak mühürlenebilir |
2.22.1 | ||||
2.24 | 2011-01-30 | Yeni widget: GtkComboBoxText
CUPS yazdırma arka ucu, yazdırma işlerini PDF olarak gönderebilir GtkBuilder, metin etiketleri ve menü araç düğmeleri için destek kazandı ve birçok iç gözlem açıklama düzeltmesi eklendi |
2.24.32 (2018-01-08) |
||||
3.0 | 2011-02-10 | Araç setinin GTK 3 sürümünün geliştirilmesi ve tasarımı Şubat 2009'da Dublin'de düzenlenen GTK Theming Hackfest sırasında başladı.
Çoğunlukla Tamamlanan Proje Ridley
Tüm işleme Kahire kullanılarak yapılır GDK daha X11 agnostik oldu XInput2, tema API'si, 60 Hz kare hızları için ulaşılabilir performansı kötüleştiren Basamaklı Stil Sayfalarını (CSS) temel alır |
3.0.12 | ||||
3.2 | 2011-09-25 | Yeni widget'lar:
Yeni Yazı Tipi Seçici iletişim kutusu Yeni deneysel arka uçlar:
|
3.2.4 | ||||
3.4 | 2012-03-26 | GtkApplication'da menü desteği
Yeni bir renk seçici Dokunmatik cihazlar için destek eklendi Düzgün kaydırma için destek eklendi GtkScrolledWindow, dokunmatik cihazlarla kinetik kaydırma yapacak macOS desteği iyileştirildi Bu, Windows'ta iyi çalışan GTK 3'ün ilk sürümüdür. Wayland arka ucu, mevcut Wayland sürümüne güncellendi Döndürme düğmeleri yeni bir görünüm aldı Erişilebilirlik: ağaç görünümüyle erişilebilirlik desteği yeniden yazıldı Daha eksiksiz CSS tema desteği |
3.4.4 | ||||
3.6 | 2012-09-24 | Yeni widget'lar:
Dikey döndürme düğmeleri CSS animasyonları, bulanık gölgeler Temalarda çapraz solma ve geçişler için destek |
3.6.5 | ||||
3.8 | 2013-03-25 | Wayland 1.0 kararlı desteği
Broadwayd sunucusu için destek Geliştirilmiş tema Daha iyi geometri yönetimi Dokunma geliştirmeleri Çerçeve senkronizasyon protokolü için pencere yöneticisi desteği GdkFrameClock eklendi |
3.8.9 | ||||
3.10 | 2013-09-23 | Yeni widget'lar:
Wayland 1.2 desteği
Katma:
Kaldırıldı:
Yırtılabilir menü öğeleri ve birçok GTK ayarı |
3.10.9 | ||||
3.12 | 2014-03-25 | Müşteri tarafı süslemeleri
Wayland 1.5 desteği Yeni widget: GtkPopover (menülere ve diyaloglara bir alternatif) |
3.12.2 | ||||
3.14 | 2014-09-22 |
GtkInspector ( gtkparasite'nin bir kopyası) tanıtıldı
Hareketler / çoklu dokunma birleştirilmiş için geliştirilmiş destek Kullanımdan kaldırıldı:
Çoğu widget, dahili olarak hareketleri kullanmak için dönüştürülür Wayland, GNOME Shell klasik modunu destekler |
3.14.15 | ||||
3.16 | 2015-03-22 | GDK, libepoxy kullanarak X11 için OpenGL ve Wayland kullanılarak pencerelerin oluşturulmasını destekler
Yeni widget'lar:
Kaydırma elden geçirildi ( kaydırma çubuğu varsayılan olarak gizlendi) Deneysel Mir arka ucu |
3.16.7 | ||||
3.18 | 2015-09-23 | CSS düğüm altyapısı ekleyin
Daha fazla dosya seçici tasarım yenilemesi ve daha iyi dosya seçici araması Bırakılan Windows XP desteği Liste ve akış kutusu için model desteği Kinetik dokunmatik yüzey kaydırma Dokunmatik yüzey hareketleri (Wayland) gtk-oluşturucu aracı yardımcı programı Yalnızca çıktı pencereleri |
3.18.9 | ||||
3.20 | 2016-03-21 | CSS düğümlerinin daha fazla entegrasyonu
Sürükle ve bırak aşağıyı GDK'ya taşıyın Yeni pencere öğesi: GtkShortcutsWindow (bir uygulamanın klavye kısayollarını ve hareketlerini gösterir) |
3.20.10 | ||||
3.22 | 2016-09-21 | Son 3.x sürümü
Wayland tablet desteği birleştirildi, grafik tablet desteği özellik tamamlandı olarak kabul edildi GTK 3.22, GTK 2 kadar sağlam (ve dolayısıyla "sıkıcı") olacaktır. |
3+ yıl için 3.22.29 |
||||
3.24 | 2018-09-03 | 3.22, GTK 3 serisinin son versiyonu olacaktı.
Bağımlılık darbeleri – şunları gerektirir:
Yeni yazı tipi seçici özellikleri:
Yeni Emoji özellikleri:
Diğer yeni API'ler: gdk_window_move_to_rect Wayland: FreeBSD'de anonim paylaşılan hafızayı kullanın GTK 4'ten desteklenen olay denetleyicileri:
GTK 4'te kullanılmayan birkaç API'yi kullanımdan kaldırın:
|
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) birleştirildi
Kullanımdan kaldırıldı olarak işaretlenen tüm API'leri kaldırın Ağır gelişme
Yeni bir Vulkan oluşturucu, eski Kahire oluşturucuyu güçlendiriyor |
3.89.1 |
||||
3.92 | 2017-10-18 | GNOME 3.26, 13 Eylül 2017'de piyasaya sürüldüğü için GTK 3.92'ye dayanmıyordu.
GNU autotools , Meson ile değiştirildi . |
3.91.0 |
||||
3.94 | 2018-06-26 | 3.93
GdkWindow, GdkSurface olarak yeniden adlandırıldı Çekilebilir içerik için yeni soyutlama: GdkPaintable Aşağıdakilerle medya görüntüleme desteği vardır:
|
3.93 3.94.0 |
||||
3.96 | 2019-05-07 | Gtk4-oluşturucu-aracı simplify komut bir kazanmıştır --3to4GTK4 için GTK3 ui dosyalarını dönüştürme seçeneğine; AMTK menülerinde, araç çubukları veya GtkShortcutsWindow gibi diğer nesneler programlı olarak (bir *.ui dosyasıyla değil) ancak uygun API'lerle oluşturulur.
GtkWidget artık boyut tahsisi için bir GtkLayoutManager kullanabilir
Odak işleme yeniden yazıldı ve odak değiştirme olayı oluşturma, kesişen olaylarla birleştirildi Olaylar basitleştirildi ve sadece giriş için kullanıldı:
|
3.96.0 | ||||
3.98 | 2020-02-10 |
|
3.98.5 | ||||
3.99.0 | 2020-07-31 |
|
3,99,4 | ||||
4.0 | 2020-12-16 | 4.0.2 | |||||
4.2 | 2021-03-30 | ||||||
4.4 | 2021-08-23 |
Ayrıca bakınız
- Müşteri Tarafı Dekorasyonu
- Widget araç takımlarının listesi
- GDK – GIMP Çizim Kiti, xlib ve GTK kitaplığı arasında yer alır ve çizim ilkelleri, raster grafikler (bitmapler), imleçler, yazı tipleri ve ayrıca pencere olayları ve sürükle ve bırak işlevi gibi temel oluşturma işlemlerini gerçekleştirir.
- gtkmm – GTK için C++ bağlamaları
- Qt – platformlar arası çerçeve ve araç takımı
- Xojo – platformlar arası geliştirme aracı ve çerçevesi
- Enlightenment Foundation Libraries (EFL) – Enlightenment pencere yöneticisi için yazılmış widget araç seti
- FLTK – hafif, platformlar arası, yerel olmayan bir widget araç seti
- FOX araç seti – hızlı, açık kaynaklı, platformlar arası bir widget araç seti
- IUP – yerel grafiksel kullanıcı arayüzleri oluşturmak için çok platformlu bir araç takımı
- nihai++
- Görsel Bileşen Kitaplığı (VCL)
- Vala – C kodu üreten ve GObject sistemini kullanan kendi kendini barındıran bir derleyiciye sahip nesne yönelimli bir programlama dili.
- wxWidgets - amacı mümkün olduğunda her platformun yerel grafik API'sini doğrudan kullanmak olan bir çapraz platform GUI araç takımı.
Referanslar
bibliyografya
- Krause, Andrew (23 Nisan 2007), Foundations of GTK+ Development (1. baskı), Apress , ISBN 978-1-59059-793-4
- Wright, Peter (15 Mayıs 2000), Başlangıç GTK+ ve GNOME (1. baskı), Peer Information , ISBN 978-1-86100-381-2
- Logan, Syd (6 Eylül 2001), C'de Gtk+ Programlama (1. baskı), Prentice Hall , ISBN 978-0-13-014264-1
Dış bağlantılar