termlib.js home | multiple terminals | parser | faq | documentation | samples

mass:werk termlib.js

The JavaScript library "termlib.js" provides a `Terminal' object, which facillitates a simple and object oriented approach to generate and control a terminal-like interface for web services.

"termlib.js" features direct keyboard input and powerful output methods for multiple and simultanious instances of the `Terminal' object.

The library was written with the aim of simple usage and a maximum of compatibility with minimal foot print in the global namespace.


A short example:
  var term = new Terminal( {handler: termHandler} );
  term.open();

  function termHandler() {
     this.newLine();
     var line = this.lineBuffer;
     if (line != "") {
        this.write("You typed: "+line);
     }
     this.prompt();
  }
Starting with version 1.1 "termlib.js" comes with a socket extension ("termlib_socket.js") for client-server remote communication (commonly known as AJAX). This extensions provides a tightly integrated API for a simple and object oriented approch to XMLHttpRequests.

Starting with version 1.2 "termlib.js" adds extended support for colors.
Also starting with version 1.2 "termlib.js" incorporates now methods for text import.
(The import methods were previously external functions of a sample page.)

Version 1.3 adds automatic text wrapping (see faq for details).

Version 1.4 adds support for custom styles and mark up.
License

This JavaScript-library is free for private and academic use. Please include a readable copyright statement and a backlink to <http://www.masswerk.at> in the web page. The library should always be accompanied by the "readme.txt" and the sample HTML-documents.

The term "private use" includes any personal or non-commercial use, which is not related to commercial activites, but excludes intranet, extranet and/or public net applications that are related to any kind of commercial or profit oriented activity.

For commercial use see <http://www.masswerk.at> for contact information.
Distribution

This JavaScript-library may be distributed freely as long it is distributed together with the "readme.txt" and the sample HTML-documents and this document.

Any changes to the library should be commented and be documented in the readme-file.
Any changes must be reflected in the `Terminal.version' string as "Version.Subversion (compatibility)".
Disclaimer

This software is distributed AS IS and in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The entire risk as to the quality and performance of the product is borne by the user. No use of the product is authorized hereunder except under this disclaimer.
History

This library evolved from the terminal script "TermApp" ((c) N. Landsteiner 2003) and is in its current form a down scaled spinn-off of the "JS/UIX" project. (JS/UIX is not a free software by now.) c.f.: <http://www.masswerk.at/jsuix>

For version history: see the readme.txt.
 
Download

Be sure to have read the license information and the disclamer and that you are willing to respect copyrights.

Download: termlib.zip (~ 109 KB, incl. docs & sample pages)

Current version is "1.43 (original)", socket extension: 1.02.
The files are now provided with line breaks in format <CRLF>.
 
Author

© Norbert Landsteiner 2003-2009
mass:werk – media environments
http://www.masswerk.at
 
Author's note:
Please do not contact me on questions of simple usage. There is an extensive documentation (readme.txt) including plenty of sample code that should provide all information you need.
 
> top of page