Jexer : |
The Jexer Project strives to create an excellent cross-platform Text User Interface (TUI) appropriate for use in new projects. Jexer is intended to outwardly resemble the DOS-era Turbo Vision library from Borland, but its internal design is entirely new.
Jexer is Copyrighted (c) 2013-2022 Autumn Lamonte. Version 0.0.1 through 0.0.3 (spanning the years 2013-2016) are licensed under the Lesser GNU Public License version 3 or later. Version 0.0.4 and later are licensed under the MIT license.
Jexer is free to be used in both open-source and proprietary projects.
The Turbo Vision library was originally developed by Borland around 1990 and used in its Pascal and C++ development environments. The library was also used by a number of commercial DOS-based products in the early 1990's. Borland eventually "sort of" declared the library in the public domain. Three major derivatives were produced from Borland's code:
"Public domain" is in quotes above due to the
following email
from Richard Stallman posted to the Debian legal mailing list
in January 2000:
To: lubaldo@adinet.com.uy
Cc: debian-legal@lists.debian.org, salvador@inti.gov.ar, cbf@redlider.com.uy
Subject: Re: RHTVision and SETEdit, non-free? are they distributable at all? Anything that can be done about?
From: Richard Stallman
As far as I am aware, every library except Jexer that produces Turbo Vision-like output was in some way derived from the original Borland codebase. Hence all of the libraries above that were connected to Borland's codebase may someday be at risk of either being deemed non-free software, or even worse being considered infringing on Embarcadero's copyright on the Turbo Vision API (depending on the final outcome of the Oracle vs Google lawsuit).
Jexer, however, is a brand new open source codebase, initially written as a LGPL-licensed D language project, now a MIT-licensed 100% Java project, with an entirely free-to-use API.
On the outside Jexer looks a lot like Turbo Vision, but some behaviors are quite different. On the inside, however, Jexer has a wildly different API: rather than Views it has TWidgets; event handlers are named onKeypress(), onMouseDown(), etc. (more like MFC and Qt); it uses separate threads to handle I/O; and many more things. Jexer's API will continue to evolve to meet new use cases.
This page archives a few Turbo Vision resources for those interested. These will not provide much help writing new code for Jexer, but they might prove useful in seeing what other efforts have done.
Filename | Description |
---|---|
gvision.zip | Graphics Vision 2.01 - Turbo Vision 2.0 compatible Pascal class library for creating graphical applications with Windows look and feel. |
gvdoc-08-Feb-1999.tgz | Documentation for an early version of Free Vision. |
gvfpc-14-Feb-1999.tgz | An early version of Free Vision based on Graphics Vision ("Graphics Vision for Free Pascal"). This version shows a number of copyrights in effect on the Free Vision codebase, including some from Borland. |
Turbo_Pascal_Version_6.0_Turbo_Vision_1990.pdf | Turbo Pascal 6.0: Turbo Vision Guide. The programmer's reference for Turbo Vision, published by Borland. |
Turbo_Vision_Version_2.0_Programming_Guide_1992.pdf | Turbo Vision Programming Guide. The programmer's reference for Turbo Vision version 2.0, published by Borland. |
Turbo_Pascal_Version_7.0_Users_Guide_1992.pdf | Turbo Pascal 7.0: User's Guide. The user's guide for the Turbo Pascal IDE, published by Borland. |