Luke's fork of the suckless simple terminal (st) with vim bindings and Xresource compatibility.
Go to file
Alexander Bocken b19632f496
improve magnet link regex pattern
2024-01-19 15:48:39 +01:00
.gitignore remove problematic and obsolete git lines 2022-04-18 19:59:59 -04:00
FUNDING.yml Xdefaults example restored, close #278 2021-02-19 10:50:35 -05:00
LICENSE ch 2022-08-15 08:02:37 -04:00
Makefile improve magnet link regex pattern 2024-01-19 15:48:39 +01:00
PKGBUILD fix #333 2022-06-20 10:57:55 -04:00 libxft note removed 2022-10-01 08:15:12 -04:00
Xdefaults Use the additional alpha-value as offset to support a changing alpha properly 2021-05-06 14:41:36 +02:00
arg.h Updated st 0.8.1. Used new patches, scrollblock and alpha fixed. 2018-04-25 22:15:11 +02:00
boxdraw.c boxdraw added 2020-05-05 13:55:37 -04:00
boxdraw_data.h boxdraw added 2020-05-05 13:55:37 -04:00
config.h reduce default font-size 2023-10-12 16:28:21 +02:00 Merge latest suckless build into lukesmith-0.8.5 2022-08-15 01:54:18 -03:00
hb.c Update hb.c 2021-09-07 18:08:10 +07:00
hb.h Added ligatures patch 2020-05-12 03:46:52 +07:00
st-copyout Get rid of NUL character in PS1 2020-04-10 11:59:55 -04:00
st-urlhandler improve magnet link regex pattern 2024-01-19 15:48:39 +01:00
st-weechatlinks improve magnet link regex pattern 2024-01-19 15:48:39 +01:00
st.1 remove flase upstream manual entries 2022-08-15 08:05:02 -04:00
st.c apply newterm patch 2023-03-19 12:10:05 +01:00
st.h apply newterm patch 2023-03-19 12:10:05 +01:00 0.8.4 update, scroll added as separate prog 2021-02-05 22:28:59 -05:00
win.h Merge latest suckless build into lukesmith-0.8.5 2022-08-15 01:54:18 -03:00
x.c apply newterm patch 2023-03-19 12:10:05 +01:00

Luke's build of st - the simple (suckless) terminal

The suckless terminal (st) with some additional features that make it literally the best terminal emulator ever:

Unique features (using dmenu)

  • follow urls by pressing alt-l
  • copy urls in the same way with alt-y
  • copy the output of commands with alt-o

Bindings for

  • scrollback with alt-↑/↓ or alt-pageup/down or shift while scrolling the mouse.
  • OR vim-bindings: scroll up/down in history with alt-k and alt-j. Faster with alt-u/alt-d.
  • zoom/change font size: same bindings as above, but holding down shift as well. alt-home returns to default
  • copy text with alt-c, paste is alt-v or shift-insert

Pretty stuff

  • Compatibility with Xresources and pywal for dynamic colors.
  • Default gruvbox colors otherwise.
  • Transparency/alpha, which is also adjustable from your Xresources.
  • Default font is system "mono" at 14pt, meaning the font will match your system font.

Other st patches

  • Boxdraw
  • Ligatures
  • font2
  • updated to latest version 0.8.5

Installation for newbs

You should have xlib header files and libharfbuzz build files installed.

git clone
cd st
sudo make install

Obviously, make is required to build. fontconfig is required for the default build, since it asks fontconfig for your system monospace font. It might be obvious, but libX11 and libXft are required as well. Chances are, you have all of this installed already.

On OpenBSD, be sure to edit first and remove -lrt from the $LIBS before compiling.

Be sure to have a composite manager (xcompmgr, picom, etc.) running if you want transparency.

How to configure dynamically with Xresources

For many key variables, this build of st will look for X settings set in either ~/.Xdefaults or ~/.Xresources. You must run xrdb on one of these files to load the settings.

For example, you can define your desired fonts, transparency or colors:

*.font:	Liberation Mono:pixelsize=12:antialias=true:autohint=true;
*.alpha: 0.9
*.color0: #111

The alpha value (for transparency) goes from 0 (transparent) to 1 (opaque). There is an example Xdefaults file in this respository.


To be clear about the color settings:

  • This build will use gruvbox colors by default and as a fallback.
  • If there are Xresources colors defined, those will take priority.
  • But if wal has run in your session, its colors will take priority.

Note that when you run wal, it will negate the transparency of existing windows, but new windows will continue with the previously defined transparency.