STFL – Structured Terminal Forms Language/Library

STFL is a library which implements a curses-based widget set for text terminals. The STFL API can be used from C, SPL, Python, Perl and Ruby. Since the API is only 14 simple function calls big and there are already generic SWIG bindings it is very easy to port STFL to additional scripting languages.

A special language (the Structured Terminal Forms Language) is used to describe STFL GUIs. The language is designed to be easy and fast to write so an application programmer does not need to spend ages fiddling around with the GUI and can concentrate on the more interesting programming tasks.

The STFL documentation can be found here.

Example Scripts STFL

SPL API:   A little database frontend for an address database (I've used the data from the linux kernel CREDITS file as example data). The source code of the script can be downloaded from here. The script is written in SPL.

STFL - Structured Terminal Forms Language/Library 1

C API:   A simple test for different STFL layout algorithms. It is written in C and using an external STFL file. The C code can be found here and the STFL code can be found here.

STFL - Structured Terminal Forms Language/Library 3

Perl API:   Another STFL example program (a little mp3/ogg jukebox application), this time written in Perl. The program code can be found here.

Ruby API:   A little vCard generator written by Andreas Krennmair.

Download current release

You can also check out the latest development sources from the Subversion Repository:

svn co http://svn.clifford.at/stfl/trunk/ stfl

Mailing List

The STFL Mailing list can be subscribed subscribed here. It is a subscribers-only list, so you need to subscribe first before you can send mails.

Implementation Status

The STFL core and the most important widgets are finished. There are still some widgets left to be implemented. The error handling isn't perfect yet (all errors are caught but all errors are fatal and result in program termination).