Programming manual (

Sample programs

The sample programs you can download on this page demonstrate various different features and functionality in ioL.


Each sample program is in a single source file. Click the link to download the source code.

After downloading each sample file, refer to the comments at the top of the file for instructions on how to run it in your ioL environment.

C programs

gameover.c: the sample 'game' from the end of the tutorial. Demonstrates visual manipulation of markup elements in various ways including color and rotation.

screenshot of
gameover.c running

image-viewer.c: [requires ioL v.0.91 or higher] A simple image preview tool, that can be used to browse forward and backward through a set of picture files (jpg, png, gif) specified at the command line. This demonstrates how to load raw data (in this case, images) from a file into the ioL console.

screenshot of

The user can zoom, scroll and rotate images as part of the preview. This program doesn't come with an image gallery, so you'll need to use your own photos.

Python programs

[requires ioL v.0.91 or higher] A game written in Python inspired by the popular Milton Bradley game Connect-4.

The user must drop pieces into slots, and takes turns with a computer player. The computer player drops pieces into random slots. When one player has 4 counters in an unbroken horizontal or vertical line, that player is the winner.

Bash scripts Traditionally, a bash script was little more than a quick-and-dirty way to automate running commands on a Linux or Unix system. However, ioL allows even a humble bash script to have a graphical user interface if you output the right markup information.

This example displays a dialog box in the middle of the screen. The user can select a 'good' option or a 'bad' option, and then the bash script can proceed appropriately. The user must select the correct option to quit the script, otherwise the script will repeatedly ask the user, and applies a rotation effect to the dialog box for comedic emphasis.

This script should be run through a terminal shell by following the instructions in the top of the file.