| 1 | # st |
| 2 | |
| 3 | Config for [st](https://st.suckless.org/), the suckless simple terminal. |
| 4 | Built from the **0.9.3** tarball; st is configured at compile time, so |
| 5 | `config.h` here is the source of truth — the build tree lives at `~/st-0.9.3` |
| 6 | and installs to `/usr/local/bin/st`. |
| 7 | |
| 8 | ## Patches applied |
| 9 | |
| 10 | Downloaded from the URLs below and applied with `git apply`, in this order: |
| 11 | |
| 12 | | Patch | Source | |
| 13 | | --- | --- | |
| 14 | | wide glyph support | https://st.suckless.org/patches/glyph_wide_support/st-glyph-wide-support-20220411-ef05519.diff | |
| 15 | | kitty graphics protocol | https://st.suckless.org/patches/kitty-graphics-protocol/st-kitty-graphics-20251230-0.9.3.diff | |
| 16 | | clipboard | https://st.suckless.org/patches/clipboard/st-clipboard-0.8.3.diff | |
| 17 | | anysize | https://st.suckless.org/patches/anysize/ | |
| 18 | |
| 19 | The colorscheme is hand-edited in `config.h` rather than patched — the |
| 20 | `st-color_schemes` / `st-colorschemes` diffs were tried and discarded. |
| 21 | |
| 22 | ## Customizations |
| 23 | |
| 24 | - Font: `BerkeleyMono Nerd Font:size=13`, `borderpx = 2` |
| 25 | - "Darkmatter" colorscheme (bg `#121113`, accents `#e78a53` / `#fbcb97`, |
| 26 | cursor `#ffffff`) — **keep in sync with `../wezterm/dot-wezterm.lua`** |
| 27 | - Beam cursor, thickness 2; bell silenced; `worddelimiters = L" "` |
| 28 | - anysize centering (`halign`/`valign` = 50) |
| 29 | - Shortcuts: `Ctrl+Shift+C`/`V` copy/paste, `Super+V` paste, |
| 30 | `Ctrl+Shift+F1/F6/F7/F8` graphics debug/dump/unload/toggle, |
| 31 | `Ctrl+Shift+Right-click` previews an image with `feh` |
| 32 | |
| 33 | ## Rebuilding |
| 34 | |
| 35 | ```sh |
| 36 | cd ~/st-0.9.3 |
| 37 | cp ~/dotfiles/st/config.h config.h # config.def.h is kept identical |
| 38 | doas make clean install |
| 39 | ``` |