LGI is an open source GUI framework (on Github) for abstracting out all the operating system dependencies that you can produce portable code. It handles all the graphical interface functions, threading and semaphores, network connectivity and lots of other bits and peices to help build small, fast and reliable applications.

The strengths of LGI is that it's a small enough library that one person can understand it all. Also it's not too much of a burden on an application, both in increased download time and memory footprint. LGI at the moment compresses to about 450 KB, which while not insignificant is quite a bit smaller than the other options.

Ultimately however size is a secondary consideration to the core feature of LGI and that is portability. Currently 3 serious ports exist: Win32, Mac and Linux. There is also a legacy BeOS port which is unsupported.

I have completed some basic documentation for the library and scripting language, and there are a number of apps with source code available on github.

Latest Trunk Code:

git pull https://github.com/memecode/Lgi.git


(Use git for anything current... these are all quite old)

Version: v3.4.0 [Stable]

Version: v3.3.0 [Stable]
Ports Status
Ordered by maturity:
  • Win32/64 (XP/Vista/Win7/Win8)
    This is the most stable and featured port, as it's the plaform I use the most. Everything works in Windows, and it's the fastest due to the speed of the Win32 Graphical Subsystem. I no longer support or test on any version of windows before XP. The GTK port also works on Windows and you can compile with MingW as well.
  • Mac OS X (>=10.6.0)
    The newest port of Lgi, most things are working but there are less used areas that need implementing or fixing. The GUI code is fairly complete and solid, although some more optimization is needed. Threads, sockets etc all work too.
  • Linux/Gtk+ (Ubuntu 14.04)
    This port to Gtk2 and Posix mostly works. There are issues are with font handling and popup windows.
  • Haiku (BeOS)
    The BeOS port has been updated to run on Haiku however due to that platform being extremely slow and having issues with disk corruption I'm not persuing it anymore.

Building LGI
First check out the source:
git pull https://github.com/memecode/Lgi.git


Support Libraries

For full graphics and charset support download (or check you already have) iconv, libpng and zlib, libjpeg; then add their include paths to your compilers include paths. Or find the defineds in Lgi.h for the various libraries and set them to 0.

Visual Studio 2008 and 2010

Install a supported version of Visual Studio. Build the appropriate workspace:
  • vs2008: Lgi_vc9.sln
  • vs2010: Lgi_vc10.sln

Adding build folders to the shared library path:

Add this to your path:
  • [install_path]/Lgi/trunk/lib


Install XCode

Go to the Apple Developer site and grab XCode


Open Lgi.xcodeproj in XCode and run the build command.


Building on Ubuntu:
sudo apt-get install git libmagic-dev libgtk2.0-dev libgstreamer1.0-dev
git clone https://github.com/memecode/Lgi.git Lgi/trunk
cd Lgi/trunk
ln -s Makefile.linux makefile
make -j 4
MS VC++ Tip
Add this to your Common/MsDev98/Bin/AUTOEXP.DAT file to show various LGI types inline:
; LGI types
GDateTime=<_Year>/<_Month>/<_Day> <_Hours>:<_Minutes>:<_Seconds>
3.4.0 [Stable]
Download: Source + Docs [Common, 4730K, 11/5/2011]

Accumulation of fixes and features to date.
3.3.0 [Stable]
Download: Source + Docs [Common, 3764K, 10/6/2009]
3.2.1 [Stable]
Download: Source + Docs [Common, 3674K, 20/10/2008]
3.2.0 [Stable]
Download: Source + Docs [Common, 3636K, 12/9/2008]
3.02 [Stable]
Download: Sources + Docs [Common, 1899K, 4/10/2007]
3.01 [Stable]
Download: Source + Docs Zip [Common, 2982K, 20/6/2007]
3.00 [Stable]
Download: Source + Docs Zip [Common, 2928K, 1/5/2007]
2.30 [Stable]
2.20 [Stable]
Download: Lgi-20060502 [Common, 2827K, 2/5/2006]
Download: Lgi-20060418 [Common, 2686K, 18/4/2006]
Download: Lgi-20051026 [Common, 2730K, 26/10/2005]
2.10 [Stable]
Download: Source+Docs [Common, 2842K, 27/7/2005]
2.00 [Stable]
Download: Source+Docs [Common, 3896K, 26/10/2004]
1.99 [Stable]
Download: Source+Docs [Common, 2609K, 7/5/2004]
1.98 [Stable]
1.97 [Stable]
1.96 [Stable]
1.95 [Unstable]
1.90 [Stable]
1.85 [Stable]
1.80 [Stable]
1.70 [Stable]
1.66 [Stable]
1.65 [Stable]
1.60 [Stable]
1.51 [Stable]
1.50 [Unstable]
1.45 [Stable]
1.40 [Stable]
1.31 [Stable]
1.30 [Stable]