# EuGTK Platforms

EuGTK is native for Linux
Most modern Linux distros come with GTK3 already installed. If not, you can usually install the GTK3 libraries easily with your package manager (apt-get or similar). No special setup or configuration steps are involved.

EuGTK is also reported to work with OS X™. First, install MacPorts, and then the GTK3 library with this command: `sudo port install gtk3` That should eventually install the library to /opt/local/lib/libgtk-3.dylib. I cannot test this, since I have no computer running OSX, but Pete Eberlein's cross-platform Euphoria editor WEE runs on OS X using EuGTK for the user interface. That's a pretty good test.

EuGTK works with Windows™, more or less, starting with version 4.9.0! I have only tested this on Windows 7, 64-bit, as I have no other version of Windows available.

You'll need the GTK3 dll's for Windows; download them from the download page at https://github.com/tschoonj/GTK-for- Windows-Runtime-Environmane-Installer. Be sure to chose the correct set, either 32-bit or 64-bit, and make sure you are running the matching version of Euphoria (32-bit or 64-bit). I use Euphoria 4.0.1 beta 2, which seems to work fine. Mixing 32 and 64 bit software is sure to cause strange problems, such as reports that dll's can't be found, even though they are right there in plain sight.

Once you've installed the GTK3 package, you'll need to download some Windows-compatible icons. Unzip these and put them in C:/ProgramData/icons.

EuGTK programs may run on any platform.
You can even run EuGTK programs on a remote client (anything that has an HTML5 web browser, including tablets, phones, etc.), by using broadway on the server. Clients do not need EuGTK, Euphoria, or GTK to be installed.

The Broadway server can be downloaded using apt-get, or your package manager, and it also comes 'stock' with the latest Mint 18, and perhaps some other distros as well.

This is still experimental, but most of the demos in this package work ok with a web browser, and some work when browsing with a tablet. Probably the demo programs need to listen for 'motion' events (swipes, etc) to get these working fully, or perhaps the browsers on my tablet aren't up-to-date with HTML5?

If you create a 'batch' Eu program, as shown below, you can start the broadway server, and open a firefox page with your EuGTK program running in the browser:
``

    -- name this go.ex
    -- then start your program with:
    -- eui go test1 (where test1 is the program to run)
    include GtkEngine.e

    object cmd = command_line()
    system(sprintf("firefox %s:8080 & broadwayd & ",{inet_address()}),0)
    setenv("GDK_BACKEND","broadway")
    system(sprintf("%s %s",{cmd[1],cmd[3]}),0)
    system("killall broadwayd",0)

Three EuGTK demos running in a Firefox™ window