[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ANN: libRUIN project development release 0.1.1

From: Julian Graham
Subject: ANN: libRUIN project development release 0.1.1
Date: Tue, 31 Jan 2006 16:12:17 -0500

Hi everyone,
  I am pleased to announce that the libRUIN project has made its first
formal development release, version 0.1.1.

  Our project description, from Savannah: libRUIN (Renderer for User
Interfaces in Ncurses) is a rendering library for various XML-based
user interface markup languages (such as Mozilla XUL), using the
Ncurses terminal control library as a rendering target. GNU Guile and
the SDOM Scheme module are used as the "glue" that manages user input
and event handling. An application programmer passes an XML document
(including, potentially, a set of CSS stylesheets) and an Ncurses
WINDOW structure, and libRUIN paints the WINDOW according to the
markup and CSS; the programmer may subsequently pass Ncurses-style
input strings to that WINDOW via libRUIN, and libRUIN will handle the
resulting event flows.

  What this means, in short, is that libRUIN is a little bit like a
browser in that it provides rendering for various flavors of XML+CSS,
but, more importantly, it's an embeddable native library that you can
use to quickly and easily create dynamic Ncurses user interfaces for
your application without having to write any UI code (except perhaps a
few lines of Scheme).  Of particular interest to Scheme programmers
and Guile users -- while the exposed API and core of libRUIN is C, the
XML parsing, CSS lookups, and DOM event handling (events are scripted
in Scheme) are all implemented as Guile Scheme modules (see,
respectively, the SSAX/SXML project, SCSS and SDOM).

  This release is concertedly alpha- or pre-alpha-quality, but
includes an example application called 'ruinview' that you can use to
check out libRUIN's rendering support for XHTML documents (selections
from the W3C's CSS2.1 Test Suite are included in the distribution) and
see how easy it is to integrate libRUIN with existing C code.  For
more information, swing by or check out
our project page on Savannah, at -- you can pick up the
release from the downloads section.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]