This is intended to be a modern, minimalist terminal emulator for X with the following design priorities:
- Work well with other platform's modern terminal emulators (iTerm2, hterm). This means largely being xterm-compatible rather than using a custom terminfo database entry.
- Zero non-terminal UI components (no menus, no scroll bars, etc.) and leverage in-terminal tools like tmux for these kinds of features.
- High quality font rendering and color support. The terminal itself should look as good as it is possible to look in X.
While satisfying these criteria, the terminal should be as small and low-overhead as possible. Also, it should use any modern software development tools that make it easier to work with.
You will need the Xlib header files, CMake, and a modern C++ toolchain. Using the Ninja generator of CMake is encouraged.
- Switch to C++
- Use C++ to simplify any constructs.
- Identify any existing libraries that can be used effectively.
- Factor code into libraries and write unittests.
- Compare all terminal codes with xterm, iTerm2, and hterm; harmonize where possible.
- From the original
st
documentation- double-height support
- From the original
st
documentation- add diacritics support to xdraws()
- make the font cache simpler
- add better support for brightening of the upper colors
- Add configuration file reading rather than compiling all settings into the binary.
- From the original
st
documentation- fix shift up/down (shift selection in emacs)
- remove DEC test sequence when appropriate
Using a terminal multiplexer like tmux
or screen
.
This is not an official Google product.
This is based on the st
terminal, but doesn't share the same goals or
development philosophy and so is very likely to diverge. From that project's
documentation:
Based on Aurélien APTEL bt source code.