libRUIN

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.

Tags Software Development User Interfaces
Licenses GPL
Operating Systems POSIX
Implementation Scheme C

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  10 Mar 2007 03:28
  • Rrelease-after

Changes: This release adds an implementation of the automatic table layout algorithm. The latest versions of SCSS and SDOM have been integrated, allowing automatic document type detection and several rendering correctness fixes. The API has changed to reflect the mitigated need for XML dialect specification. Issues related to rendering corruption and border widths have been resolved.

  • Rrelease-mid
  •  12 Nov 2006 22:20
  • Rrelease-after

Changes: This release includes significant improvements over 0.1.2, including, but not limited to improved text layout and rendering, Mac OS X support, numerous CSS inheritance fixes, support for CSS pseudo-classes, and proper handling for terminal resizing. There's also an expanded suite of examples that demonstrate libRUIN's XHTML rendering capabilities.

  • Rrelease-mid
  •  12 Nov 2006 22:19
  • Rrelease-after

Changes: This release features functionality restored to the input handling and XUL rendering subsystems, a greatly expanded Scheme API for use in custom event handlers, an automatic table layout algorithm that approaches correctness (with a tip of the hat to the KHTML project), and new documentation available in manpage and Texinfo format, including a developers guide for integrating libRUIN with C applications. Many improvements have been made to the build and install systems as well.

Changes: While most of the core API is in place, the rendering behavior is by no means stable enough for use in a production environment. Many areas of the code have been completely rewritten for standards-compliance reasons; as a result, some features that were working in earlier CVS versions have fallen by the wayside.

Ce8966dab31b507bf3f82c4e1f954ddd_thumb

Project Spotlight

IDMS Linux

A server distribution.

No-screenshot

Project Spotlight

Parrot

A virtual machine for all dynamic languages.