EiffelVision within a browser
With the release of Gtk+ 3.4 comes the availability of a usable html5 backend, this gives the possibility for EiffelVision applications to be displayed remotely in a html5 capable browser such as Firefox.
To make use of this the easiest way currently is to use Ubuntu 12.04 and then follow the instructions given here to update the system with the broadway html5 backend.
There is also the option of compiling Gtk+ 3.4 manually with the --enable-broadway-backend option but it is usually best to find preconfigured packages for your system.
Enabling 'broadway' html5 gtk+ backend
To enable the broadway html5 backend, a GDK_BACKEND environment variable needs to be set to 'broadway', you also need to turn off overlay scrollbars by setting another environment variable LIBOVERLAY_SCROLLBARS to '0' otherwise the implementation will crash if scrollbars are created.
When gtk+ 3.4 is installed correctly with the broadway backend compiled in, you have the following options to control the port
Enabling EiffelVision to use Gtk+3.4
Currently the default gtk version that EiffelVision employs is 2.4 and above. To set EiffelVision to use version 3.4 a 'vision_implementation' variable needs to be set to 'gtk34' in your projects ecf. This can be added via EiffelStudio's Project Settings under Target / Advanced / Variables. This needs to be done before the project is compiled to avoid using the default gtk 2 implementation.
You will also need to use the repository version of EiffelVision/Base/WEL inorder to get the latest version. This is available at https://svn.eiffel.com/eiffelstudio/trunk/Src/library/ via svn checkout. Your ISE_LIBRARY environment variable needs to be updated to reflect the new location of the library directory.
Currently the EiffelVision gtk 3.4 backend is experimental but a lot of things are now working. There are certain issues with showing standard dialogs causing infinite looping and certain EV_DRAWABLE routines may cause segmentation violations but these are currently being fixed. You are currently limited to one launchable instance but this is something we hope to improve upon in the future.