DomTerm favicon

DomTerm

Why another terminal emulator The goal of this project is to combine two related but separate tools: a terminal emulator, and a rich-text console, and do it properly. There are many terminal emulators, including quite a few written in JavaScript. However, they generally work with a rectangular grid of characters, and don’t integrate rich text (images, math, variable-width text, variable-length lines, interaction) well. There are also various tools designed for REPL-style interaction, chat clients, etc. Examples include IPython or the the JavaScript console of a web browser. However, they don’t work as terminal emulators, or at best have limited functonality or require switching modes. For rich text applications it seems obvious to use web technologies: DOM and JavaScript. One goal of this project is a stand-alone terminal emulator application that techies can use as a day-to-day terminal emulator, and that also seamlessly provides support for rich text and interaction. That means an embedded web engine. The core of the project is a JavaScript package that can be used and embedded in different modes and applications.