The suckless terminal (st) with some additional features that make it literally the best terminal emulator ever:
- follow urls by pressing
alt-l
- copy urls in the same way with
alt-y
- copy the output of commands with
alt-o
- scrollback with
alt-↑/↓
oralt-pageup/down
orshift
while scrolling the mouse - OR vim-bindings: scroll up/down in history with
alt-k
andalt-j
. Faster withalt-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 isalt-v
orshift-insert
- Compatibility with
Xresources
andpywal
for dynamic colors. - Transparency/alpha, which is also adjustable from your
Xresources
.
- Vertcenter
- Scrollback
- font2
git clone https://github.com/noah-vogt/st
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 config.mk
first and remove -lrt
from the $LIBS
before compiling.
Be sure to have a composite manager (xcompmgr
, picom
, etc.) running if you want transparency.
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).
To be clear about the color settings:
- If there are Xresources colors defined, those will take priority.
If st crashes when viewing emojis, install libxft-bgra from the AUR.
Note that some special characters may appear truncated if too wide. You might want to manually set your prefered emoji/special character font to a lower size in the config.h
file to avoid this. By default, JoyPixels is used at a smaller size than the usual text.