Make bold font weight configurable

If a font is selected that does not provide the default font weight of 200,
st logs an error and renders bold text in yellow instead. This setting
allows the bold font weight to be changed.
Remove cursor color setting
Seperate bg and fg colors, change cursor
Enable boxdraw
Add shortcuts from scrollback patch
Use scrollback patch after all, scroll seems buggy
Undo from the scrollback patch, func doesn't exist anymore
07eaf970 — Jacob Prosser 5 years ago
Scrollback w/ mouse
Use generic monospace font family, enable scroll
fix: replace xfps and actionfps variables
2606c5ef — Matias Lang 4 years ago
Add shortcut to spawn new terminal in the current dir

Ctrl-Shift-Return now creates a new ST terminal, whose CWD is the same
as the parent st's CWD
c75ce4e4 — Avi Halachmi (:avih) 5 years ago
boxdraw_v2: custom render lines/blocks/braille for perfect alignment

It seems impossible to ensure that blocks and line drawing glyphs
align without visible gaps for all combinations of arbitrary font,
size and width/height scale factor.

This commit adds options to render most of the lines/blocks and
braille codepoints without using the font such that they align
perfectly regardless of font, size or other configuration values.

Supported codepoints are U+2500 - U+259F except dashes/diagonals,
and U28XX.

The lines/blocks data is stored as 16-bit values at boxdraw_data.h

boxdraw/braille are independent, disabled by default at config[.def].h
4ef0cbd8 — Hiltjo Posthuma 3 years ago
remove unused variable from previous patch
28b4c822 — John Collis 3 years ago
ST: Add WM_ICON_NAME property support

Also added _NET_WM_ICON_NAME.
fa253f07 — Hiltjo Posthuma 4 years ago
bump version to 0.8.4
b27a383a — Hiltjo Posthuma 4 years ago
config.mk: use PKG_CONFIG in commented OpenBSD section
81067c65 — Hiltjo Posthuma 4 years ago
LICENSE: bump years
f74a9df6 — Hiltjo Posthuma 4 years ago
remove sixel stub code

Remove stub code that was used for an experiment of adding sixel code to st
from the commit f7398434.
818ec746 — Hiltjo Posthuma 4 years ago
fix unicode glitch in DCS strings, patch by Tim Allen

Reported on the mailinglist:

I discovered recently that if an application running inside st tries to
send a DCS string, subsequent Unicode characters get messed up. For
example, consider the following test-case:

    printf '\303\277\033P\033\\\303\277'


  - \303\277 is the UTF-8 encoding of U+00FF LATIN SMALL LETTER Y WITH
    DIAERESIS (ÿ).
  - \033P is ESC P, the token that begins a DCS string.
  - \033\\ is ESC \, a token that ends a DCS string.
  - \303\277 is the same ÿ character again.

If I run the above command in a VTE-based terminal, or xterm, or
QTerminal, or pterm (PuTTY), I get the output:


...which is to say, the empty DCS string is ignored. However, if I run
that command inside st (as of commit 9ba7ecf), I get:


...where those last two characters are \303\277 interpreted as ISO8859-1
characters, instead of UTF-8.

I spent some time tracing through the state machines in st.c, and so far
as I can tell, this is how it works currently:

  - ESC P sets the "ESC_DCS" and "ESC_STR" flags, indicating that
    incoming bytes should be collected into the strescseq buffer, rather
    than being interpreted.
  - ESC \ sets the "ESC_STR_END" flag (when ESC is received), and then
    calls strhandle() (when \ is received) to interpret the collected
  - If the collected bytes begin with 'P' (i.e. if this was a DCS
    string) strhandle() sets the "ESC_DCS" flag again, confusing the
    state machine.

If my understanding is correct, fixing the problem should be as easy as
removing the line that sets ESC_DCS from strhandle():

diff --git a/st.c b/st.c
index ef8abd5..b5b805a 100644
--- a/st.c
+++ b/st.c
@@ -1897,7 +1897,6 @@ strhandle(void)
	case 'P': /* DCS -- Device Control String */
-		term.mode |= ESC_DCS;
	case '_': /* APC -- Application Program Command */
	case '^': /* PM -- Privacy Message */

I've tried the above patch and it fixes my problem, but I don't know if
it introduces any others.