GTK (toolkit): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Gestori di finestre: Corretto wikilink
TrameOscure (discussione | contributi)
Nessun oggetto della modifica
Riga 17:
'''GTK''' (in passato '''GTK+'''<ref>{{Cita web|url=https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00000.html|titolo=Project rename to "GTK"|autore=Emmanuele Bassi|sito=mail.gnome.org|data=6 febbraio 2019|accesso=8 febbraio 2019}}</ref>, acronimo che sta per '''GIMP ToolKit''') in [[informatica]], è un [[toolkit]] (insieme di strumenti, di cui il principale è la libreria libgtk) per la creazione di [[interfaccia grafica|interfacce grafiche]]. Sviluppato in [[C (linguaggio)|C]], supporta nativamente l'ambiente grafico [[X Window System]], [[Wayland (protocollo)|Wayland]] e [[Microsoft Windows]]. È [[software libero]] (parte del progetto [[GNU]]) secondo la licenza [[GNU Lesser General Public License|LGPL]].
 
Il toolkit, progettato inizialmente come ausilio alla programmazione per il noto programma di grafica [[GIMP]], ha acquisito popolarità scavalcando le librerie [[Motif]] e divenendo parte fondamentale dell'ambiente desktop [[GNOME]] e di altri ambienti.
 
== Evoluzione storica ==
Riga 49:
=== Aspetto ===
[[File:Gedit-italiano.png|thumb|upright=1.3|L'[[editor di testo]] «''[[gedit]]''», realizzato con GTK+ 2]]
L'utente finale può configurare l'aspetto dell'interfaccia a suo piacimento grazie alla possibilità di cambiare il tema utilizzato. Si possono così emulare le sembianze di altre librerie o di altri ambienti, tra i quali [[Windows 95]], [[Motif]], [[Qt (toolkit)|Qt]] o [[NEXTSTEP|NeXTSTEP]]. I temi possono essere configurati dalla versione 3 tramite [[CSS]]<ref>{{Cita web|url=https://developer.gnome.org/gtk3/stable/chap-css-overview.html|titolo=GTK+ CSS Overview: GTK+ 3 Reference Manual|sito=developer.gnome.org|accesso=2021-04-03}}</ref> (in precedenza mediante un linguaggio specifico) e possono gestire bordi arrotondati, animazioni e trasparenze.
 
GtkBuilder è il sistema per realizzare il layout delle interfacce grafiche senza scrivere codice. L'interfaccia grafica dell'applicazione è descritta in [[XML]], il file viene caricato all'avvio dell'applicazione e crea tutti gli oggetti grafici. L'editor [[Glade]] permette di costruire l'interfaccia grafica in modo [[WYSIWYG]]. I file di interfaccia XML sono indipendenti dal linguaggio usato dall'applicazione sottostante.
 
== Codice non collegato alla grafica ==
Riga 71:
* [[GNOME]] è basato su GTK, quindi le applicazioni GNOME usano GTK
* [[Xfce]] è basato su GTK, anche se le sue applicazioni tipicamente non dipendono da molte librerie (questa è la differenza tra quello che è marcato “applicazione GNOME” e quello che è semplicemente “applicazione GTK”).
* [[Cinnamon (interfaccia grafica)|Cinnamon]] è basato su GTK
* [[LXDE]] è basato su GTK, l'acronimo significa "Lightweight X11 Desktop Environment"
* [[ROX Desktop]] è un desktop leggero, con funzioni che provengono dalla [[GUI]] del [[RISC OS]]
Riga 79 ⟶ 80:
* [[Openmoko (sistema operativo)|Openmoko]] telefono, GPS e palmare Linux, utilizza GTK per l'interfaccia fin dalla prima versione anche se nelle ultime distribuzioni supporta anche [[Qt (toolkit)|QT]] ed [[Enlightenment]].
 
Non è necessario usare questi ambienti grafici per eseguire programmi GTK. Se un programma richiede le librerie e queste sono installate, può funzionare anche su altri ambienti basati su X11, come [[KDE]]; Questo comprende [[MacOS|Mac OS X]] se X11.app è installato. GTK può funzionare anche su Microsoft Windows, ed è utilizzato da alcune popolari applicazioni cross-platform come GIMP e Pidgin. [[wxWidgets]], un cross-platform GUI toolkit, usa GTK su tutti i sistemi Unix. Alcuni port tra i più insoliti sono DirectFB e [[ncurses]].
 
=== Gestori di finestre ===
Riga 90 ⟶ 91:
* [[Ekiga]] (ex GnomeMeeting) - H.323/SIP [[Voice over IP|VoIP]] softphone
* [[Evolution (software)|Evolution]] - Client di posta elettronica
* [[GIMP]] - Editor di immagini Raster[[Grafica raster|raster]]
* g[[Mplayer]] - Riproduttore video multiformato
* [[GStreamer]] - Server per applicazioni multimediali (usa solo GLib/GObject)
* [[Inkscape]] - Editor di immagini vettoriali [[Scalable Vector Graphics|SVG]]
* [http://www.k-3d.org/ K-3D] - Modellatore 3D con animazione
* [[SeaMonkey|Mozilla Seamonkey]] - Suite Internet (browser, client di posta, editor HTML, chat)