ideasman42/st-rs: Simple terminal, in Rust. - Codeberg.org
This website requires JavaScript.
ideasman42/st-rs
Watch
Star
Fork
You've already forked st-rs
Code
Issues
Pull requests
Activity
Simple terminal, in Rust.
1 commit
1 branch
0 tags
2.6 MiB
Rust
96.2%
Python
3.3%
Makefile
0.5%
main
Find a file
HTTPS
Download ZIP<br>Download TAR.GZ<br>Download BUNDLE
Open with VS Code
Open with VSCodium
Open with Intellij IDEA
Campbell Barton
00d8c2c683
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
_misc
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
config
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
src
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
terminfo
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
.gitignore
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
build.rs
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
Cargo.toml
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
features.rst
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
LICENSE
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
Makefile
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
readme.rst
Initial import: ST/RS minimal Wayland terminal
2026-06-16 00:11:15 +10:00
readme.rst
ST-RS
A minimal terminal (similar to ST), written in Rust, targeting<br>Wayland.
Goals
To provide a stable terminal in a safe language.
To focus on a minimal feature-set.
At the time of writing most of the terminals written in Rust have<br>many features. The aim of ST-RS is to have a minimal feature set - while<br>remaining useful. Working under the assumption additional features are<br>provided by a multiplexor such as screen/TMUX.
Scope
ST-RS deliberately keeps its feature set small.
Fully featured terminal "display" - with support for outline fonts<br>& emojis.
No configuration (command-line arguments or build-time<br>options).
No scrolling.
For a detailed feature breakdown (using FOOT as a reference), see Features.
Build
ST-RS is built with Cargo:
cargo build --release
The resulting binary is written to<br>target/release/st-rs.
Install
make install # installs the binary and the terminfo entry
ST-RS sets TERM=st-rs and ships its own terminfo<br>description (terminfo/st-rs.info). This entry must<br>be installed for terminal applications to resolve<br>TERM=st-rs. make install compiles and installs<br>it with tic; to install only the terminfo (e.g. into your<br>home directory, no privileges required):
tic -x terminfo/st-rs.info # installs to ~/.terminfo
The default system location is /usr/share/terminfo<br>(override with make install TERMINFODIR=...). If<br>tic is unavailable the terminfo step is skipped; 24-bit<br>colour still works inside tmux regardless, because ST-RS also answers<br>tmux's capability probes directly over the terminal (XTGETTCAP).
Usage
Run the terminal directly:
st-rs
Optionally pass a command to run instead of the default shell:
st-rs -- command> [args...]
Attribution
This project is based on foot, with some additional<br>fixes & improvements. Full credit goes to foot for<br>the design & implementation.
Fixes will be up streamed to FOOT on a case-by-case basis.