<feed xmlns='http://www.w3.org/2005/Atom'>
<title>st, branch master</title>
<subtitle>st fork - https://st.suckless.org/</subtitle>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/'/>
<entry>
<title>patch: selection-unfuck</title>
<updated>2026-02-06T05:32:05+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2020-11-01T07:34:44+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=5e12fb719c4bd0064f57bdd90a32b0d805e3094e'/>
<id>5e12fb719c4bd0064f57bdd90a32b0d805e3094e</id>
<content type='text'>
This patch addresses two issues with selections in st.

First, the SelectionClear signal from X is no longer ignored.  So, if
another selection is made in another window, st's selection will
disappear.

Second (and this one is more of a personal preference), new selections
that begin after the end of a line are now considered to begin at the
start of the following line.  This makes selecting a group of lines
easier for either copy/paste or readability in the terminal.  Previously,
the newline character from the preceeding line would be included in the
clipboard and the dead-space at the end of that line would be
highlighted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch addresses two issues with selections in st.

First, the SelectionClear signal from X is no longer ignored.  So, if
another selection is made in another window, st's selection will
disappear.

Second (and this one is more of a personal preference), new selections
that begin after the end of a line are now considered to begin at the
start of the following line.  This makes selecting a group of lines
easier for either copy/paste or readability in the terminal.  Previously,
the newline character from the preceeding line would be included in the
clipboard and the dead-space at the end of that line would be
highlighted.
</pre>
</div>
</content>
</entry>
<entry>
<title>config: Set mouse scroll amount to 5 lines</title>
<updated>2026-02-06T05:31:41+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2020-06-27T02:47:41+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=3728de46418d26edffc21ac017d52ab668175b0b'/>
<id>3728de46418d26edffc21ac017d52ab668175b0b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: scrollback-mouse-increment (custom rewrite)</title>
<updated>2026-02-06T05:31:41+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2021-10-03T05:42:26+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=661c14cbc1cccc11505d66d8fb24099255817f77'/>
<id>661c14cbc1cccc11505d66d8fb24099255817f77</id>
<content type='text'>
Apply the following patch on top of the first two to allow changing how
fast the mouse scrolls.

I had to manually reimplement this patch myself, since the version from
suckless.org doesn't apply cleanly on top of the first three when
starting from commit bda9c9ffa645.

In addition to fixing-up this patch so it applies to the previous HEAD,
a comment is added stating that the codes sent while scrolling in
alt-screen mode (the btn 4/5 fallbacks) need to be maintained along with
the preferred mousescrollincrement setting so the two modes scroll the
same, which they currently do.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply the following patch on top of the first two to allow changing how
fast the mouse scrolls.

I had to manually reimplement this patch myself, since the version from
suckless.org doesn't apply cleanly on top of the first three when
starting from commit bda9c9ffa645.

In addition to fixing-up this patch so it applies to the previous HEAD,
a comment is added stating that the codes sent while scrolling in
alt-screen mode (the btn 4/5 fallbacks) need to be maintained along with
the preferred mousescrollincrement setting so the two modes scroll the
same, which they currently do.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: scrollback-mouse-altscreen</title>
<updated>2026-02-06T05:31:41+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2020-06-26T23:55:41+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=dbe81cd2ebd1aad08473f8ec260cbbc400cc464a'/>
<id>dbe81cd2ebd1aad08473f8ec260cbbc400cc464a</id>
<content type='text'>
Apply the following patch on top of the previous two to allow scrollback
using mouse wheel only when not in MODE_ALTSCREEN. For example the
content is being scrolled instead of the scrollback buffer in less.
Consequently the Shift modifier for scrolling is not needed anymore.

The mouse and altscreen patches 20191024-a2c479c (and later, including
this one) are simpler and more robust because st gained better support
for customized mouse shortcuts. As a result, the altscreen patch doesn't
really need the mouse patch. However to keep it simple the instructions
stay the same: the alrscreen patch still applies on top of the (now very
minimal) mouse patch.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply the following patch on top of the previous two to allow scrollback
using mouse wheel only when not in MODE_ALTSCREEN. For example the
content is being scrolled instead of the scrollback buffer in less.
Consequently the Shift modifier for scrolling is not needed anymore.

