a fork of https://st.suckless.org with some patches and zig build
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Hiltjo Posthuma 8211e36d28 fix for incorrect (partial) written sequences when libc wcwidth() == -1
Fix an issue with incorrect (partial) written sequences when libc wcwidth() ==
-1. The sequence is updated to on wcwidth(u) == -1:

	c = "\357\277\275"

but len isn't.

A way to reproduce in practise:

* st -o dump.txt
* In the terminal: printf '\xcd\xb8'
- This is codepoint 888, on OpenBSD it reports wcwidth() == -1.
- Quit the terminal.
- Look in dump.txt (partial written sequence of "UTF_INVALID").

This was introduced in:

"	commit 11625c7166
	Author: czarkoff@gmail.com <czarkoff@gmail.com>
	Date:   Tue Oct 28 12:55:28 2014 +0100

	    Replace character with U+FFFD if wcwidth() is -1

	    Helpful when new Unicode codepoints are not recognized by libc."

Change:

Remove setting the sequence. If this happens to break something, another
solution could be setting len = 3 for the sequence.
5 years ago
FAQ Update FAQ with the last modifications 5 years ago
LEGACY LEGACY: typo. 12 years ago
LICENSE LICENSE: fix a few years 7 years ago
Makefile Makefile: fix dependencies on config.h 6 years ago
README tic -s -> tic -sx (Treat unknown capabilities as user-defined.) 8 years ago
TODO Remove old TODO entry. 10 years ago
arg.h don't modify argv, use a counter 7 years ago
config.def.h auto-sync: draw on idle to avoid flicker/tearing 5 years ago
config.mk bump version to 0.8.3 5 years ago
st.1 Add support for scroll(1) 5 years ago
st.c fix for incorrect (partial) written sequences when libc wcwidth() == -1 5 years ago
st.h Add support for scroll(1) 5 years ago
st.info Add st-mono terminfo entry 5 years ago
win.h better Input Method Editor (IME) support 6 years ago
x.c tiny code-style and typo-fix in comment 5 years ago

README

st - simple terminal
--------------------
st is a simple 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 -sx 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.