.NET wrapper for Gtk and other related libraries
Source | ||
.ci_build.sh | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
dbuild.sh | ||
Dockerfile | ||
GENERATOR.md | ||
LICENSE | ||
meson.build | ||
meson_options.txt | ||
README.md |
The Gtk# website can be found at: http://www.mono-project.com/GtkSharp
Gtk# is a .NET language binding for the GTK+ toolkit and assorted GNOME libraries. Gtk# is free software, licensed under the GNU LGPL.
Building & Installing Gtk#:
Install the gtk-3 development headers first. On Debian, this can be done using:
apt-get install libgtk-3-dev
We are using [meson](http://mesonbuild.com/) as a build system, you can build with
meson build/
ninja -C build/
The gui-thread-check profiler module.
Since version 3 of gtk# a profiler called "gui-thread-check" is included as
part of the install for debugging purposes. (It's located in the subfolder
gtk/gui-thread-check .)
This profiler module can be used to check if a GTK# application is trying to
invoke gtk or gdk methods from a thread which is not the main GUI thread.
To use it, run your application with the command:
mono --profile=gui-thread-check yourapp.exe
If the profiler is properly installed, you'll see an output like this:
*** Running with gui-thread-check ***
*** GUI THREAD INITIALIZED: 2861676352
While the application is running, if the profiler detects a non-gui thread
invoking gtk methods, it will print a warning message together with a
stack trace. For example:
*** GTK CALL NOT IN GUI THREAD: Widget.gtk_widget_get_parent
Widget.get_Parent
SourceEditorWidget.SetLastActiveEditor
SourceEditorWidget.get_TextEditor
SourceEditorWidget.get_Document
SourceEditorWidget.HandleParseInformationUpdaterWorkerThreadDoWork
BackgroundWorker.OnDoWork
BackgroundWorker.ProcessWorker
Discussion & Support:
A mailing list for Gtk# discussion is available.
You can subscribe to the mailing list by visiting:
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
And following the instructions (on that page) to subscribe.
Messages are posted on this mailing list by sending them to:
gtk-sharp-list@ximian.com
(The mailing list requires you to subscribe in order to post
messages.)
An archive of this mailing list can be found at:
http://lists.ximian.com/archives/public/gtk-sharp-list/
Also, people can get help with and discuss Gtk# on IRC via the
#gtk# or #mono channels on the irc.gnome.org IRC server.
People looking for general help with C# should visit the
#c# channel on irc.freenode.net IRC server.
Developers:
For developers wishing to "get started" with Gtk#, they are encouraged
to read the Mono Hand Book:
http://www.mono-project.com/docs/gui/gtksharp/
Hackers:
For those who wish to help with the development of Gtk#, they should
read the file named: HACKING.
Also, anyone wishing to hack Gtk# is encouraged to join the Gtk#
mailing list. And to visit the #gtk# IRC channel (on irc.gnome.org).