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#: --------------------------- [![Join the chat at https://gitter.im/GLibSharp/GtkSharp](https://badges.gitter.im/GLibSharp/GtkSharp.svg)](https://gitter.im/GLibSharp/GtkSharp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 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).