Ryujinx-GtkSharp/README.md

98 lines
3.2 KiB
Markdown
Raw Normal View History

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#:
---------------------------
2017-09-26 03:49:24 +02:00
[![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
2017-09-06 03:30:14 +02:00
We are using [meson](http://mesonbuild.com/) as a build system, you can build with
2017-09-06 03:30:14 +02:00
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).