st is a terminal for X by suckless which is completely barebones/almost featureless, on purpose. The entire idea/philosophy is to get away from software with features/bloat you would never use, and instead (if you need them) to implement those features yourself. This lets the focus go towards the core terminal features instead of feature developers “think” everyone wants. Suckless provides a sort of repository of diff patches to accomodate this.
The catch is that you have to (or I guess SHOULD) build/compile st yourself with your patches/modified config. Since there is no settings or anything on runtime, any config/changes have to be compiled with the rest of the binary (which is great honestly). I’ve seen it in repos for different distros, but I don’t really see the reason, since it sort of defeats the purpose/philosophy of the project/concept of customizing it yourself /shrug. At any rate, here is my build/my recommendations.
Patches I use in my st build (and therefore recommended):
- alpha: allows you have background colors with an alpha value, perfect for posting your hot dotfiles on r/unixporn
- blinking cursor: this isn’t really needed at all, but since I grew up in the DOS era I like my cursor to blink :)
- clipboard: sets clipboard on selection instead
- font2: allows you define a second font in your config, I use this to add in emoji support
- scrollback: allows you to scroll back through output (I use the patches to allow mouse support too)
Annnnnd, that’s really about it! I don’t need any other features in my terminal right now. I have a couple patches I want to look into like Xresources support so I can customize colors/fonts without the need to recompile, but I’d say unless I turn out to be a total r/unixporn Chad, that 90% of the time I wouldn’t be changing visual/themes out too often anyways.
If you’re a terminal junkie or just want to feel cool using your own builds of software, I would 1000% recommend git cloning the repo and start tinkering. For me personally once I started, it kind of became a fun weekend project of getting the settings “just right” and now I have pretty much the perfect terminal for me :D.