The mouse and altscreen patches 20191024-a2c479c (and later, including
this one) are simpler and more robust because st gained better support
for customized mouse shortcuts. As a result, the altscreen patch doesn't
really need the mouse patch. However to keep it simple the instructions
stay the same: the alrscreen patch still applies on top of the (now very
minimal) mouse patch.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: scrollback-mouse</title>
<updated>2026-02-06T05:31:41+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2020-06-26T23:52:30+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=ec60b75d1a2c943ddcd9aa4553293d8fb91fe67a'/>
<id>ec60b75d1a2c943ddcd9aa4553293d8fb91fe67a</id>
<content type='text'>
Apply the following patch on top of the previous to allow scrolling
using Shift+MouseWheel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Apply the following patch on top of the previous to allow scrolling
using Shift+MouseWheel.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: scrollback</title>
<updated>2026-02-06T05:31:37+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2020-06-26T23:49:38+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=d5993588246df84de4e87fe3043bd1b692a22042'/>
<id>d5993588246df84de4e87fe3043bd1b692a22042</id>
<content type='text'>
Scroll back through terminal output using Shift+{PageUp, PageDown}.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Scroll back through terminal output using Shift+{PageUp, PageDown}.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: newterm (orphan version)</title>
<updated>2026-02-06T05:30:19+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2021-10-03T06:16:10+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=463771a81b910c4811dd27fc4640206a012e83d6'/>
<id>463771a81b910c4811dd27fc4640206a012e83d6</id>
<content type='text'>
Ctrl-Shift-Return now creates a new st terminal, whose CWD is the same
as the parent st's CWD.

This version of the patch does a double fork, a technique commonly used
by daemons to spawn orphan processes.

This solution is specific to the swallow patch for dwm which traverses
the process tree to determine if the new window is a decendant of a
terminal window, in which case the new window should take the place of
the terminal window.

The way the original newterm patch worked the new st terminal would be a
direct decendant of the parent st terminal process, which could lead to
the wrong terminal window being swallowed.

The double fork method avoids this by leaving all new st terminals as
orphans, i.e. they will have no parent process.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ctrl-Shift-Return now creates a new st terminal, whose CWD is the same
as the parent st's CWD.

This version of the patch does a double fork, a technique commonly used
by daemons to spawn orphan processes.

This solution is specific to the swallow patch for dwm which traverses
the process tree to determine if the new window is a decendant of a
terminal window, in which case the new window should take the place of
the terminal window.

The way the original newterm patch worked the new st terminal would be a
direct decendant of the parent st terminal process, which could lead to
the wrong terminal window being swallowed.

The double fork method avoids this by leaving all new st terminals as
orphans, i.e. they will have no parent process.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: hidecursor</title>
<updated>2026-02-06T05:29:56+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2020-06-23T06:03:24+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=4ed010694f00b0a3df4d0e48e3da19261d346006'/>
<id>4ed010694f00b0a3df4d0e48e3da19261d346006</id>
<content type='text'>
Hide the X cursor whenever a key is pressed and show it back when the
mouse is moved in the terminal window.

An alternative to this patch might be xbanish or unclutter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hide the X cursor whenever a key is pressed and show it back when the
mouse is moved in the terminal window.

An alternative to this patch might be xbanish or unclutter.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: delkey</title>
<updated>2026-02-06T05:29:12+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2021-10-03T03:52:58+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=9b9b21eb9b344dd6c83bba934fd24aeea94da491'/>
<id>9b9b21eb9b344dd6c83bba934fd24aeea94da491</id>
<content type='text'>
Return BS on pressing backspace and DEL on pressing the delete key.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Return BS on pressing backspace and DEL on pressing the delete key.
</pre>
</div>
</content>
</entry>
<entry>
<title>patch: colorterm</title>
<updated>2026-02-06T05:29:05+00:00</updated>
<author>
<name>Malfurious</name>
<email>m@lfurio.us</email>
</author>
<published>2024-08-12T16:55:16+00:00</published>
<link rel='alternate' type='text/html' href='http://normalmode.org/malf/x/st/commit/?id=cd42d5df504526f806c1e511db5859b4c2773668'/>
<id>cd42d5df504526f806c1e511db5859b4c2773668</id>
<content type='text'>
Support COLORTERM env variable

Several programs and terminal emulators (see links further down), are
using this variable to indicate truecolor support.

https://github.com/termstandard/colors
https://gitlab.com/gnachman/iterm2/-/issues/5294
https://codeberg.org/dnkl/foot/wiki#24-bit-color-support-in-emacs
https://neovim.io/doc/user/term.html#true-color

This patch is taken manually from the suckless mailing list, as it was
never applied to mainline st.
https://lists.suckless.org/hackers/2205/18350.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support COLORTERM env variable

Several programs and terminal emulators (see links further down), are
using this variable to indicate truecolor support.

https://github.com/termstandard/colors
https://gitlab.com/gnachman/iterm2/-/issues/5294
https://codeberg.org/dnkl/foot/wiki#24-bit-color-support-in-emacs
https://neovim.io/doc/user/term.html#true-color

This patch is taken manually from the suckless mailing list, as it was
never applied to mainline st.
https://lists.suckless.org/hackers/2205/18350.html
</pre>
</div>
</content>
</entry>
</feed>
