st is a simple terminal implementation for X.

Screenshot of dwm & st

What is wrong with xterm?

xterm is bloated and unmaintainable. Here’s an excerpt from the README:

                Abandon All Hope, Ye Who Enter Here

This is undoubtedly the most ugly program in the distribution.  It was one of
the first "serious" programs ported, and still has a lot of historical baggage.
Ideally, there would be a general tty widget and then vt102 and tek4014
subwidgets so that they could be used in other programs.  We are trying to
clean things up as we go, but there is still a lot of work to do.

Needless to say things have not changed, it’s still ugly. It has over 65K lines of code and emulates obscure and obsolete terminals you will never need. The popular alternative, rxvt has only 32K lines of code. This is just too much for something as simple as a terminal emulator; it’s yet another example of code complexity.

Current state

See the TODO file for what needs to be implemented or fixed.

What has been implemented:

See the goals section for more details.


The configuration is done in config.h (like in dwm). See the comments in the generated config.h to edit it to your needs.


The FAQ is maintained in the st git repository and can be read here.




st is actively developed. You can browse its source code repository or get a copy using git with the following command:

git clone