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.
Requirements to build
You will need the Xlib header files, CMake, and a modern C++ toolchain. Using
the Ninja generator of CMake is encouraged.
TODO list
Cleanup
Use C++ to simplify any constructs from the old C code.
Identify any existing libraries that can be used effectively.
Factor code into libraries and write unittests.
Terminal emulation
Compare all terminal codes with xterm, iTerm2, and hterm; harmonize where
possible.
From the original st documentation
double-height support
Display and rendering
From the original st documentation
add diacritics support to xdraws()
make the font cache simpler
add better support for brightening of the upper colors
Application
Add configuration file reading rather than compiling all settings into the
binary.
Bugs and/or known isuses
From the original st documentation
fix shift up/down (shift selection in emacs)
remove DEC test sequence when appropriate
FAQ
How do I get scrolling functionality?
Using a terminal multiplexer like tmux or screen.
Disclaimer
This is not an official Google product.
Credits
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:
mt- Modern, minimalist, minty-fresh terminal.This is intended to be a modern, minimalist terminal emulator for X with the following design priorities:
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.
Requirements to build
You will need the Xlib header files, CMake, and a modern C++ toolchain. Using the Ninja generator of CMake is encouraged.
TODO list
Cleanup
Terminal emulation
stdocumentationDisplay and rendering
stdocumentationApplication
Bugs and/or known isuses
stdocumentationFAQ
How do I get scrolling functionality?
Using a terminal multiplexer like
tmuxorscreen.Disclaimer
This is not an official Google product.
Credits
This is based on the
stterminal, 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.