EuGTK - Easy-to-use cross-platform GUI Library

EuGTK is a very complete, up-to-date 'toolkit' for creating your own GUI programs using GTK3 and the Euphoria programming language on Linux, Windows and OS X. Unlike most available languages and libraries, Euphoria and EuGTK allow you to program in plain concise English words. There's no tricky syntax to get in the way. Programs can be written quickly, and tested instantaneously, without the hassles of multiple source files, makefiles, compiling, etc.

Euphoria is a fast interpreted language (several times faster than Python, for example), free and open source, with options to 'bind' your source code with the needed run-time code, which makes programs run faster, 'shrouding'  your code so it can't be modified, or automatically translating your Euphoria code into C, and then compiling it to an executable, which runs even faster.

The latest versions of Euphoria can be downloaded from Eu version 4.1 is required, 4.1 Beta 2 is recommended:  euphoria_4.1-0.deb

The latest version of EuGTK will be at the DOWNLOAD link below. This download contains no dangerous executables, everything is written in plain-text Euphoria. You can read them before running anything, if you're paranoid.

Euphoria and the EuGTK library are free to use (GPL3) for any purpose. Extensive html docs - pretty much a complete book on GTK programming with Euphoria - are included with the downloads. Please take the time to read them.

Euphoria itself runs in text mode in a terminal; EuGTK adds a GUI, which can be built manually, with simple code as shown in the screenshot here. No tricky sizing or layout code is required, and all that crazy type-casting you have to do with other programming languages doesn't exist!

If you prefer, Glade can be used to visually design your program's user interface, which EuGTK can then  load  with just one line of code!

Download Links:

  EuGTK 4.14.6    Dec 25, 2018, tested with Gtk3.18 on Linux, Gtk3.22 on Windows (64-bit platform only), reported to run on OS-X as well. 16.4 meg.
Pete Eberlein's excellent cross-platform editor, written in Euphoria, uses EuGTK for the Linux/OS X GUI.
Download it here:


Linux is the native platform for GTK. The needed GTK3 libraries are usually installed as part of the distro, or can be added with a simple apt-get command. No setup is required, just drag the demos folder from the .gz, and drop it into your home folder. I currently prefer Mint Linux.

Windows: I have tested EuGTK with Windows 7 and Windows 10 with the 64-bit version of the Gtk libraries for Windows. Instructions for downloading the necessary GTK libraries for Windows are included in the readme. The latest Gtk3.22 library for Windows works very nicely, but is only available in 64-bit versions.

OS X is also reported to work. I don't have a computer to test this with, but others have reported success.
First, install MacPorts, and then the GTK3 library with this command: sudo port install gtk3
That should eventually install the GTK3 library to /opt/local/lib/libgtk-3.dylib.

Raspberry Pi 3: I've had good results running Euphoria on the Raspberry Pi 3, a cheap ($37.00) and tiny computer running Linux (Raspbian or Ubuntu).
See the wiki at and WiringPi .  Programs to be run on the RPi should be bound or compiled for faster "start-up" speed.

Cross-platform Source Code: EuGTK will automatically detect and use the appropriate libraries. Many programs can be run on all platforms without any changes. Programs which access files will need the file paths to be specified differently for different platforms - use ifdef 's for this, e.g. ifdef WINDOWS then
filename = C:\Users\whatever.

 Contents of EuGTK
  1. GtkEngine.e
  2. GtkEnums.e -- declares the GTK3 constants.
  3. GtkPrinter.e -- generic printer routines, many reports can be produced using only one or two lines of code.
  4. GtkCairo.e -- include this when drawing graphics.
  5. GtkSourceView.plugin -- include this to add a full-featured programmer's editor  "widget" in your program, handles 200+ programming languages.
  6. GtkWebKit.plugin -- include a web-browser "widget" in your program, then add your own custom features using Euphoria, if you wish.
  7. several other small support libraries -- pre-built "About" dialogs, for example, to save the programmer time.
  8. Euphoria syntax color-coding for various popular programming editors, including the SourceView plugin.

Plus more than 250 demos, including several simple games, a simple web server, talking clock, new user-friendly multi-language options, plus extensive html documentation.


libgtk.3.8.0 or better.

Euphoria 4.1 or later. I recommend Euphoria 4.1 Beta 2 from

Text editor -  any plain text editor will do, but try this useful cross-platform WEE editor written in Euphoria:

GTK docs - almost mandatory! You won't get far unless you have access to these.

Help for EuGTK is available from the forum at


Left to right:
    1. Windows native file chooser running on Windows 7
    2. Animation using CSS in GTK (click to see animation)
    3. BEAR (web page browser, html, css, and program editor with syntax highlighting for 100+ languages, edit and test run Euphoria programs. Linux only.)
    4. Raspberry Pi (via vnc) with text editor written in Euphoria/EuGTK. Includes syntax highlighting for 100+ languages, in only 250 lines of code.

Click on the image for a larger view.

Copyright 2017 by Irv Mullins