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.
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).
Building of the
qtdomterm directory makes use of
Benoit Sigoure and Werner Lemberg.
Unicode Extended Grapheme breaking and determination of wide character
which are based on code by Devon Govett
and by Taisuke Fukuno
wcwidth library is no longer used.
The find-text facility uses Julian Kühnel’s mark.js.
Simulated “traffic light” window buttons for macOS are based on a CSS stylesheet by Gabi Maeztu.