EuGTK - a GTK3 Library for Euphoria 4.x

A easy-to-use and very complete 'toolkit' for creating your own GUI programs using GTK3 and the Euphoria programming language on Linux, Windows and OS X.

Euphoria is a fast interpreted language (several times faster than Python, for example), free and open source, with the option to automatically translate your Euphoria code into C, and then compile it to an executable, which runs even faster.

The latest versions of Euphoria can be downloaded from

The latest version of EuGTK will be at the DOWNLOAD link below. Tested with Gtk3.18.9, should be up to date with version 3.22.

Euphoria and the EuGTK library are free to use (GPL3) for any purpose. Extensive html docs 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 above, or designed using Glade.

Here's proof that Euphoria isn't a 'toy' programming language. The program shown in the image below downloads/edits web pages, edits program code for about 100 different programming languages and HTML/CSS, as well as downloading, editing and running Euphoria programs locally or from web links. This required less than 900 lines of code.


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.

New with version 4.9.0: I have tested EuGTK with Windows 7 and the 64-bit version of the Gtk libraries for Windows. Sorry, I do not have a 32-bit Windows installation to test. If you know enough about Windows to be writing your own programs, you can probably make this work. (Until next week, when the latest required update breaks things again.)
Instructions for downloading the necessary GTK libraries for Windows are included in the readme.

OS X is also reported to work.
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've had good results running Euphoria on the Raspberry Pi 3, a cheap ($37.00) and tiny
(about the size of a pack of cigarettes) computer which is running Linux.

EuGTK will automatically detect and use the appropriate libraries. No changes in settings are needed to move programs from one platform to another (unless you compile your program on a different platform, in which case you can "cross-compile", for example, you can save time by compiling programs for the Raspberry Pi on a Linux computer.)

All you need is a plain text editor to write Euphoria programs, but EuGTK versions 4.8 and up have support for designing your user-interface  with Glade, and then writing a bit of 'glue' code in Euphoria to handle user events. This now works extremely well, allowing you to write very complex programs with very little hand-coding. You'll need the latest version of Glade (tested with 3.18.3)

To download current version of the EuGTK wrapper and demo programs, click link below

Questions about EuGTK can be asked on the Euphoria Forum:

Download Links:

 EuGTK 4.12.2 latest Feb 1, 2017

StartingGlade.tar.gz   May 19, 2015   472k

Just a quick-start introduction to using Glade with Euphoria and GTK3, for details, read the docs that come with EuGTK!          

Pete Eberlein's cross-platform WEE editor, written in Euphoria, uses EuGTK for the Linux/OS X GUI. Download it here:

 Contents of EuGTK
  1. GtkEngine.e
  2. GtkEnums.e
  3. GtkPrinter.e
  4. GtkCairo.e
  5. GtkSourceView.plugin
  6. GtkWebKit.plugin
  7. other small support libraries

Plus more than 250 demos, including several simple games, simple web server, plus extensive html documentation. 


libgtk.3.8.0 or better.

Euphoria 4.0.5 or better. I recommend Euphoria 4.1 Beta 2:

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

On the right, EuGTK running on a Raspberry Pi: EuGTK is (IMHO), the easiest way to create modern user interfaces for this platform. Installation is easy, and the coding is simple.
© 2016 by Irv Mullins