DomTerm is implemented by Per Bothner, but makes use of multiple libraries and tools.
The back-end uses Andy Green’s libwebsockets for its http and websockets server and event polling library.
The C back-end was based on Shuanglei Tao’s ttyd.
An older version of the back-end was Java-based.
It made use of Java WebSockets.
This is no longer supported, but a simplified Java server is still supported.
XMLHttpRequest (“ajax”) and the
bundled with JDK.
The older JWebTerminal project
was based on similar ideas as DomTerm, but was mostly written in Java using
Some optional Java code (not used by the default
including a JavaFX embedding,
was written while I worked at Oracle, and is copyright Oracle.
GoldenLayout provides tiling and tabs.
The screenfull.js library by Sindre Sorhus is provides a browser-independent wrapper for entering and exiting Full Screen.
ResizeSensor is used to watch when a DomTerm window or sub-window is re-sized. It is part of Marc J. Schmidt’s CSS Element Queries.
Marijn Haverbeke’s Browser Keymap package provides a simple key-binding manager.
Gregory Pakosz’s Where Am I? library
is used to get the absolute path for the current
Eli Gray’s FileSaver.js is for the “Save as HTML” feature.
The wcwidth library (used to determine which characers are “double-width”) has a convoluted history - see the source code. It has been re-factored somewhat for DomTerm.
Reading Sixel images uses the
written by Jörg “Jerch” Breitbart.
The Python tools were largely inspired or based on similar tools in GraphTerm, written by R. Saravanan (who also wrote the older XMLTerm, which was a big inspiration).