Personal build of suckless st with the Kitty graphics protocol and a stack of community patches.
See UPSTREAM.md for the original st-graphics README.
- Sergei Grechanik — author of st-graphics, the fork that adds the Kitty graphics protocol to st (Unicode placeholders, classic placement, image cache). This build is based on his
graphics-with-patchesbranch. - suckless — original st and the patch ecosystem.
- Individual patch authors credited at their respective patch pages on suckless.org.
- Base: suckless st 0.9.3 — the simple terminal.
- Graphics: sergei-grechanik/st-graphics by Sergei Grechanik. Tracked as the
upstreamremote. - Patches: community patches from suckless.org/patches on top.
- Local tweaks: see Local changes.
Patch sources kept in patches/ for provenance.
| Patch | Upstream link |
|---|---|
| anysize | https://st.suckless.org/patches/anysize/ |
| boxdraw_v2 | https://st.suckless.org/patches/boxdraw/ |
| clipboard | https://st.suckless.org/patches/clipboard/ |
| csi_22_23 | https://st.suckless.org/patches/csi_22_23/ |
| defaultfontsize | https://st.suckless.org/patches/defaultfontsize/ |
| externalpipe | https://st.suckless.org/patches/externalpipe/ |
| font2 | https://st.suckless.org/patches/font2/ |
| glyph-wide-support (boxdraw variant) | https://st.suckless.org/patches/glyph_wide_support/ |
| ligatures (boxdraw variant) | https://st.suckless.org/patches/ligatures/ |
| newterm | https://st.suckless.org/patches/newterm/ |
| scrollback | https://st.suckless.org/patches/scrollback/ |
| scrollback-mouse | https://st.suckless.org/patches/scrollback/ |
| scrollback-mouse-altscreen | https://st.suckless.org/patches/scrollback/ |
| application-sync (Synchronized-Updates) | https://st.suckless.org/patches/synchronized-updates/ |
| undercurl | https://st.suckless.org/patches/undercurl/ |
| vertcenter | https://st.suckless.org/patches/vertcenter/ |
On top of the patched tree:
- No auto-snap to bottom on output.
twriteno longer resetsTSCREEN.off = 0. Scroll up, select text, switch windows — terminal stays put when new output arrives. UseShift+PgDnor scroll wheel down to return to the bottom. - Shift+Enter sends CSI-u (
\033[13;2u). Restores extended-key reporting needed by Claude Code (and other apps using the kitty keyboard protocol) so Shift+Enter inserts a newline instead of submitting.
make
sudo make installDependencies: X11, Xft, fontconfig, freetype2, harfbuzz, imlib2, zlib.
tic -sx st.infoFor tmux passthrough of graphics: set -g allow-passthrough on in tmux.conf (tmux ≥ 3.4).
MIT/X (suckless). See LICENSE.