Go to file
Eon S. Jeon 33ad83d492 Improved font caching
I made a patch that improves the performance of font caching mechanism.
This is based on a funny behaviour of FontConfig: it was handling
FcCharSet in a somewhat unexpected way.

So, we are currently adding "a character" to a new FcCharSet, and then
add it to a FcPattern. However, if we toss the FcPattern to FontConfig,
it loads the entire language(charset) that contains the character we
gave. That is, we don't always have to load a new font for each unknown
character. Instead, we can reused cached fonts, and this significantly
reduces the number of calls to extremely slow FontConfig matching
functions.

One more thing. I found that, in libXft, there's a function called
XftCharExists. XftCharIndex internally calls this function, and
does more stuffs if the character does exist. Since the returned index
is never used in st, we should call XftCharExists instead of
XftCharIndex. Please note that I already made this change in the patch.
2013-07-19 08:38:10 +02:00
FAQ \033 should be used in printf in the FAQ. 2013-04-13 12:26:17 +02:00
LEGACY LEGACY: typo. 2012-09-18 19:08:03 +02:00
LICENSE Changing the license to MIT/X. 2012-11-05 04:02:20 +01:00
Makefile Applying the changes to the docs; by Peter Hartman. 2013-01-05 20:30:25 +01:00
README Applying the changes to the docs; by Peter Hartman. 2013-01-05 20:30:25 +01:00
TODO Remove long text being cropped/wrapped to standard 80x24 on launch. 2013-07-04 09:36:22 +02:00
arg.h Adopting arg.h with more flexible cmd handling. 2013-04-03 21:00:38 +02:00
config.def.h fix: whitespace 2013-07-04 09:58:14 +02:00
config.mk 0.4.1 release. 2013-04-20 15:29:39 +02:00
st.1 Fix the geometry handling. 2013-04-13 15:24:26 +02:00
st.c Improved font caching 2013-07-19 08:38:10 +02:00
st.info Enable blinking in st. 2013-04-26 18:41:54 +02:00

README

st - simple terminal
--------------------
st is a simple virtual terminal emulator for X which sucks less.


Requirements
------------
In order to build st you need the Xlib header files.


Installation
------------
Edit config.mk to match your local setup (st is installed into
the /usr/local namespace by default).

Afterwards enter the following command to build and install st (if
necessary as root):

    make clean install


Running st
----------
If you did not install st with make clean install, you must compile
the st terminfo entry with the following command:

    tic -s st.info

See the man page for additional details.

Credits
-------
Based on Aurélien APTEL <aurelien dot aptel at gmail dot com> bt source code.