links Logo
sf project


eboxy is a small Linux application for building user interfaces for set-top boxes, suitable for use on a TV. It reads an XML file describing a simple GUI consisting of pages and widgets, and displays it on the screen.


  • Fully themable / skinnable simple GUI interface system
  • Control using a mouse, keyboard, joystick, or (optional) infra-red remote via LIRC
  • JPEG, GIF, PNG (with alpha transparency) and many other image formats supported
  • TrueType font support (independent of X fonts)
  • Plugin extension system
  • Simple scripting language for events (button click, page load etc.)
  • Uses SDL for graphics (output to X11, framebuffer, GGI, etc.)
  • Full-screen or windowed display under X

eboxy is designed as an extensible and customisable core upon which many different types of systems may be built. eboxy is not just for set-top boxes - it can be used anywhere where a simple GUI or menu system is required. It has already been used in the following applications:

  • Information kiosk
  • Movie production clip previewing

Its plugin system and simple scripting language allow you to specify the behaviour of the interface, and can even be used to construct the GUI at run time. See the plugins page to get an idea of the capabilities available through plugins.

Future plans

Most of the work on eboxy has been on the core, ensuring users can customise it as much as possible. There are some lingering issues which need to be addressed, such as:

  • Module system for componentising system functions (encapsulating the GUI description and plugin(s) for a particular function together)
  • Improving ease of installation (packaging, etc.)
  • Switch to a better GUI library

In future, less time will go into working on the eboxy core and more into adding functionality through plugins. Planned plugins include:

  • TV input
  • TV scheduling and recording
  • Radio input and recording
  • Improved playlisting
  • Media library
  • Image gallery

The full todo list can be viewed here. If you would like to assist me in improving eboxy please email me.