<feed xmlns='http://www.w3.org/2005/Atom'>
<title>st, branch master</title>
<subtitle>a modified version of st (simple terminal)</subtitle>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/'/>
<entry>
<title>Update README with explanation about this fork</title>
<updated>2025-11-05T10:51:15+00:00</updated>
<author>
<name>yctct</name>
<email>yctct@yctct.com</email>
</author>
<published>2025-11-05T10:51:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=09ad9718edc84d85d9c387fe679a10f34fa2d1ed'/>
<id>09ad9718edc84d85d9c387fe679a10f34fa2d1ed</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mask color font so emojis don't make st crash</title>
<updated>2025-11-05T10:19:23+00:00</updated>
<author>
<name>yctct</name>
<email>yctct@yctct.com</email>
</author>
<published>2025-11-05T10:16:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=fd65f59dbf14b00b4f6e2b9b5b26fa39f89256e1'/>
<id>fd65f59dbf14b00b4f6e2b9b5b26fa39f89256e1</id>
<content type='text'>
From st's README:

&gt; Xft makes st crash when rendering color emojis

I documented the modification to x.c there:

https://yctct.com/st-emoji-crash
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From st's README:

&gt; Xft makes st crash when rendering color emojis

I documented the modification to x.c there:

https://yctct.com/st-emoji-crash
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not interpret CSI ? u as DECRC</title>
<updated>2025-01-30T16:50:37+00:00</updated>
<author>
<name>Johannes Altmanninger</name>
<email>aclopte@gmail.com</email>
</author>
<published>2025-01-26T12:40:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=98610fcd37f655d44586323dc86c1d013c2798ce'/>
<id>98610fcd37f655d44586323dc86c1d013c2798ce</id>
<content type='text'>
The kitty keyboard protocol docs recommend CSI ? u to query support for
that protocol, see https://sw.kovidgoyal.net/kitty/keyboard-protocol/

For better or worse, fish shell uses this query to work around bugs
in other terminals triggered by requesting that protocol via CSI = 5 u.

Unfortunately, st interprets CSI ? u as DECRC (restore cursor
position). reproduce with 'printf "\x1b[?u"; cat'.

fish could work around this by switching to the alternate screen
before running this query; but that might cause tearing on terminals
that don't support Synchronized Output. I'm not sure.

In the meantime, let's correct our parser.

This adds a redundant else-after-return, for consistency with the
surrounding code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The kitty keyboard protocol docs recommend CSI ? u to query support for
that protocol, see https://sw.kovidgoyal.net/kitty/keyboard-protocol/

For better or worse, fish shell uses this query to work around bugs
in other terminals triggered by requesting that protocol via CSI = 5 u.

Unfortunately, st interprets CSI ? u as DECRC (restore cursor
position). reproduce with 'printf "\x1b[?u"; cat'.

fish could work around this by switching to the alternate screen
before running this query; but that might cause tearing on terminals
that don't support Synchronized Output. I'm not sure.

In the meantime, let's correct our parser.

