ST-RS: A suckless-like ST terminal in Rust

ideasman421 pts1 comments

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.

terminal minimal wayland initial import terminfo

Related Articles