Suckless st

putting the suck back into suckless st

I've been working with the suckless terminal.  I have customized my st with several patches (most of which are available directly from the site).  In some cases, I've done some good.  That is, I've submitted some patches back to suckless to help make st actually suck less.  This page is me putting up my patches that put the suck back into suckless. 

NOTE I have started updating these patches for the refactoring that lead to the 0.8 release.  Only those things labeled as 0.8 or 0.8.1 have been updated.  It is very likely that the others will not run.


"XLoad Font" is a small refactor where the seeking for a fallback font happens within an already existing function called xloadfont.  I submitted this to the suckless dev list here.

"No Glyph, No Font" is an improvement for the fallback cache system, submitted and described here.  This patch is made specifically to go over the XLoad Font patch above.

Real Suck Starts Here

"Width" actively breaks things.  My first two attempts to do this were discussed on list here.  This third approach specifically forces double-width for anything that is not already known as wide (by wcwidth()).  It still suffers from all the problems described by the first approach, but I'm a little less ashamed of it. 

"FontPrint" is only useful if XLoad patch is also applied, and is specifically for debugging.  All this does is print any font that is opened (even if the "No Glyph" patch immediately closes it).  Important to note that the printing happens in the calling terminal, not within the running 'st' itself.  This is the patch that allowed me to really see what was happening as I tried several types of glyphs.


See my Fontconfig page for some tips on setting up fallback fonts that work well with st.

Valid CSS!   Valid XHTML 1.0 Strict