This adds a redundant else-after-return, for consistency with the
surrounding code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Clear screen: Fix edge case</title>
<updated>2024-12-06T12:42:50+00:00</updated>
<author>
<name>Markus Rinne</name>
<email>markus.ka.rinne@gmail.com</email>
</author>
<published>2024-11-25T11:31:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=6009e6e25bdff9548f085e9ae562b1ca305d3a0b'/>
<id>6009e6e25bdff9548f085e9ae562b1ca305d3a0b</id>
<content type='text'>
With sequence \e[1J, if cursor is on second line, clear the first line.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With sequence \e[1J, if cursor is on second line, clear the first line.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix BadMatch error when embedding on some windows</title>
<updated>2024-08-09T11:34:56+00:00</updated>
<author>
<name>Lucas de Sena</name>
<email>lucas@seninha.org</email>
</author>
<published>2024-08-09T11:33:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=a0274bc20e11d8672bb2953fdd1d3010c0e708c5'/>
<id>a0274bc20e11d8672bb2953fdd1d3010c0e708c5</id>
<content type='text'>
When embedded, st fails with BadMatch error if the embedder's window has
non-default colormap/depth/visual.  This commit fixes that by creating
st's window inside root and then reparent it into embedder.

The reference window for dc.gc is also changed to match root's visuals.

A similar commit had been made for dmenu[1].
See this issue[2] on github for context.

[1]: https://git.suckless.org/dmenu/commit/0fe460dbd469a1d5b6a7140d0e1801935e4a923b.html
[2]: https://github.com/phillbush/xfiles/issues/47
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When embedded, st fails with BadMatch error if the embedder's window has
non-default colormap/depth/visual.  This commit fixes that by creating
st's window inside root and then reparent it into embedder.

The reference window for dc.gc is also changed to match root's visuals.

A similar commit had been made for dmenu[1].
See this issue[2] on github for context.

[1]: https://git.suckless.org/dmenu/commit/0fe460dbd469a1d5b6a7140d0e1801935e4a923b.html
[2]: https://github.com/phillbush/xfiles/issues/47
</pre>
</div>
</content>
</entry>
<entry>
<title>support colons in SGR character attributes</title>
<updated>2024-05-01T18:45:39+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2024-05-01T18:45:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=5dbcca49263be094fc38159c297458ae323ef647'/>
<id>5dbcca49263be094fc38159c297458ae323ef647</id>
<content type='text'>
Patch by Mikhail Kot &lt;to@myrrc.dev&gt;
With some modifications to behave more like xterm (see note below).

Example:

	printf '\033[48;2;255:0:0mtest\n'

https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Some notes:

"CSI Pm m  Character Attributes (SGR).
[...]
o   xterm allows either colons (standard) or semicolons
(legacy) to separate the subparameters (but after the
first colon, colons must be used).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch by Mikhail Kot &lt;to@myrrc.dev&gt;
With some modifications to behave more like xterm (see note below).

Example:

	printf '\033[48;2;255:0:0mtest\n'

https://invisible-island.net/xterm/ctlseqs/ctlseqs.html

Some notes:

"CSI Pm m  Character Attributes (SGR).
[...]
o   xterm allows either colons (standard) or semicolons
(legacy) to separate the subparameters (but after the
first colon, colons must be used).
</pre>
</div>
</content>
</entry>
<entry>
<title>bump version to 0.9.2</title>
<updated>2024-04-05T10:18:41+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2024-04-05T10:18:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=d63b9eb90245926b531bd54b1d591adb96613e70'/>
<id>d63b9eb90245926b531bd54b1d591adb96613e70</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reset title when an empty title string is given</title>
<updated>2024-04-03T17:49:05+00:00</updated>
<author>
<name>DOGMAN</name>
<email>dogman@aaathats3as.com</email>
</author>
<published>2024-04-03T17:48:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=497a75638291454875ba1ec8d484c7f3d6f41d66'/>
<id>497a75638291454875ba1ec8d484c7f3d6f41d66</id>
<content type='text'>
With this patch, st will reset its window title when an empty string is
given as the terminal title. For example:
	printf "\033]0;\007"

Some applications, like termdown, expect this functionality. xterm
implements it, but it seems that most other terminal emulators don't.
In any case, I don't see why there should ever be a case where the st
window doesn't have a title property.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With this patch, st will reset its window title when an empty string is
given as the terminal title. For example:
	printf "\033]0;\007"

Some applications, like termdown, expect this functionality. xterm
implements it, but it seems that most other terminal emulators don't.
In any case, I don't see why there should ever be a case where the st
window doesn't have a title property.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Fix cursor move with wide glyphs"</title>
<updated>2024-03-30T11:37:06+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2024-03-30T11:30:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=8c68ec52419f3f965164cafcf589b87e8961348d'/>
<id>8c68ec52419f3f965164cafcf589b87e8961348d</id>
<content type='text'>
This reverts commit 7473a8d1a57e5f9aba41b953f4e498c35e1c9dc5.

This patch needs some more work. It caused regressions with programs that use
GNU readline, etc.

Original test-case example from Tim Culverhouse &lt;tim@timculverhouse.com&gt;:

	printf " 😀" &amp;&amp; sleep 2 &amp;&amp; printf "\e[D" &amp;&amp; sleep 2 &amp;&amp; printf "\e[D" &amp;&amp; sleep 2

After the patch it caused regressions, example test-case:

	printf "A字\bB\n"
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 7473a8d1a57e5f9aba41b953f4e498c35e1c9dc5.

This patch needs some more work. It caused regressions with programs that use
GNU readline, etc.

Original test-case example from Tim Culverhouse &lt;tim@timculverhouse.com&gt;:

	printf " 😀" &amp;&amp; sleep 2 &amp;&amp; printf "\e[D" &amp;&amp; sleep 2 &amp;&amp; printf "\e[D" &amp;&amp; sleep 2

After the patch it caused regressions, example test-case:

	printf "A字\bB\n"
</pre>
</div>
</content>
</entry>
<entry>
<title>bump version to 0.9.1</title>
<updated>2024-03-19T11:13:42+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2024-03-19T11:13:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yctct.com/st/commit/?id=5ce971628106fb767ef91bf4386227423f5fdf98'/>
<id>5ce971628106fb767ef91bf4386227423f5fdf98</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
