The suckless terminal (st) with some additional, very opinionated and personal features (mostly cosmetics):
This build is pretty much based on Luke's st build, but customized from original st git sources, rather then being a Luke's fork (I just happened to use his source as reference for applying patches).
- scrollback with
alt-↑/↓
oralt-pageup/down
or just mousewheel (without holding shift or any other modifier) - 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 ctrl+shift or alt+mouse wheel.
alt-home
returns to default - copy/paste text is changed to Emacs-ish bindings. Copy with
ctrl-w
oralt-w
, paste isctrl-y
orshift-insert
- delete key will delete one character to the right. You can hold down alt/ctrl to delete form cursor to the end/beginning of the word.
- backspace key will delete one character to the left. Holding down alt/ctrl will delete form cursor to the beginning/end of the word (yes it's delete reversed).
- Quit st with
ctrl-q
.
- No resource files parsing at startup.
- Default (and only) theme is Solarized dark.
- Transparency/alpha, which is also adjustable as startup flag.
- Default font is Mark Simonsons Anonymous Pro I use same font in Emacs, so it matches my setup that way. Size is 18pt, because I am getting old. Yeah! Small terminal fonts are kind-a not my thingy any more.
- Default cursor is set to bar (from box), again because I use same in Emacs, so it matches my setup.
- Scrollback
- Scrollback with mouse
- font2
- updated to latest version 0.8.2
- st-no-bold-colors (to get correct Solarized colors)
- quitst - just some trivia I added for the sake of consistency with other applications.
- compiled with speed opt flags
- changed borderpx to 0
- cursor shaped changed to bar
- histsize set to 20 000
- fps is changed to 60, bc my monitor does not support more anyway (59 to be exact).
git clone https://github.com/amno1/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 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
, compton
, etc.) running if you
want transparency.
You can't! :-) Xresource patch is removed in this build. I don't switch themes or care much about terminal colours honestly, so I don't find this very usefull. I would rather spare my cpu of parsing xrdb settings.
Alpha is set to be completely opaque, but you can easily change this by passing
command line argument, for example: st -A 0.8, or just recompile with desired alpha.
The alpha
value (for transparency) goes from 0
(transparent) to 1
(opaque). By default it is 1 (completely opaque). Honestly I don't use alpha,
but I left the path sit there.
Custom changes are done in config.h rather than config.def.h.
It is quite easy to add back Luke's features I don't use. If you wish to use those, I have just commented out his coe (I tested it, but it wasn't for me), so you can uncomment and recompile.
If you prefer to compile st for small size (-Os), change flags in config.mk. It can shave off about 10k ~ 20k from the binary. Current flags are -Ofast -march=native -mtune=native. I am not sure it really matters, anyway, cool to test.
To be clear about the color settings:
- This build uses Solarized dark colors only by default and by any other means :-). I use same colour scheme for ls-colors, Emacs and Rofi and never switch themes either so I prefer to hardcode my theme. For that reason Xresources patch is removed.
- Arthur Miller arthur.miller@live.com
- https://nextpoint.se