Make sure you have [STAThread] attribute on your Main entry point when using geckofx
Which geckofx/firefox should I use?
It is very important that the geckofx you use matches the xulrunner/firefox version
Check the Version_lists for more info
Update - For Geckofx 45 and newer; Geckofx is published via a nuget package which automatically provides all required files.
Also please check the FAQ page.
The Gtk Event loop is run by the Winforms Application.OnIdle. Running the Gtk Event loop on a second thread turned out not to work, due to the usages of native 'CurrentThread' calls in the internals of the xulrunner Gtk implementation.
On Windows Geckofx doesn't use Gtk, so doesn't use the second event loop.
Building from source
Update - These instructions are very out of date. We are now up to geckofx-60. And the project names have changed.
- Check out source code eg : hg clone https://bitbucket.org/geckofx/geckofx-9.0
- Open the Skybound.Gecko/Skybound.Gecko.csproj in Visual Studio or MonoDevelop
- Select Debug_Windows solution configuration on Windows or Debug_Linux solution configuration on Linux (from the solution configurations combo box on the standard toolbar)
- Build the Skybound.Gecko project.
If building on Linux and Monodvelop can't find Gtk/Gdk ect libs try changing project Runtime version from from 3.5 -> 4.0. If upgrading mono runtime to 4.0 isn't an option - change the gdk/Gdk/glib/atk refs to explicit dlls refs.
The following screen shot is of geckofx running on Linux, using mono, in a Winforms test application. The test application is dynamically modifying inline css to rotate the HTML Body element.
the source code for the test program is here: Simple Test Program
The following screen shot is geckofx with added xulrunner 2.0 support so the following html5 demo works at a sensible speed.
- dotgecko http://code.google.com/p/dotgecko/ (seems inactive)
- mozsharp http://code.google.com/p/mozsharp/ (inactive)
- geckofx (the original project) http://code.google.com/p/geckofx/ (inactive)
- CefGlue (C# Chromium Embedded Framework Wrapper) https://bitbucket.org/xilium/xilium.cefglue/wiki/Home
- xulfx - (geckofx inspired rewrite?) https://bitbucket.org/vmas/xulfx