<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>st, branch HEAD</title>
<subtitle>[fork] customized build of st, the simple terminal
</subtitle>
<entry>
<id>c1be1c8e8e8c2de3a37d95c3d37c5dd48dc59ea0</id>
<published>2022-03-18T16:43:39Z</published>
<updated>2022-03-18T16:43:39Z</updated>
<title type="text">Merge remote-tracking branch &#39;upstream/master&#39;</title>
<link rel="alternate" href="commit/c1be1c8e8e8c2de3a37d95c3d37c5dd48dc59ea0.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit c1be1c8e8e8c2de3a37d95c3d37c5dd48dc59ea0
parent b7e4c4548f3d1bc794446b74cf56e8ff373babd1
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Fri, 18 Mar 2022 17:43:39 +0100

Merge remote-tracking branch &#39;upstream/master&#39;

</content>
</entry>
<entry>
<id>ef0551932fb162f907b40185d2f48c3b497708ee</id>
<published>2022-03-18T11:03:34Z</published>
<updated>2022-03-18T11:20:27Z</updated>
<title type="text">base64_digits: reduce scope, implicit zero, +1 size</title>
<link rel="alternate" href="commit/ef0551932fb162f907b40185d2f48c3b497708ee.gph" />
<author>
<name>NRK</name>
<email>[email protected]</email>
</author>
<content type="text">commit ef0551932fb162f907b40185d2f48c3b497708ee
parent af3bb68add1c40d19d0dee382009e21b0870a38f
Author: NRK &lt;[email protected]&gt;
Date:   Fri, 18 Mar 2022 17:03:34 +0600

base64_digits: reduce scope, implicit zero, +1 size

the array is not accessed outside of base64dec() so it makes sense to
limit it&#39;s scope to the related function. the static-storage duration of
the array is kept intact.

this also removes unnecessary explicit zeroing from the start and end of
the array. anything that wasn&#39;t explicitly zero-ed will now be
implicitly zero-ed instead.

the validity of the new array can be easily confirmed via running this
trivial loop:

       for (int i = 0; i &lt; 255; ++i)
               assert(base64_digits[i] == base64_digits_old[i]);

lastly, as pointed out by Roberto, the array needs to have 256 elements
in order to able access it as any unsigned char as an index; the
previous array had 255.

however, this array will only be accessed at indexes which are
isprint() || &#39;=&#39; (see `base64dec_getc()`), so reducing the size of the
array to the highest printable ascii char (127 AFAIK) + 1 might also be
a valid strategy.

</content>
</entry>
<entry>
<id>af3bb68add1c40d19d0dee382009e21b0870a38f</id>
<published>2022-03-18T10:20:54Z</published>
<updated>2022-03-18T11:11:27Z</updated>
<title type="text">avoid potential UB when using isprint()</title>
<link rel="alternate" href="commit/af3bb68add1c40d19d0dee382009e21b0870a38f.gph" />
<author>
<name>NRK</name>
<email>[email protected]</email>
</author>
<content type="text">commit af3bb68add1c40d19d0dee382009e21b0870a38f
parent 2aefa348baf4b702fdce98eb105bcba175d8283f
Author: NRK &lt;[email protected]&gt;
Date:   Fri, 18 Mar 2022 16:20:54 +0600

avoid potential UB when using isprint()

all the ctype.h functions&#39; argument must be representable as an unsigned
char or as EOF, otherwise the behavior is undefined.

</content>
</entry>
<entry>
<id>2aefa348baf4b702fdce98eb105bcba175d8283f</id>
<published>2022-03-13T09:44:08Z</published>
<updated>2022-03-13T09:45:34Z</updated>
<title type="text">make underlines and strikethroughs respect `chscale`</title>
<link rel="alternate" href="commit/2aefa348baf4b702fdce98eb105bcba175d8283f.gph" />
<author>
<name>Zacchary Dempsey-Plante</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2aefa348baf4b702fdce98eb105bcba175d8283f
parent e823e2308f2a99023032a3966ebb7036a31d305f
Author: Zacchary Dempsey-Plante &lt;[email protected]&gt;
Date:   Sun, 13 Mar 2022 10:44:08 +0100

make underlines and strikethroughs respect `chscale`

</content>
</entry>
<entry>
<id>e823e2308f2a99023032a3966ebb7036a31d305f</id>
<published>2022-02-17T14:00:47Z</published>
<updated>2022-02-18T12:03:37Z</updated>
<title type="text">Delay redrawals on palette changes</title>
<link rel="alternate" href="commit/e823e2308f2a99023032a3966ebb7036a31d305f.gph" />
<author>
<name>Santtu Lakkala</name>
<email>[email protected]</email>
</author>
<content type="text">commit e823e2308f2a99023032a3966ebb7036a31d305f
parent 2c5edf28ec851907305d73c6218ce75d39f1767f
Author: Santtu Lakkala &lt;[email protected]&gt;
Date:   Thu, 17 Feb 2022 16:00:47 +0200

Delay redrawals on palette changes

Build on auto-sync and only mark window dirty on palette changes and let
the event handler do the actual draw.

</content>
</entry>
<entry>
<id>2c5edf28ec851907305d73c6218ce75d39f1767f</id>
<published>2022-01-12T08:44:27Z</published>
<updated>2022-01-12T08:44:27Z</updated>
<title type="text">X10/SGR mouse: use alt as meta key instead of super/windows key</title>
<link rel="alternate" href="commit/2c5edf28ec851907305d73c6218ce75d39f1767f.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2c5edf28ec851907305d73c6218ce75d39f1767f
parent b1d97fec47b0d6633addb848131388ec40154ebc
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Wed, 12 Jan 2022 09:44:27 +0100

X10/SGR mouse: use alt as meta key instead of super/windows key

</content>
</entry>
<entry>
<id>b1d97fec47b0d6633addb848131388ec40154ebc</id>
<published>2022-01-10T16:11:17Z</published>
<updated>2022-01-10T16:11:17Z</updated>
<title type="text">LICENSE: bump year</title>
<link rel="alternate" href="commit/b1d97fec47b0d6633addb848131388ec40154ebc.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit b1d97fec47b0d6633addb848131388ec40154ebc
parent ea7cd7b62fdfa6a1fbd882d1565d557577f2cf32
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Mon, 10 Jan 2022 17:11:17 +0100

LICENSE: bump year

</content>
</entry>
<entry>
<id>ea7cd7b62fdfa6a1fbd882d1565d557577f2cf32</id>
<published>2022-01-08T19:40:34Z</published>
<updated>2022-01-10T16:04:01Z</updated>
<title type="text">Fix mousereport</title>
<link rel="alternate" href="commit/ea7cd7b62fdfa6a1fbd882d1565d557577f2cf32.gph" />
<author>
<name>robert</name>
<email>[email protected]</email>
</author>
<content type="text">commit ea7cd7b62fdfa6a1fbd882d1565d557577f2cf32
parent 7fb0c0cc681f36be2ad12091ef93a41671f32738
Author: robert &lt;[email protected]&gt;
Date:   Sat,  8 Jan 2022 11:40:34 -0800

Fix mousereport

This patch replaces the previous one I sent.

The following changes are made in this patch:
- Fix tracking of pressed buttons. Previously, pressing two buttons and
  then releasing one would make st think no buttons are pressed, which
  in particular broke MODE_MOUSEMOTION.
- Always send the lowest-numbered pressed button on motion events; when
  no button is pressed for a motion event in MODE_MOUSEMANY, then send
  a release. This matches the behaviour of xterm. (Previously, st sent
  the most recently pressed button in the motion report.)
- Remove UB (?) access to potentially inactive struct member
  e-&gt;xbutton.button of XEvent union.
- Fix (unlikely) possibility of overflow for large button numbers.

The one discrepancy I found between st and xterm is that xterm sometimes
encodes buttons with large numbers (&gt;5) strangely. E.g., xterm reports
presses of buttons 8 and 9 as releases, whereas st properly (?) encodes
them as presses.

</content>
</entry>
<entry>
<id>7fb0c0cc681f36be2ad12091ef93a41671f32738</id>
<published>2022-01-07T11:39:57Z</published>
<updated>2022-01-07T11:39:57Z</updated>
<title type="text">bump version to 0.8.5</title>
<link rel="alternate" href="commit/7fb0c0cc681f36be2ad12091ef93a41671f32738.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 7fb0c0cc681f36be2ad12091ef93a41671f32738
parent 7e1c68f25d9f08687a94eeef8d7f8ffd0d14b911
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri,  7 Jan 2022 12:39:57 +0100

bump version to 0.8.5

</content>
</entry>
<entry>
<id>b7e4c4548f3d1bc794446b74cf56e8ff373babd1</id>
<published>2022-01-03T09:17:09Z</published>
<updated>2022-01-03T09:17:09Z</updated>
<title type="text">update for new config.def.h</title>
<link rel="alternate" href="commit/b7e4c4548f3d1bc794446b74cf56e8ff373babd1.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit b7e4c4548f3d1bc794446b74cf56e8ff373babd1
parent 6edf2d3761f7f169b940c5977192277158d9f360
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Mon,  3 Jan 2022 10:17:09 +0100

update for new config.def.h

</content>
</entry>
<entry>
<id>6edf2d3761f7f169b940c5977192277158d9f360</id>
<published>2022-01-03T09:11:05Z</published>
<updated>2022-01-03T09:11:05Z</updated>
<title type="text">Merge remote-tracking branch &#39;upstream/master&#39;</title>
<link rel="alternate" href="commit/6edf2d3761f7f169b940c5977192277158d9f360.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 6edf2d3761f7f169b940c5977192277158d9f360
parent d5b8228f1ab248cae2889ed6c083e614e3c5b9d9
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Mon,  3 Jan 2022 10:11:05 +0100

Merge remote-tracking branch &#39;upstream/master&#39;

</content>
</entry>
<entry>
<id>7e1c68f25d9f08687a94eeef8d7f8ffd0d14b911</id>
<published>2022-01-02T11:15:45Z</published>
<updated>2022-01-02T11:16:57Z</updated>
<title type="text">FAQ: fix a typo, patch -&gt; path</title>
<link rel="alternate" href="commit/7e1c68f25d9f08687a94eeef8d7f8ffd0d14b911.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 7e1c68f25d9f08687a94eeef8d7f8ffd0d14b911
parent 65f1dc428315ae9d7f362e10c668557c1379e7af
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sun,  2 Jan 2022 12:15:45 +0100

FAQ: fix a typo, patch -&gt; path

</content>
</entry>
<entry>
<id>65f1dc428315ae9d7f362e10c668557c1379e7af</id>
<published>2021-12-29T17:07:17Z</published>
<updated>2021-12-30T17:37:17Z</updated>
<title type="text">Fix overtyping wide characters.</title>
<link rel="alternate" href="commit/65f1dc428315ae9d7f362e10c668557c1379e7af.gph" />
<author>
<name>jamin</name>
<email>[email protected]</email>
</author>
<content type="text">commit 65f1dc428315ae9d7f362e10c668557c1379e7af
parent a0467c802d4f86ed162486e3453dd61181423902
Author: jamin &lt;[email protected]&gt;
Date:   Wed, 29 Dec 2021 09:07:17 -0800

Fix overtyping wide characters.

Overtyping the first half of a wide character with the
second half of a wide character results in display garbage.
This is because the trailing dummy is not cleaned up.

i.e.  ATTR_WIDE, ATTR_WDUMMY, ATTR_WDUMMY

Here is a short script for demonstrating the behavior:

       #!/bin/sh
       alias printf=/usr/bin/printf
       printf こんにちは!; sleep 2
       printf &#39;\x1b[5D&#39;; sleep 2
       printf へ; sleep 2
       printf &#39; &#39;; sleep 2
       echo

</content>
</entry>
<entry>
<id>a0467c802d4f86ed162486e3453dd61181423902</id>
<published>2021-12-27T10:41:42Z</published>
<updated>2021-12-27T12:07:11Z</updated>
<title type="text">Fix null pointer access in strhandle</title>
<link rel="alternate" href="commit/a0467c802d4f86ed162486e3453dd61181423902.gph" />
<author>
<name>Jochen Sprickerhof</name>
<email>[email protected]</email>
</author>
<content type="text">commit a0467c802d4f86ed162486e3453dd61181423902
parent 273db5ceaf392e68c2faf8f7dec14ea2e25e980d
Author: Jochen Sprickerhof &lt;[email protected]&gt;
Date:   Mon, 27 Dec 2021 11:41:42 +0100

Fix null pointer access in strhandle

According to the spec the argument is optional for 104, so p can be
NULL as can be tested with printf &#39;\x1b]104\x07&#39;. This is a regression
of 8e31030.

</content>
</entry>
<entry>
<id>273db5ceaf392e68c2faf8f7dec14ea2e25e980d</id>
<published>2021-12-26T18:00:41Z</published>
<updated>2021-12-26T18:00:41Z</updated>
<title type="text">follow-up fix for OSC color sequences, return</title>
<link rel="alternate" href="commit/273db5ceaf392e68c2faf8f7dec14ea2e25e980d.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 273db5ceaf392e68c2faf8f7dec14ea2e25e980d
parent 8e310303903792c010d03c046ba75f8b18f7d3a7
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sun, 26 Dec 2021 19:00:41 +0100

follow-up fix for OSC color sequences, return

Otherwise the message &quot;erresc: unknown str&quot; is printed.

</content>
</entry>
<entry>
<id>8e310303903792c010d03c046ba75f8b18f7d3a7</id>
<published>2021-12-26T17:57:04Z</published>
<updated>2021-12-26T17:57:44Z</updated>
<title type="text">Add support for OSC color sequences</title>
<link rel="alternate" href="commit/8e310303903792c010d03c046ba75f8b18f7d3a7.gph" />
<author>
<name>Raheman Vaiya</name>
<email>[email protected]</email>
</author>
<content type="text">commit 8e310303903792c010d03c046ba75f8b18f7d3a7
parent 2f6e597ed871cff91c627850d03152cae5f45779
Author: Raheman Vaiya &lt;[email protected]&gt;
Date:   Sun, 26 Dec 2021 18:57:04 +0100

Add support for OSC color sequences

</content>
</entry>
<entry>
<id>d5b8228f1ab248cae2889ed6c083e614e3c5b9d9</id>
<published>2021-09-09T06:41:22Z</published>
<updated>2021-09-09T06:41:22Z</updated>
<title type="text">use standard font by default</title>
<link rel="alternate" href="commit/d5b8228f1ab248cae2889ed6c083e614e3c5b9d9.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit d5b8228f1ab248cae2889ed6c083e614e3c5b9d9
parent 710d61cdd9473ee0a0cb250c90d60944e4539999
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Thu,  9 Sep 2021 08:41:22 +0200

use standard font by default

</content>
</entry>
<entry>
<id>2f6e597ed871cff91c627850d03152cae5f45779</id>
<published>2021-08-24T11:44:35Z</published>
<updated>2021-08-24T11:44:35Z</updated>
<title type="text">fix possible rare crash when Xutf8TextPropertyToTextList fails</title>
<link rel="alternate" href="commit/2f6e597ed871cff91c627850d03152cae5f45779.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2f6e597ed871cff91c627850d03152cae5f45779
parent 1d3142da968da7f6f61f1c1708f39ca233eda150
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Tue, 24 Aug 2021 13:44:35 +0200

fix possible rare crash when Xutf8TextPropertyToTextList fails

from the XmbTextListToTextProperty(3) man page:

&quot;If insufficient memory is available for the new value string, the functions
return XNoMemory.  If the current locale is not supported, the functions return
XLocaleNotSupported.  In both of these error cases, the functions do not set
text_prop_return.&quot;

Reported by Steffen Nurpmeso &lt;[email protected]&gt;, thanks!

</content>
</entry>
<entry>
<id>1d3142da968da7f6f61f1c1708f39ca233eda150</id>
<published>2021-08-23T21:25:05Z</published>
<updated>2021-08-24T11:30:11Z</updated>
<title type="text">fix a problem that the standard streams are unexpectedly closed</title>
<link rel="alternate" href="commit/1d3142da968da7f6f61f1c1708f39ca233eda150.gph" />
<author>
<name>Koichi Murase</name>
<email>[email protected]</email>
</author>
<content type="text">commit 1d3142da968da7f6f61f1c1708f39ca233eda150
parent 2ec571a30c0c3b1a17f6b3631c80d573582f59a1
Author: Koichi Murase &lt;[email protected]&gt;
Date:   Tue, 24 Aug 2021 06:25:05 +0900

fix a problem that the standard streams are unexpectedly closed

In the current implementation, the slave PTY (assigned to the variable
`s&#39;) is always closed after duplicating it to file descriptors of
standard streams (0, 1, and 2).  However, when the allocated slave PTY
`s&#39; is already one of 0, 1, or 2, this causes unexpected closing of a
standard stream.  The same problem occurs when the file descriptor of
the master PTY (the variable `m&#39;) is one of 0, 1, or 2.

In this patch, the original master PTY (m) is closed before it would
be overwritten by duplicated slave PTYs.  The original slave PTY (s)
is closed only when it is not one of the stanrad streams.

</content>
</entry>
<entry>
<id>2ec571a30c0c3b1a17f6b3631c80d573582f59a1</id>
<published>2021-07-17T22:14:00Z</published>
<updated>2021-07-18T09:44:56Z</updated>
<title type="text">Add 14th bit to XK_SWITCH_MOD bitmask</title>
<link rel="alternate" href="commit/2ec571a30c0c3b1a17f6b3631c80d573582f59a1.gph" />
<author>
<name>Petar Kapriš</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2ec571a30c0c3b1a17f6b3631c80d573582f59a1
parent 4536f46cfff50c66a115755def0155d8e246b02f
Author: Petar Kapriš &lt;[email protected]&gt;
Date:   Sun, 18 Jul 2021 00:14:00 +0200

Add 14th bit to XK_SWITCH_MOD bitmask

The bits of uint signal in an XKeyEvent which concern the key group (keyboard
layout) are bits 13 and 14, as documented here:
https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Groups_and_Shift_Levels
In the older version, only bit 13 was marked as part of XK_SWITCH_MOD, this
causes issues for users who have more than two keymaps. the 14th bit is not
in ignoremod, key sequences are not caught by match(), if they switch to a third
or fourth keyboard.

</content>
</entry>
<entry>
<id>4536f46cfff50c66a115755def0155d8e246b02f</id>
<published>2021-03-28T19:16:59Z</published>
<updated>2021-05-06T16:21:10Z</updated>
<title type="text">Mild const-correctness improvements.</title>
<link rel="alternate" href="commit/4536f46cfff50c66a115755def0155d8e246b02f.gph" />
<author>
<name>Markus F.X.J. Oberhumer</name>
<email>[email protected]</email>
</author>
<content type="text">commit 4536f46cfff50c66a115755def0155d8e246b02f
parent 9e68fdbcdb06dfa3d23fe3a7a7f7b59e40e1ea2f
Author: Markus F.X.J. Oberhumer &lt;[email protected]&gt;
Date:   Sun, 28 Mar 2021 21:16:59 +0200

Mild const-correctness improvements.

Only touch a few things, the main focus is to
improve code readability.

</content>
</entry>
<entry>
<id>9e68fdbcdb06dfa3d23fe3a7a7f7b59e40e1ea2f</id>
<published>2021-03-19T10:54:36Z</published>
<updated>2021-03-19T10:58:59Z</updated>
<title type="text">fix: correctly encode mouse buttons &gt;= 8 in X10 and SGR mode</title>
<link rel="alternate" href="commit/9e68fdbcdb06dfa3d23fe3a7a7f7b59e40e1ea2f.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 9e68fdbcdb06dfa3d23fe3a7a7f7b59e40e1ea2f
parent 4ef0cbd8b9371f37f7d02ef37b5378b879e6b8bf
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri, 19 Mar 2021 11:54:36 +0100

fix: correctly encode mouse buttons &gt;= 8 in X10 and SGR mode

These are typically mapped in X11 to the side-buttons (backward/forwards) on
the mouse. A comparison of the button numbers in SGR mode (first field):

st old:
0 1 2 64 65 66 67 68 69 70

st new (it is the same as xterm now):
0 1 2 64 65 66 67 128 129 130

A script to test and reproduce it, first argument is &quot;h&quot; (on) or &quot;l&quot; (off):

       #!/bin/sh
       printf &#39;\x1b[?1000%s\x1b[?1006%s&#39; &quot;$1&quot; &quot;$1&quot;

       for n in 1 2 3 4 5 6 7 8 9 10; do
               printf &#39;button %d\n&#39; &quot;$n&quot;
               xdotool click &quot;$n&quot;
               printf &#39;\n\n&#39;
       done

</content>
</entry>
<entry>
<id>710d61cdd9473ee0a0cb250c90d60944e4539999</id>
<published>2020-11-03T14:58:14Z</published>
<updated>2020-11-03T14:58:14Z</updated>
<title type="text">config.h: maximize fg/bg contrast</title>
<link rel="alternate" href="commit/710d61cdd9473ee0a0cb250c90d60944e4539999.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 710d61cdd9473ee0a0cb250c90d60944e4539999
parent 18d225a3e7ae415950c11de0902ae29dfeb62c3e
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Tue,  3 Nov 2020 15:58:14 +0100

config.h: maximize fg/bg contrast

</content>
</entry>
<entry>
<id>4ef0cbd8b9371f37f7d02ef37b5378b879e6b8bf</id>
<published>2020-10-18T09:18:03Z</published>
<updated>2020-10-18T09:18:03Z</updated>
<title type="text">remove unused variable from previous patch</title>
<link rel="alternate" href="commit/4ef0cbd8b9371f37f7d02ef37b5378b879e6b8bf.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 4ef0cbd8b9371f37f7d02ef37b5378b879e6b8bf
parent 28b4c822c5c0acec300fdf15c6e3ede9f5e2335d
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sun, 18 Oct 2020 11:18:03 +0200

remove unused variable from previous patch

</content>
</entry>
<entry>
<id>28b4c822c5c0acec300fdf15c6e3ede9f5e2335d</id>
<published>2020-09-06T05:53:41Z</published>
<updated>2020-10-18T09:17:11Z</updated>
<title type="text">ST: Add WM_ICON_NAME property support</title>
<link rel="alternate" href="commit/28b4c822c5c0acec300fdf15c6e3ede9f5e2335d.gph" />
<author>
<name>John Collis</name>
<email>[email protected]</email>
</author>
<content type="text">commit 28b4c822c5c0acec300fdf15c6e3ede9f5e2335d
parent fa253f077f19b3220c7655b81bd91e52f4367803
Author: John Collis &lt;[email protected]&gt;
Date:   Sun,  6 Sep 2020 17:53:41 +1200

ST: Add WM_ICON_NAME property support

Also added _NET_WM_ICON_NAME.

</content>
</entry>
<entry>
<id>18d225a3e7ae415950c11de0902ae29dfeb62c3e</id>
<published>2020-09-26T19:07:14Z</published>
<updated>2020-09-26T19:07:14Z</updated>
<title type="text">config.h: revert to pragmatapro:size=11</title>
<link rel="alternate" href="commit/18d225a3e7ae415950c11de0902ae29dfeb62c3e.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 18d225a3e7ae415950c11de0902ae29dfeb62c3e
parent 268e3067f7f1cc5ed08da84d5211508cd26cdd19
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Sat, 26 Sep 2020 21:07:14 +0200

config.h: revert to pragmatapro:size=11

</content>
</entry>
<entry>
<id>268e3067f7f1cc5ed08da84d5211508cd26cdd19</id>
<published>2020-09-24T12:35:27Z</published>
<updated>2020-09-24T12:35:27Z</updated>
<title type="text">revert to terminus</title>
<link rel="alternate" href="commit/268e3067f7f1cc5ed08da84d5211508cd26cdd19.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 268e3067f7f1cc5ed08da84d5211508cd26cdd19
parent b5f6350ece6c437db1d32c84d5e8edc0cae5e7a8
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Thu, 24 Sep 2020 14:35:27 +0200

revert to terminus

</content>
</entry>
<entry>
<id>b5f6350ece6c437db1d32c84d5e8edc0cae5e7a8</id>
<published>2020-09-24T11:53:15Z</published>
<updated>2020-09-24T11:53:15Z</updated>
<title type="text">Use pragmatapro as font</title>
<link rel="alternate" href="commit/b5f6350ece6c437db1d32c84d5e8edc0cae5e7a8.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit b5f6350ece6c437db1d32c84d5e8edc0cae5e7a8
parent 477eaafaf569ee371fcbdf4ca1b0cee30fae3d47
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Thu, 24 Sep 2020 13:53:15 +0200

Use pragmatapro as font

</content>
</entry>
<entry>
<id>477eaafaf569ee371fcbdf4ca1b0cee30fae3d47</id>
<published>2020-09-24T10:18:56Z</published>
<updated>2020-09-24T10:18:56Z</updated>
<title type="text">Use large terminus as font</title>
<link rel="alternate" href="commit/477eaafaf569ee371fcbdf4ca1b0cee30fae3d47.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 477eaafaf569ee371fcbdf4ca1b0cee30fae3d47
parent 7f47ffe7418ff0859b4a3ef31906e6fe47d2c373
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Thu, 24 Sep 2020 12:18:56 +0200

Use large terminus as font

</content>
</entry>
<entry>
<id>7f47ffe7418ff0859b4a3ef31906e6fe47d2c373</id>
<published>2020-08-28T07:22:38Z</published>
<updated>2020-08-28T07:22:38Z</updated>
<title type="text">Change mouse pointer colors</title>
<link rel="alternate" href="commit/7f47ffe7418ff0859b4a3ef31906e6fe47d2c373.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 7f47ffe7418ff0859b4a3ef31906e6fe47d2c373
parent 9ce3046b97b90af84ea42671e6271bc64b5d9bbf
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Fri, 28 Aug 2020 09:22:38 +0200

Change mouse pointer colors

</content>
</entry>
<entry>
<id>9ce3046b97b90af84ea42671e6271bc64b5d9bbf</id>
<published>2020-07-09T21:11:01Z</published>
<updated>2020-07-09T21:11:01Z</updated>
<title type="text">Use neutral gray for cursor</title>
<link rel="alternate" href="commit/9ce3046b97b90af84ea42671e6271bc64b5d9bbf.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 9ce3046b97b90af84ea42671e6271bc64b5d9bbf
parent ca0e40509ac1fae0f5d40b8df3ac787ce0a084c2
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Thu,  9 Jul 2020 23:11:01 +0200

Use neutral gray for cursor

</content>
</entry>
<entry>
<id>ca0e40509ac1fae0f5d40b8df3ac787ce0a084c2</id>
<published>2020-06-19T11:52:28Z</published>
<updated>2020-06-19T11:52:28Z</updated>
<title type="text">Update config with allowwindowops option</title>
<link rel="alternate" href="commit/ca0e40509ac1fae0f5d40b8df3ac787ce0a084c2.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit ca0e40509ac1fae0f5d40b8df3ac787ce0a084c2
parent 8d971068c60f64dee3e8751b54548d86f6fecd6f
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Fri, 19 Jun 2020 13:52:28 +0200

Update config with allowwindowops option

</content>
</entry>
<entry>
<id>8d971068c60f64dee3e8751b54548d86f6fecd6f</id>
<published>2020-06-19T11:47:33Z</published>
<updated>2020-06-19T11:47:33Z</updated>
<title type="text">Merge remote-tracking branch &#39;upstream/master&#39;</title>
<link rel="alternate" href="commit/8d971068c60f64dee3e8751b54548d86f6fecd6f.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 8d971068c60f64dee3e8751b54548d86f6fecd6f
parent 643585f3d771e48023ce469a5cd4e1a848c84e18
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Fri, 19 Jun 2020 13:47:33 +0200

Merge remote-tracking branch &#39;upstream/master&#39;

</content>
</entry>
<entry>
<id>fa253f077f19b3220c7655b81bd91e52f4367803</id>
<published>2020-06-19T09:27:17Z</published>
<updated>2020-06-19T09:27:17Z</updated>
<title type="text">bump version to 0.8.4</title>
<link rel="alternate" href="commit/fa253f077f19b3220c7655b81bd91e52f4367803.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit fa253f077f19b3220c7655b81bd91e52f4367803
parent b27a383a3acc7decf00e6e889fca265430b5d329
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri, 19 Jun 2020 11:27:17 +0200

bump version to 0.8.4

</content>
</entry>
<entry>
<id>643585f3d771e48023ce469a5cd4e1a848c84e18</id>
<published>2020-06-18T05:45:12Z</published>
<updated>2020-06-18T05:45:12Z</updated>
<title type="text">Decrease border size</title>
<link rel="alternate" href="commit/643585f3d771e48023ce469a5cd4e1a848c84e18.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 643585f3d771e48023ce469a5cd4e1a848c84e18
parent 2d76b78202b02072cc22d9b21e7eb643d747605d
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Thu, 18 Jun 2020 07:45:12 +0200

Decrease border size

</content>
</entry>
<entry>
<id>b27a383a3acc7decf00e6e889fca265430b5d329</id>
<published>2020-06-17T21:47:00Z</published>
<updated>2020-06-17T21:49:40Z</updated>
<title type="text">config.mk: use PKG_CONFIG in commented OpenBSD section</title>
<link rel="alternate" href="commit/b27a383a3acc7decf00e6e889fca265430b5d329.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit b27a383a3acc7decf00e6e889fca265430b5d329
parent 81067c65ea4dd80e8eb34755a4f50a4a8c7df06b
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Wed, 17 Jun 2020 23:47:00 +0200

config.mk: use PKG_CONFIG in commented OpenBSD section

</content>
</entry>
<entry>
<id>81067c65ea4dd80e8eb34755a4f50a4a8c7df06b</id>
<published>2020-06-17T21:44:34Z</published>
<updated>2020-06-17T21:49:40Z</updated>
<title type="text">LICENSE: bump years</title>
<link rel="alternate" href="commit/81067c65ea4dd80e8eb34755a4f50a4a8c7df06b.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 81067c65ea4dd80e8eb34755a4f50a4a8c7df06b
parent f74a9df6e1fc88eebe6d673d888b61fd83cf6fc4
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Wed, 17 Jun 2020 23:44:34 +0200

LICENSE: bump years

</content>
</entry>
<entry>
<id>f74a9df6e1fc88eebe6d673d888b61fd83cf6fc4</id>
<published>2020-06-17T20:05:48Z</published>
<updated>2020-06-17T21:49:22Z</updated>
<title type="text">remove sixel stub code</title>
<link rel="alternate" href="commit/f74a9df6e1fc88eebe6d673d888b61fd83cf6fc4.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit f74a9df6e1fc88eebe6d673d888b61fd83cf6fc4
parent 818ec746f4caae453d09368b101c3e841cf39870
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Wed, 17 Jun 2020 22:05:48 +0200

remove sixel stub code

Remove stub code that was used for an experiment of adding sixel code to st
from the commit f7398434.

</content>
</entry>
<entry>
<id>818ec746f4caae453d09368b101c3e841cf39870</id>
<published>2020-06-17T19:35:39Z</published>
<updated>2020-06-17T19:35:39Z</updated>
<title type="text">fix unicode glitch in DCS strings, patch by Tim Allen</title>
<link rel="alternate" href="commit/818ec746f4caae453d09368b101c3e841cf39870.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 818ec746f4caae453d09368b101c3e841cf39870
parent 9ba7ecf7b15ec2986c6142036706aa353b249ef9
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Wed, 17 Jun 2020 21:35:39 +0200

fix unicode glitch in DCS strings, patch by Tim Allen

Reported on the mailinglist:

&quot;
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 &#39;\303\277\033P\033\\\303\277&#39;

..where:

 - \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 &quot;ESC_DCS&quot; and &quot;ESC_STR&quot; flags, indicating that
   incoming bytes should be collected into the strescseq buffer, rather
   than being interpreted.
 - ESC \ sets the &quot;ESC_STR_END&quot; flag (when ESC is received), and then
   calls strhandle() (when \ is received) to interpret the collected
   bytes.
 - If the collected bytes begin with &#39;P&#39; (i.e. if this was a DCS
   string) strhandle() sets the &quot;ESC_DCS&quot; 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)
               xsettitle(strescseq.args[0]);
               return;
       case &#39;P&#39;: /* DCS -- Device Control String */
-               term.mode |= ESC_DCS;
       case &#39;_&#39;: /* APC -- Application Program Command */
       case &#39;^&#39;: /* PM -- Privacy Message */
               return;

I&#39;ve tried the above patch and it fixes my problem, but I don&#39;t know if
it introduces any others.
&quot;

</content>
</entry>
<entry>
<id>9ba7ecf7b15ec2986c6142036706aa353b249ef9</id>
<published>2020-06-01T12:09:46Z</published>
<updated>2020-06-01T12:09:46Z</updated>
<title type="text">FAQ: fix single-buffer patch</title>
<link rel="alternate" href="commit/9ba7ecf7b15ec2986c6142036706aa353b249ef9.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 9ba7ecf7b15ec2986c6142036706aa353b249ef9
parent a2a704492b9f4d2408d180f7aeeacf4c789a1d67
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Mon,  1 Jun 2020 14:09:46 +0200

FAQ: fix single-buffer patch

rebase against master

</content>
</entry>
<entry>
<id>a2a704492b9f4d2408d180f7aeeacf4c789a1d67</id>
<published>2020-05-30T19:56:18Z</published>
<updated>2020-05-30T20:06:15Z</updated>
<title type="text">config.def.h: add an option allowwindowops, by default off (secure)</title>
<link rel="alternate" href="commit/a2a704492b9f4d2408d180f7aeeacf4c789a1d67.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit a2a704492b9f4d2408d180f7aeeacf4c789a1d67
parent 0f8b40652bca0670f1f0bda069bbc55f8b5e364d
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 30 May 2020 21:56:18 +0200

config.def.h: add an option allowwindowops, by default off (secure)

Similar to the xterm AllowWindowOps option, this is an option to allow or
disallow certain (non-interactive) operations that can be insecure or
exploited.

NOTE: xsettitle() is not guarded by this because st does not support printing
the window title. Else this could be exploitable (arbitrary code execution).
Similar problems have been found in the past in other terminal emulators.

The sequence for base64-encoded clipboard copy is now guarded because it allows
a sequence written to the terminal to manipulate the clipboard of the running
user non-interactively, for example:

printf &#39;\x1b]52;0;ZWNobyBoaQ0=\a&#39;

</content>
</entry>
<entry>
<id>0f8b40652bca0670f1f0bda069bbc55f8b5e364d</id>
<published>2020-05-30T19:50:54Z</published>
<updated>2020-05-30T20:05:17Z</updated>
<title type="text">FAQ: add some details about the w3m img hack</title>
<link rel="alternate" href="commit/0f8b40652bca0670f1f0bda069bbc55f8b5e364d.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 0f8b40652bca0670f1f0bda069bbc55f8b5e364d
parent e6e2c6199f102f1459b53717050eee27832f4f87
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 30 May 2020 21:50:54 +0200

FAQ: add some details about the w3m img hack

.. and an example patch to switch from double-buffering to a single buffer.

</content>
</entry>
<entry>
<id>e6e2c6199f102f1459b53717050eee27832f4f87</id>
<published>2020-05-30T19:39:49Z</published>
<updated>2020-05-30T20:05:17Z</updated>
<title type="text">tiny style fix</title>
<link rel="alternate" href="commit/e6e2c6199f102f1459b53717050eee27832f4f87.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit e6e2c6199f102f1459b53717050eee27832f4f87
parent 94b8ec002101a5e8f52a342e53431eea71aa0631
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 30 May 2020 21:39:49 +0200

tiny style fix

</content>
</entry>
<entry>
<id>94b8ec002101a5e8f52a342e53431eea71aa0631</id>
<published>2020-05-30T19:34:57Z</published>
<updated>2020-05-30T20:04:28Z</updated>
<title type="text">Partially add back in &quot;support REP (repeat) escape sequence&quot;</title>
<link rel="alternate" href="commit/94b8ec002101a5e8f52a342e53431eea71aa0631.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 94b8ec002101a5e8f52a342e53431eea71aa0631
parent dec6b530a4fddf405c1822b2cac6e2036d3c8b75
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 30 May 2020 21:34:57 +0200

Partially add back in &quot;support REP (repeat) escape sequence&quot;

Add the functionality back in for xterm compatibility, but do not expose the
capability in st.info (yet).

Some notes:

It was reverted because it caused some issues with ncurses in some
configurations, namely when using BSD padding (--enable-bsdpad, BSD_TPUTS) in
ncurses it caused issues with repeating digits.

A fix has been upstreamed in ncurses since snapshot 20200523. The fix is also
backported to OpenBSD -current.

</content>
</entry>
<entry>
<id>2d76b78202b02072cc22d9b21e7eb643d747605d</id>
<published>2020-05-27T05:01:19Z</published>
<updated>2020-05-27T05:01:19Z</updated>
<title type="text">Add man entry on alternate color scheme</title>
<link rel="alternate" href="commit/2d76b78202b02072cc22d9b21e7eb643d747605d.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2d76b78202b02072cc22d9b21e7eb643d747605d
parent 00f1d46e401c9c65ba8bb239cbf01c815e0c5a87
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Wed, 27 May 2020 07:01:19 +0200

Add man entry on alternate color scheme

</content>
</entry>
<entry>
<id>00f1d46e401c9c65ba8bb239cbf01c815e0c5a87</id>
<published>2020-05-26T11:52:21Z</published>
<updated>2020-05-26T11:52:21Z</updated>
<title type="text">Switch colorscheme with Ctrl-Shift-x.  Remove st-{light,dark} config</title>
<link rel="alternate" href="commit/00f1d46e401c9c65ba8bb239cbf01c815e0c5a87.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 00f1d46e401c9c65ba8bb239cbf01c815e0c5a87
parent dcbe155f7a6f4084ba99123c121cce9011a63206
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Tue, 26 May 2020 13:52:21 +0200

Switch colorscheme with Ctrl-Shift-x.  Remove st-{light,dark} config

</content>
</entry>
<entry>
<id>dcbe155f7a6f4084ba99123c121cce9011a63206</id>
<published>2020-05-25T18:50:06Z</published>
<updated>2020-05-25T18:50:06Z</updated>
<title type="text">Use make.sh to build and install dark and light version</title>
<link rel="alternate" href="commit/dcbe155f7a6f4084ba99123c121cce9011a63206.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit dcbe155f7a6f4084ba99123c121cce9011a63206
parent 1a8563a518e6e3832938176b708224da68d4468b
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Mon, 25 May 2020 20:50:06 +0200

Use make.sh to build and install dark and light version

</content>
</entry>
<entry>
<id>dec6b530a4fddf405c1822b2cac6e2036d3c8b75</id>
<published>2020-05-21T02:24:55Z</published>
<updated>2020-05-24T11:45:42Z</updated>
<title type="text">Call xsetcursor to set win.cursor in main</title>
<link rel="alternate" href="commit/dec6b530a4fddf405c1822b2cac6e2036d3c8b75.gph" />
<author>
<name>Steve Ward</name>
<email>[email protected]</email>
</author>
<content type="text">commit dec6b530a4fddf405c1822b2cac6e2036d3c8b75
parent 475a0a36cb4fda1da30f014da65988e99b222876
Author: Steve Ward &lt;[email protected]&gt;
Date:   Wed, 20 May 2020 22:24:55 -0400

Call xsetcursor to set win.cursor in main

In xsetcursor, remove &quot;DEFAULT(cursor, 1)&quot; because 0 is a valid value.
Increase max allowed value of cursor from 6 to 7 (st extension).

</content>
</entry>
<entry>
<id>1a8563a518e6e3832938176b708224da68d4468b</id>
<published>2020-05-23T18:54:20Z</published>
<updated>2020-05-23T18:54:20Z</updated>
<title type="text">Enable OpenBSD make configuration</title>
<link rel="alternate" href="commit/1a8563a518e6e3832938176b708224da68d4468b.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 1a8563a518e6e3832938176b708224da68d4468b
parent 9aff8781c0bb19c8fcea83b4c456d235fc6e8866
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Sat, 23 May 2020 20:54:20 +0200

Enable OpenBSD make configuration

</content>
</entry>
<entry>
<id>9aff8781c0bb19c8fcea83b4c456d235fc6e8866</id>
<published>2020-05-23T17:44:35Z</published>
<updated>2020-05-23T17:44:35Z</updated>
<title type="text">Add own configuration</title>
<link rel="alternate" href="commit/9aff8781c0bb19c8fcea83b4c456d235fc6e8866.gph" />
<author>
<name>Anders Damsgaard</name>
<email>[email protected]</email>
</author>
<content type="text">commit 9aff8781c0bb19c8fcea83b4c456d235fc6e8866
parent 475a0a36cb4fda1da30f014da65988e99b222876
Author: Anders Damsgaard &lt;[email protected]&gt;
Date:   Sat, 23 May 2020 19:44:35 +0200

Add own configuration

</content>
</entry>
<entry>
<id>475a0a36cb4fda1da30f014da65988e99b222876</id>
<published>2020-05-16T16:06:42Z</published>
<updated>2020-05-16T19:06:13Z</updated>
<title type="text">Revert &quot;support REP (repeat) escape sequence&quot;</title>
<link rel="alternate" href="commit/475a0a36cb4fda1da30f014da65988e99b222876.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 475a0a36cb4fda1da30f014da65988e99b222876
parent e8392b282c2eaa28725241a9612804fb55113da4
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 16 May 2020 18:06:42 +0200

Revert &quot;support REP (repeat) escape sequence&quot;

This reverts commit e8392b282c2eaa28725241a9612804fb55113da4.

There is currently a bug in older ncurses versions (like on OpenBSD) where a
fix for a bug with REP is not backported yet. Most likely in tty/tty_update.c:

Noticed while using lynx (which uses ncurses/curses).
To reproduce using lynx: echo &quot;Z0000000&quot; | lynx -stdin

or using the program:

int
main(void)
{
       WINDOW *win;
       win = initscr();

       printw(&quot;Z0000000&quot;);

       refresh();

       sleep(5);

       return 0;
}

This prints &quot;ZZZZZZZ&quot; (incorrectly).

</content>
</entry>
<entry>
<id>e8392b282c2eaa28725241a9612804fb55113da4</id>
<published>2020-05-14T15:18:07Z</published>
<updated>2020-05-16T12:08:10Z</updated>
<title type="text">support REP (repeat) escape sequence</title>
<link rel="alternate" href="commit/e8392b282c2eaa28725241a9612804fb55113da4.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit e8392b282c2eaa28725241a9612804fb55113da4
parent f8afebdfa0cc9a57b22c39c47e9b585f69453eb7
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Thu, 14 May 2020 18:18:07 +0300

support REP (repeat) escape sequence

The sequence \e[Nb prints the last printed char N (more) times if it&#39;s
printable, and it&#39;s ignored after newline or other control chars.

This is Ecma-048/ANSI-X3.6 sequence and not DEC VT. It&#39;s supported by
xterm, and ncurses uses it when possible, e.g. when TERM is xterm* (and
with this commit also st*).

xterm supports only codepoints&lt;=255, possibly due to internal limits.
We support any value/codepoint which was placed in a cell.

To test:
- tput rep 65 4 -&gt; prints &#39;AAAA&#39;
- printf &quot;\342\225\246\033[4b&quot; -&gt; prints U+2566 1+4 times.

</content>
</entry>
<entry>
<id>f8afebdfa0cc9a57b22c39c47e9b585f69453eb7</id>
<published>2020-05-16T10:42:51Z</published>
<updated>2020-05-16T12:07:31Z</updated>
<title type="text">Add rin terminfo capability</title>
<link rel="alternate" href="commit/f8afebdfa0cc9a57b22c39c47e9b585f69453eb7.gph" />
<author>
<name>Roberto E. Vargas</name>
<email>[email protected]</email>
</author>
<content type="text">commit f8afebdfa0cc9a57b22c39c47e9b585f69453eb7
parent bda9c9ffa645ee5e4b2507474ebfa1c5efb889b2
Author: Roberto E. Vargas &lt;[email protected]&gt;
Date:   Sat, 16 May 2020 10:42:51 +0000

Add rin terminfo capability

Tianlin Qu discovered that st is missing rin (scroll back #1 lines).

</content>
</entry>
<entry>
<id>bda9c9ffa645ee5e4b2507474ebfa1c5efb889b2</id>
<published>2020-05-16T09:48:18Z</published>
<updated>2020-05-16T10:37:14Z</updated>
<title type="text">Make shift+wheel behaves as shift+Prev/Next</title>
<link rel="alternate" href="commit/bda9c9ffa645ee5e4b2507474ebfa1c5efb889b2.gph" />
<author>
<name>k0ga</name>
<email>[email protected]</email>
</author>
<content type="text">commit bda9c9ffa645ee5e4b2507474ebfa1c5efb889b2
parent 045a0fab4f80b57f4a982ae6bc5f33fe21d66111
Author: k0ga &lt;[email protected]&gt;
Date:   Sat, 16 May 2020 09:48:18 +0000

Make shift+wheel behaves as shift+Prev/Next

St uses a very good hack where mouse wheel genereates ^Y and ^E,
that are the same keys that less and vi uses for backward and
fordward scrolling. Scroll, as many terminal emulators, use
shift+Prev/Next for scrolling, but it is also using ^E and ^Y
for scroling, characters that are reserved in the POSIX shell
in emacs mode for end of line and yanking, making scroll unsable
in st.

This patch adds a new hack, making shift+wheel returning the
same sequences than shift+Prev/Next, meaning that scroll or
any other similar program will not be able to differentiate
between them.

</content>
</entry>
<entry>
<id>045a0fab4f80b57f4a982ae6bc5f33fe21d66111</id>
<published>2020-05-06T11:36:59Z</published>
<updated>2020-05-12T13:38:17Z</updated>
<title type="text">Fix selection: selscroll</title>
<link rel="alternate" href="commit/045a0fab4f80b57f4a982ae6bc5f33fe21d66111.gph" />
<author>
<name>Jakub Leszczak</name>
<email>[email protected]</email>
</author>
<content type="text">commit 045a0fab4f80b57f4a982ae6bc5f33fe21d66111
parent 9c30066e73f0105c3fccb7582c8172d5117857b3
Author: Jakub Leszczak &lt;[email protected]&gt;
Date:   Wed,  6 May 2020 13:36:59 +0200

Fix selection: selscroll

</content>
</entry>
<entry>
<id>9c30066e73f0105c3fccb7582c8172d5117857b3</id>
<published>2020-05-06T11:35:53Z</published>
<updated>2020-05-12T13:38:02Z</updated>
<title type="text">Fix selection: ignore ATTR_WRAP when rectangular selection in getsel</title>
<link rel="alternate" href="commit/9c30066e73f0105c3fccb7582c8172d5117857b3.gph" />
<author>
<name>Jakub Leszczak</name>
<email>[email protected]</email>
</author>
<content type="text">commit 9c30066e73f0105c3fccb7582c8172d5117857b3
parent 8304d4f0599b1be2226c28c553547070658d4af3
Author: Jakub Leszczak &lt;[email protected]&gt;
Date:   Wed,  6 May 2020 13:35:53 +0200

Fix selection: ignore ATTR_WRAP when rectangular selection in getsel

</content>
</entry>
<entry>
<id>8304d4f0599b1be2226c28c553547070658d4af3</id>
<published>2020-05-06T11:35:06Z</published>
<updated>2020-05-12T13:37:59Z</updated>
<title type="text">Fix selection: selclear in tputc</title>
<link rel="alternate" href="commit/8304d4f0599b1be2226c28c553547070658d4af3.gph" />
<author>
<name>Jakub Leszczak</name>
<email>[email protected]</email>
</author>
<content type="text">commit 8304d4f0599b1be2226c28c553547070658d4af3
parent 914fb825df3bde7abdd7947e54f8bf4d2b55e34e
Author: Jakub Leszczak &lt;[email protected]&gt;
Date:   Wed,  6 May 2020 13:35:06 +0200

Fix selection: selclear in tputc

</content>
</entry>
<entry>
<id>914fb825df3bde7abdd7947e54f8bf4d2b55e34e</id>
<published>2020-05-09T12:43:31Z</published>
<updated>2020-05-09T12:43:31Z</updated>
<title type="text">code-style: add fallthrough comment</title>
<link rel="alternate" href="commit/914fb825df3bde7abdd7947e54f8bf4d2b55e34e.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 914fb825df3bde7abdd7947e54f8bf4d2b55e34e
parent cde480c6939e62771ba3b60ef4eb848031aee9f9
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat,  9 May 2020 14:43:31 +0200

code-style: add fallthrough comment

Patch by Steve Ward, thanks.

</content>
</entry>
<entry>
<id>cde480c6939e62771ba3b60ef4eb848031aee9f9</id>
<published>2020-05-09T12:03:14Z</published>
<updated>2020-05-09T12:11:25Z</updated>
<title type="text">optimize column width calculation and utf-8 encode for ASCII</title>
<link rel="alternate" href="commit/cde480c6939e62771ba3b60ef4eb848031aee9f9.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit cde480c6939e62771ba3b60ef4eb848031aee9f9
parent 8211e36d281990a39db1853bcd454ac59e53d521
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat,  9 May 2020 14:03:14 +0200

optimize column width calculation and utf-8 encode for ASCII

In particular on OpenBSD and on glibc wcwidth() is quite expensive.
On musl there is little difference.

</content>
</entry>
<entry>
<id>8211e36d281990a39db1853bcd454ac59e53d521</id>
<published>2020-05-09T11:56:28Z</published>
<updated>2020-05-09T12:07:52Z</updated>
<title type="text">fix for incorrect (partial) written sequences when libc wcwidth() == -1</title>
<link rel="alternate" href="commit/8211e36d281990a39db1853bcd454ac59e53d521.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 8211e36d281990a39db1853bcd454ac59e53d521
parent 87545c612e8ab6e7cd1ef38e2355d0cb86df79f2
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat,  9 May 2020 13:56:28 +0200

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 = &quot;\357\277\275&quot;

but len isn&#39;t.

A way to reproduce in practise:

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

This was introduced in:

&quot;  commit 11625c7166b7e4dad414606227acec2de1c36464
       Author: [email protected] &lt;[email protected]&gt;
       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.&quot;

Change:

Remove setting the sequence. If this happens to break something, another
solution could be setting len = 3 for the sequence.

</content>
</entry>
<entry>
<id>87545c612e8ab6e7cd1ef38e2355d0cb86df79f2</id>
<published>2020-05-09T11:55:34Z</published>
<updated>2020-05-09T12:05:04Z</updated>
<title type="text">tiny code-style and typo-fix in comment</title>
<link rel="alternate" href="commit/87545c612e8ab6e7cd1ef38e2355d0cb86df79f2.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 87545c612e8ab6e7cd1ef38e2355d0cb86df79f2
parent 1d590910652519268152eae6b97cf30ace4e90c0
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat,  9 May 2020 13:55:34 +0200

tiny code-style and typo-fix in comment

</content>
</entry>
<entry>
<id>1d590910652519268152eae6b97cf30ace4e90c0</id>
<published>2019-02-26T20:37:49Z</published>
<updated>2020-05-09T11:53:50Z</updated>
<title type="text">auto-sync: draw on idle to avoid flicker/tearing</title>
<link rel="alternate" href="commit/1d590910652519268152eae6b97cf30ace4e90c0.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit 1d590910652519268152eae6b97cf30ace4e90c0
parent d6ea0a1a61853dd892029a7126e7fdb70c371878
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Tue, 26 Feb 2019 22:37:49 +0200

auto-sync: draw on idle to avoid flicker/tearing

st could easily tear/flicker with animation or other unattended
output. This commit eliminates most of the tear/flicker.

Before this commit, the display timing had two &quot;modes&quot;:

- Interactively, st was waiting fixed `1000/xfps` ms after forwarding
 the kb/mouse event to the application and before drawing.

- Unattended, and specifically with animations, the draw frequency was
 throttled to `actionfps`. Animation at a higher rate would throttle
 and likely tear, and at lower rates it was tearing big frames
 (specifically, when one `read` didn&#39;t get a full &quot;frame&quot;).

The interactive behavior was decent, but it was impossible to get good
unattended-draw behavior even with carefully chosen configuration.

This commit changes the behavior such that it draws on idle instead of
using fixed latency/frequency. This means that it tries to draw only
when it&#39;s very likely that the application has completed its output
(or after some duration without idle), so it mostly succeeds to avoid
tear, flicker, and partial drawing.

The config values minlatency/maxlatency replace xfps/actionfps and
define the range which the algorithm is allowed to wait from the
initial draw-trigger until the actual draw. The range enables the
flexibility to choose when to draw - when least likely to flicker.

It also unifies the interactive and unattended behavior and config
values, which makes the code simpler as well - without sacrificing
latency during interactive use, because typically interactively idle
arrives very quickly, so the wait is typically minlatency.

While it only slighly improves interactive behavior, for animations
and other unattended-drawing it improves greatly, as it effectively
adapts to any [animation] output rate without tearing, throttling,
redundant drawing, or unnecessary delays (sounds impossible, but it
works).

</content>
</entry>
<entry>
<id>d6ea0a1a61853dd892029a7126e7fdb70c371878</id>
<published>2020-04-29T22:10:02Z</published>
<updated>2020-04-29T23:21:21Z</updated>
<title type="text">replace exit(3) by _exit(2) in signal handler sigchld()</title>
<link rel="alternate" href="commit/d6ea0a1a61853dd892029a7126e7fdb70c371878.gph" />
<author>
<name>Jan Klemkow</name>
<email>[email protected]</email>
</author>
<content type="text">commit d6ea0a1a61853dd892029a7126e7fdb70c371878
parent 43a395ae91f7d67ce694e65edeaa7bbc720dd027
Author: Jan Klemkow &lt;[email protected]&gt;
Date:   Thu, 30 Apr 2020 00:10:02 +0200

replace exit(3) by _exit(2) in signal handler sigchld()

exit(3) is not async-signal-safe but, _exit(2) is.
This change prevents st to crash and dump core.

</content>
</entry>
<entry>
<id>43a395ae91f7d67ce694e65edeaa7bbc720dd027</id>
<published>2020-04-27T11:56:25Z</published>
<updated>2020-04-27T11:56:25Z</updated>
<title type="text">bump version to 0.8.3</title>
<link rel="alternate" href="commit/43a395ae91f7d67ce694e65edeaa7bbc720dd027.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 43a395ae91f7d67ce694e65edeaa7bbc720dd027
parent 72e3f6c7c05b4d5b56388508bb20a863aec279f5
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Mon, 27 Apr 2020 13:56:25 +0200

bump version to 0.8.3

</content>
</entry>
<entry>
<id>72e3f6c7c05b4d5b56388508bb20a863aec279f5</id>
<published>2020-04-19T17:38:39Z</published>
<updated>2020-04-19T17:39:48Z</updated>
<title type="text">Update XIM cursor position only if changed</title>
<link rel="alternate" href="commit/72e3f6c7c05b4d5b56388508bb20a863aec279f5.gph" />
<author>
<name>Ivan Tham</name>
<email>[email protected]</email>
</author>
<content type="text">commit 72e3f6c7c05b4d5b56388508bb20a863aec279f5
parent 33a9a456644ceb235ea6ce61282f3bdce7a8b547
Author: Ivan Tham &lt;[email protected]&gt;
Date:   Sun, 19 Apr 2020 19:38:39 +0200

Update XIM cursor position only if changed

Updating XIM cursor position is expensive, so only update it when cursor
position changed.

</content>
</entry>
<entry>
<id>33a9a456644ceb235ea6ce61282f3bdce7a8b547</id>
<published>2020-04-11T13:45:06Z</published>
<updated>2020-04-11T13:45:06Z</updated>
<title type="text">just remove the EOF message</title>
<link rel="alternate" href="commit/33a9a456644ceb235ea6ce61282f3bdce7a8b547.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 33a9a456644ceb235ea6ce61282f3bdce7a8b547
parent 771bc401f76b329f78a285ca65355d4b43415172
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 11 Apr 2020 15:45:06 +0200

just remove the EOF message

</content>
</entry>
<entry>
<id>771bc401f76b329f78a285ca65355d4b43415172</id>
<published>2020-04-11T12:46:17Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">Add st-mono terminfo entry</title>
<link rel="alternate" href="commit/771bc401f76b329f78a285ca65355d4b43415172.gph" />
<author>
<name>Roberto E. Vargas Caballero</name>
<email>[email protected]</email>
</author>
<content type="text">commit 771bc401f76b329f78a285ca65355d4b43415172
parent d66bd405c0d0f29beff89683a04a10297e962cb9
Author: Roberto E. Vargas Caballero &lt;[email protected]&gt;
Date:   Sat, 11 Apr 2020 14:46:17 +0200

Add st-mono terminfo entry

This entry is intended for monocolor display and it is very
helpful for color haters.

</content>
</entry>
<entry>
<id>d66bd405c0d0f29beff89683a04a10297e962cb9</id>
<published>2020-04-11T11:56:31Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">config.def.h: add a comment for the scroll variable</title>
<link rel="alternate" href="commit/d66bd405c0d0f29beff89683a04a10297e962cb9.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit d66bd405c0d0f29beff89683a04a10297e962cb9
parent e997303502ddd5c26cfc41af0ff5356bffc04359
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 11 Apr 2020 13:56:31 +0200

config.def.h: add a comment for the scroll variable

</content>
</entry>
<entry>
<id>e997303502ddd5c26cfc41af0ff5356bffc04359</id>
<published>2020-04-11T11:29:48Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">Fix small typos</title>
<link rel="alternate" href="commit/e997303502ddd5c26cfc41af0ff5356bffc04359.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit e997303502ddd5c26cfc41af0ff5356bffc04359
parent c1145268f6b6c6f03a8bec1c09d356d6a4eba77e
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sat, 11 Apr 2020 13:29:48 +0200

Fix small typos

</content>
</entry>
<entry>
<id>c1145268f6b6c6f03a8bec1c09d356d6a4eba77e</id>
<published>2020-04-11T10:09:20Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">Launch scroll program with the default shell</title>
<link rel="alternate" href="commit/c1145268f6b6c6f03a8bec1c09d356d6a4eba77e.gph" />
<author>
<name>Quentin Rameau</name>
<email>[email protected]</email>
</author>
<content type="text">commit c1145268f6b6c6f03a8bec1c09d356d6a4eba77e
parent 0b73612c0dc51dbec1717e5da94bc94559c37246
Author: Quentin Rameau &lt;[email protected]&gt;
Date:   Sat, 11 Apr 2020 12:09:20 +0200

Launch scroll program with the default shell

</content>
</entry>
<entry>
<id>0b73612c0dc51dbec1717e5da94bc94559c37246</id>
<published>2020-04-11T09:52:58Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">Update FAQ with the last modifications</title>
<link rel="alternate" href="commit/0b73612c0dc51dbec1717e5da94bc94559c37246.gph" />
<author>
<name>Roberto E. Vargas Caballero</name>
<email>[email protected]</email>
</author>
<content type="text">commit 0b73612c0dc51dbec1717e5da94bc94559c37246
parent 019449a7e64a881be8cc5d715fe9de32726ba190
Author: Roberto E. Vargas Caballero &lt;[email protected]&gt;
Date:   Sat, 11 Apr 2020 11:52:58 +0200

Update FAQ with the last modifications

</content>
</entry>
<entry>
<id>019449a7e64a881be8cc5d715fe9de32726ba190</id>
<published>2020-04-10T20:50:23Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">Add terminfo entries for backspace mode</title>
<link rel="alternate" href="commit/019449a7e64a881be8cc5d715fe9de32726ba190.gph" />
<author>
<name>Roberto E. Vargas Caballero</name>
<email>[email protected]</email>
</author>
<content type="text">commit 019449a7e64a881be8cc5d715fe9de32726ba190
parent fbae700a3f32db76106b0ff6f49a73ecf0c2b4fe
Author: Roberto E. Vargas Caballero &lt;[email protected]&gt;
Date:   Fri, 10 Apr 2020 22:50:23 +0200

Add terminfo entries for backspace mode

St used to use backspace as BS until the commit 230d0c8, but due
to general lack of knowledge of lusers, we moved to the most common
configuration in linux to avoid answering the same question 3 times
per month. With the most common configuration we have a backspace
that returns a DEL, and we have a Delete key that doesn&#39;t return a
DEL character neither a BS.

When dealing with devices connected using a serial line (or even
with Plan9) it is more common Backspace as BS and Delete as DEL. For
this reason, st is not always the best tool when you talk with a
serial device.

This patch adds new terminfo entries for Backspace as BS and Delete
as DEL. A patch for confg.h is also added, to make easier switch
between both configurations.

</content>
</entry>
<entry>
<id>fbae700a3f32db76106b0ff6f49a73ecf0c2b4fe</id>
<published>2020-04-10T20:26:12Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">Fix style issue</title>
<link rel="alternate" href="commit/fbae700a3f32db76106b0ff6f49a73ecf0c2b4fe.gph" />
<author>
<name>Roberto E. Vargas Caballero</name>
<email>[email protected]</email>
</author>
<content type="text">commit fbae700a3f32db76106b0ff6f49a73ecf0c2b4fe
parent e52319cc7d153e4f59b38c4fb4c0556e118d4775
Author: Roberto E. Vargas Caballero &lt;[email protected]&gt;
Date:   Fri, 10 Apr 2020 22:26:12 +0200

Fix style issue

</content>
</entry>
<entry>
<id>e52319cc7d153e4f59b38c4fb4c0556e118d4775</id>
<published>2020-04-10T20:25:46Z</published>
<updated>2020-04-11T13:23:23Z</updated>
<title type="text">ttyread: test for EOF while reading tty</title>
<link rel="alternate" href="commit/e52319cc7d153e4f59b38c4fb4c0556e118d4775.gph" />
<author>
<name>Roberto E. Vargas Caballero</name>
<email>[email protected]</email>
</author>
<content type="text">commit e52319cc7d153e4f59b38c4fb4c0556e118d4775
parent 21e0d6e8b8d20903494386e7e6f43201b3761154
Author: Roberto E. Vargas Caballero &lt;[email protected]&gt;
Date:   Fri, 10 Apr 2020 22:25:46 +0200

ttyread: test for EOF while reading tty

When a read operation returns 0 then it means that we arrived to the end of the
file, and new reads will return 0 unless you do some other operation such as
lseek(). This case happens with USB-232 adapters when they are unplugged.

</content>
</entry>
<entry>
<id>21e0d6e8b8d20903494386e7e6f43201b3761154</id>
<published>2020-04-10T20:06:32Z</published>
<updated>2020-04-11T13:23:20Z</updated>
<title type="text">Add support for scroll(1)</title>
<link rel="alternate" href="commit/21e0d6e8b8d20903494386e7e6f43201b3761154.gph" />
<author>
<name>Roberto E. Vargas Caballero</name>
<email>[email protected]</email>
</author>
<content type="text">commit 21e0d6e8b8d20903494386e7e6f43201b3761154
parent 5703aa0390484dd7da4bd9c388c85708d8fcd339
Author: Roberto E. Vargas Caballero &lt;[email protected]&gt;
Date:   Fri, 10 Apr 2020 22:06:32 +0200

Add support for scroll(1)

Scroll is a program that stores all the lines of its child and be used in st as
a way of implementing scrollback.

This solution is much better than implementing the scrollback in st itself
because having a different program allows to use it in any other program
without doing modifications to those programs.

</content>
</entry>
<entry>
<id>5703aa0390484dd7da4bd9c388c85708d8fcd339</id>
<published>2020-04-10T10:12:43Z</published>
<updated>2020-04-10T10:12:43Z</updated>
<title type="text">make argv0 not static, fixes a warning with tcc</title>
<link rel="alternate" href="commit/5703aa0390484dd7da4bd9c388c85708d8fcd339.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 5703aa0390484dd7da4bd9c388c85708d8fcd339
parent 28ad28839985e965c9ca06a9a202523414c84ac4
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri, 10 Apr 2020 12:12:43 +0200

make argv0 not static, fixes a warning with tcc

Reported by Aajonus, thanks!

</content>
</entry>
<entry>
<id>28ad28839985e965c9ca06a9a202523414c84ac4</id>
<published>2020-04-02T08:43:22Z</published>
<updated>2020-04-02T12:41:03Z</updated>
<title type="text">mouseshortcuts: fix custom modifier on release</title>
<link rel="alternate" href="commit/28ad28839985e965c9ca06a9a202523414c84ac4.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit 28ad28839985e965c9ca06a9a202523414c84ac4
parent 51e19ea11dd42eefed1ca136ee3f6be975f618b1
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Thu,  2 Apr 2020 11:43:22 +0300

mouseshortcuts: fix custom modifier on release

This line didn&#39;t work at mshortcuts at config.h:

 /*  mask       button   function  arg       release */
   { ShiftMask, Button2, selpaste, {.i = 0}, 1 },

and now it does work.

The issue was that XButtonEvent.state is &quot;the logical state ... just prior
to the event&quot;, which means that on release the state has the Button2Mask
bit set because button2 was down just before it was released.

The issue didn&#39;t manifest with the default shift + middle-click on release
(to override mouse mode) because its specified modifier is XK_ANY_MOD, at
which case match(...) ignores any specific bits and simply returns true.

The issue also doesn&#39;t manifest on press, because prior to the event
Button&lt;N&gt; was not down and its mask bit is not set.

Fix by filtering out the mask of the button which we&#39;re currently matching.

We could have said &quot;well, that&#39;s how button events behave, you should
use ShiftMask|Button2Mask for release&quot;, but this both not obvious to
figure out, and specifically here always filtering does not prevent
configuring any useful modifiers combination. So it&#39;s a win-win.

</content>
</entry>
<entry>
<id>51e19ea11dd42eefed1ca136ee3f6be975f618b1</id>
<published>2020-02-18T15:28:47Z</published>
<updated>2020-02-18T23:46:20Z</updated>
<title type="text">Remove explicit XNFocusWindow</title>
<link rel="alternate" href="commit/51e19ea11dd42eefed1ca136ee3f6be975f618b1.gph" />
<author>
<name>Ivan Tham</name>
<email>[email protected]</email>
</author>
<content type="text">commit 51e19ea11dd42eefed1ca136ee3f6be975f618b1
parent 26cdfebf31f024e331429e482b1ee342708888e3
Author: Ivan Tham &lt;[email protected]&gt;
Date:   Tue, 18 Feb 2020 23:28:47 +0800

Remove explicit XNFocusWindow

XCreateIC ICValues default XNFocusWindow to XNClientWindow if not
specified, it can be omitted since it is the same.

From the documentation
https://www.x.org/releases/current/doc/libX11/libX11/libX11.html

&gt; Focus Window
&gt;
&gt; The XNFocusWindow argument specifies the focus window. The primary
&gt; purpose of the XNFocusWindow is to identify the window that will receive
&gt; the key event when input is composed.
&gt;
&gt; When this XIC value is left unspecified, the input method will use the
&gt; client window as the default focus window.

</content>
</entry>
<entry>
<id>26cdfebf31f024e331429e482b1ee342708888e3</id>
<published>2020-02-02T20:47:19Z</published>
<updated>2020-02-02T21:56:51Z</updated>
<title type="text">x: fix XIM handling</title>
<link rel="alternate" href="commit/26cdfebf31f024e331429e482b1ee342708888e3.gph" />
<author>
<name>Quentin Rameau</name>
<email>[email protected]</email>
</author>
<content type="text">commit 26cdfebf31f024e331429e482b1ee342708888e3
parent cd785755f2e3e3305c7d2556a04423a40bce060a
Author: Quentin Rameau &lt;[email protected]&gt;
Date:   Sun,  2 Feb 2020 21:47:19 +0100

x: fix XIM handling

Do not try to set specific IM method, let the user specify it with
XMODIFIERS.

If the requested method is not available or opening fails, fallback to
the default input handler and register a handler on the new IM server
availability signal.

Do the same when the input server is closed and (re)started.

</content>
</entry>
<entry>
<id>cd785755f2e3e3305c7d2556a04423a40bce060a</id>
<published>2020-02-02T16:38:36Z</published>
<updated>2020-02-02T21:56:51Z</updated>
<title type="text">x: check we still have an XIC context before accessing it</title>
<link rel="alternate" href="commit/cd785755f2e3e3305c7d2556a04423a40bce060a.gph" />
<author>
<name>Quentin Rameau</name>
<email>[email protected]</email>
</author>
<content type="text">commit cd785755f2e3e3305c7d2556a04423a40bce060a
parent 2cb539142b97bd2a5c1a322fd7c063c6afb67c9b
Author: Quentin Rameau &lt;[email protected]&gt;
Date:   Sun,  2 Feb 2020 17:38:36 +0100

x: check we still have an XIC context before accessing it

</content>
</entry>
<entry>
<id>2cb539142b97bd2a5c1a322fd7c063c6afb67c9b</id>
<published>2020-02-02T14:38:08Z</published>
<updated>2020-02-02T21:56:51Z</updated>
<title type="text">x: do not instantiate a new nested list on each cursor move</title>
<link rel="alternate" href="commit/2cb539142b97bd2a5c1a322fd7c063c6afb67c9b.gph" />
<author>
<name>Quentin Rameau</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2cb539142b97bd2a5c1a322fd7c063c6afb67c9b
parent 99de33395126fc9708f442d155e737b9182f6ef4
Author: Quentin Rameau &lt;[email protected]&gt;
Date:   Sun,  2 Feb 2020 15:38:08 +0100

x: do not instantiate a new nested list on each cursor move

</content>
</entry>
<entry>
<id>99de33395126fc9708f442d155e737b9182f6ef4</id>
<published>2020-02-02T14:37:29Z</published>
<updated>2020-02-02T21:56:51Z</updated>
<title type="text">x: move IME variables into XWindow ime embedded struct</title>
<link rel="alternate" href="commit/99de33395126fc9708f442d155e737b9182f6ef4.gph" />
<author>
<name>Quentin Rameau</name>
<email>[email protected]</email>
</author>
<content type="text">commit 99de33395126fc9708f442d155e737b9182f6ef4
parent 895e5b50a8cc835c19a45e1e328eb4dc78f5fd0c
Author: Quentin Rameau &lt;[email protected]&gt;
Date:   Sun,  2 Feb 2020 15:37:29 +0100

x: move IME variables into XWindow ime embedded struct

</content>
</entry>
<entry>
<id>895e5b50a8cc835c19a45e1e328eb4dc78f5fd0c</id>
<published>2020-01-18T07:52:25Z</published>
<updated>2020-01-18T13:21:50Z</updated>
<title type="text">Increase XmbLookupString buffer</title>
<link rel="alternate" href="commit/895e5b50a8cc835c19a45e1e328eb4dc78f5fd0c.gph" />
<author>
<name>Ivan Tham</name>
<email>[email protected]</email>
</author>
<content type="text">commit 895e5b50a8cc835c19a45e1e328eb4dc78f5fd0c
parent 384830110bddcebed00b6530a5336f07ad7c405f
Author: Ivan Tham &lt;[email protected]&gt;
Date:   Sat, 18 Jan 2020 15:52:25 +0800

Increase XmbLookupString buffer

Current buffer is too short to input medium to long sentences from IME.
Input with longer text will show the wrong input, taking 64 instead of
32 bytes should be enough for most of the cases. Broken cases before,

Chinese (taken from song 也可以)
可不可以轻轻的松开自己

Japanese (taken from bootleggers rom quote)
あなたは家のように感じる

</content>
</entry>
<entry>
<id>384830110bddcebed00b6530a5336f07ad7c405f</id>
<published>2019-11-17T19:04:52Z</published>
<updated>2019-11-17T19:04:52Z</updated>
<title type="text">update FAQ</title>
<link rel="alternate" href="commit/384830110bddcebed00b6530a5336f07ad7c405f.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 384830110bddcebed00b6530a5336f07ad7c405f
parent 2e54a21b5ae249a6bcedab9db611ea86037a018b
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Sun, 17 Nov 2019 20:04:52 +0100

update FAQ

- add common question about the w3m image drawing hack.
- remove some bad advise about $TERM.
- change some links to https.

</content>
</entry>
<entry>
<id>2e54a21b5ae249a6bcedab9db611ea86037a018b</id>
<published>2019-10-16T09:55:53Z</published>
<updated>2019-11-10T21:45:54Z</updated>
<title type="text">OSC 52 - copy to clipboard: don&#39;t limit to 382 bytes</title>
<link rel="alternate" href="commit/2e54a21b5ae249a6bcedab9db611ea86037a018b.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2e54a21b5ae249a6bcedab9db611ea86037a018b
parent 289c52b7aa9b0e826bbea6f956755b3199b3ccac
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Wed, 16 Oct 2019 12:55:53 +0300

OSC 52 - copy to clipboard: don&#39;t limit to 382 bytes

Strings which an application sends to the terminal in OSC, DCS, etc
are typically small (title, colors, etc) but one exception is OSC 52
which copies text to the clipboard, and is used for instance by tmux.

Previously st cropped these strings at 512 bytes, which for OSC 52
limited the copied text to 382 bytes (remaining buffer space before
base64). This made it less useful than it can be.

Now it&#39;s a dynamic growing buffer. It remains allocated after use,
resets to 512 when a new string starts, or leaked on exit.

Resetting/deallocating the buffer right after use (at strhandle) is
possible with some more code, however, it doesn&#39;t always end up used,
and to cover those cases too will require even more code, so resetting
only on new string is good enough for now.

</content>
</entry>
<entry>
<id>289c52b7aa9b0e826bbea6f956755b3199b3ccac</id>
<published>2019-10-16T09:38:43Z</published>
<updated>2019-11-10T21:45:54Z</updated>
<title type="text">CSIEscape, STREscape: use size_t for buffer length</title>
<link rel="alternate" href="commit/289c52b7aa9b0e826bbea6f956755b3199b3ccac.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 289c52b7aa9b0e826bbea6f956755b3199b3ccac
parent 7ceb3d1f72eabfa678e5cfae176c57630ad98c43
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Wed, 16 Oct 2019 12:38:43 +0300

CSIEscape, STREscape: use size_t for buffer length

</content>
</entry>
<entry>
<id>7ceb3d1f72eabfa678e5cfae176c57630ad98c43</id>
<published>2019-10-16T09:19:49Z</published>
<updated>2019-11-10T21:45:54Z</updated>
<title type="text">STREscape: don&#39;t trim prematurely</title>
<link rel="alternate" href="commit/7ceb3d1f72eabfa678e5cfae176c57630ad98c43.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit 7ceb3d1f72eabfa678e5cfae176c57630ad98c43
parent ea4d933ed9d8ce16699c84892a29e070c70b2eb9
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Wed, 16 Oct 2019 12:19:49 +0300

STREscape: don&#39;t trim prematurely

STRescape holds strings in escape sequences such as OSC and DCS, and
its buffer is 512 bytes.

If the input is too big then trailing chars are ignored, but the test
was off-by-1 such that it took 510 chars instead of 511 (before a
terminating NULL is added).

Now the full size can be utilized.

</content>
</entry>
<entry>
<id>ea4d933ed9d8ce16699c84892a29e070c70b2eb9</id>
<published>2019-10-16T08:17:23Z</published>
<updated>2019-11-10T21:45:54Z</updated>
<title type="text">base64dec: don&#39;t read out of bounds</title>
<link rel="alternate" href="commit/ea4d933ed9d8ce16699c84892a29e070c70b2eb9.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit ea4d933ed9d8ce16699c84892a29e070c70b2eb9
parent 83866428de031300eab03fbb116bcf7d2b1d4f60
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Wed, 16 Oct 2019 11:17:23 +0300

base64dec: don&#39;t read out of bounds

Previously, base64dec checked terminating input &#39;\0&#39; every 4 calls to
base64dec_getc, where the latter progressed one or more chars on each
call, and could read past &#39;\0&#39; in the way it was used.

The input to base64dec currently comes only from OSC 52 escape seq
(copy to clipboard), and reading past &#39;\0&#39; or even past the buffer
boundary was easy to trigger.

Also, even if we could trust external input to be valid base64, there
are different base64 standards, and not all of them require padding
to 4 bytes blocks (using trailing &#39;=&#39; chars).

It didn&#39;t affect short OSC 52 strings because the buffer is initialized
to 0&#39;s, so typically it did stop within the buffer, but if the string
was trimmed to fit (the buffer is 512 bytes) then it did also read past
the end of the buffer, and the decoded suffix ended up arbitrary.

This patch makes base64dec_getc not progress past &#39;\0&#39;, and instead
produce fake trailing padding of &#39;=&#39;.

Additionally, at base64dec, if padding is detected at the first or
second byte of a quartet, then we identify it as invalid and abort
(a valid quartet has at least two leading non-padding bytes).

</content>
</entry>
<entry>
<id>83866428de031300eab03fbb116bcf7d2b1d4f60</id>
<published>2019-11-05T17:16:39Z</published>
<updated>2019-11-05T18:51:35Z</updated>
<title type="text">Fix tmux terminfo extensions Se and Ss</title>
<link rel="alternate" href="commit/83866428de031300eab03fbb116bcf7d2b1d4f60.gph" />
<author>
<name>Sebastian J. Bronner</name>
<email>[email protected]</email>
</author>
<content type="text">commit 83866428de031300eab03fbb116bcf7d2b1d4f60
parent 1f09f0b0bbba29ceed9b4e6d558b6ad5b0843cfe
Author: Sebastian J. Bronner &lt;[email protected]&gt;
Date:   Tue,  5 Nov 2019 18:16:39 +0100

Fix tmux terminfo extensions Se and Ss

The tmux terminfo extensions Ss and Se are currently specified as
booleans in `st.info`. They should be strings. See
https://github.com/tmux/tmux/blob/eeedb43ae847a0a692ceea965f7556e84bca4fd0/tty-term.c
lines 254 and 265.

I have used the values from
https://invisible-island.net/ncurses/terminfo.src.html#toc-_S_I_M_P_L_E_T_E_R_M
for this patch.

</content>
</entry>
<entry>
<id>1f09f0b0bbba29ceed9b4e6d558b6ad5b0843cfe</id>
<published>2019-05-31T20:25:35Z</published>
<updated>2019-10-26T09:47:24Z</updated>
<title type="text">apply hints before initial mapping (ICCCM)</title>
<link rel="alternate" href="commit/1f09f0b0bbba29ceed9b4e6d558b6ad5b0843cfe.gph" />
<author>
<name>Ingo Lohmar</name>
<email>[email protected]</email>
</author>
<content type="text">commit 1f09f0b0bbba29ceed9b4e6d558b6ad5b0843cfe
parent a2c479c4c8d035c11a91e4b954a9f161bf4c7150
Author: Ingo Lohmar &lt;[email protected]&gt;
Date:   Fri, 31 May 2019 22:25:35 +0200

apply hints before initial mapping (ICCCM)

For WM_CLASS this is mentioned in the ICCCM docs
https://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.5
(third sentence).

When changing the WM_CLASS from the command line, this is necessary for
window managers to pick it up before applying class-based rules.

</content>
</entry>
<entry>
<id>a2c479c4c8d035c11a91e4b954a9f161bf4c7150</id>
<published>2019-10-24T12:42:07Z</published>
<updated>2019-10-24T13:34:25Z</updated>
<title type="text">mouse shortcuts: allow using forcemousemod (e.g. shift)</title>
<link rel="alternate" href="commit/a2c479c4c8d035c11a91e4b954a9f161bf4c7150.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit a2c479c4c8d035c11a91e4b954a9f161bf4c7150
parent d2b75db8d7519a20af8bf09e9c205507f9ff828c
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Thu, 24 Oct 2019 15:42:07 +0300

mouse shortcuts: allow using forcemousemod (e.g. shift)

The recent mouse shurtcuts commits allow customization, but ignore
forcemousemod mask (default: shift) as a modifier, for no good reason
other than following the behavior of the KB shortcuts.

Allow using forcemousemod too, which now can be used to invoke
different shortcuts, though the automatic effect of forcemousemod will
be lost for buttons which use mask with forcemousemod.

E.g. the default is:

static uint forcemousemod = ShiftMask;
..
{ XK_ANY_MOD,           Button4, ttysend,        {.s = &quot;\031&quot;} },
..

where ttysend will be invoked for button4 with any mod when not in mouse
mode, and with shift when in mouse mode.

Now it&#39;s possible to do this:
{ ShiftMask,            Button4, ttysend,        {.s = &quot;foo&quot;} },
{ XK_ANY_MOD,           Button4, ttysend,        {.s = &quot;\031&quot;} },

Which will invoke ttysend(&quot;foo&quot;) while shift is held and ttysend(&quot;\031&quot;)
otherwise. Shift still overrides mouse mode, but will now send &quot;foo&quot;.

Previously with this setup the second binding was always invoked
because the forceousemod mask was always removed from the event.

Buttons which don&#39;t use forcemousemod behave the same as before.

This is useful e.g. for the scrollback mouse patch, which wants to
configure shift+wheel for scrollback, while keeping the normal behavior
without shift.

</content>
</entry>
<entry>
<id>d2b75db8d7519a20af8bf09e9c205507f9ff828c</id>
<published>2019-10-10T23:26:10Z</published>
<updated>2019-10-13T19:46:31Z</updated>
<title type="text">mouse shortcuts: don&#39;t hardcode selpaste</title>
<link rel="alternate" href="commit/d2b75db8d7519a20af8bf09e9c205507f9ff828c.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit d2b75db8d7519a20af8bf09e9c205507f9ff828c
parent b6d280de6df30167ce9cf30fadefc362e77729e7
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Fri, 11 Oct 2019 02:26:10 +0300

mouse shortcuts: don&#39;t hardcode selpaste

Because selpaste is activated on release, a release flag was added to
mouse shortcuts which controls whether activation is on press/release,
and selpaste binding to button2 was moved to config.h .

button1 remains the only hardcoded mouse button - for selection + copy.

</content>
</entry>
<entry>
<id>b6d280de6df30167ce9cf30fadefc362e77729e7</id>
<published>2019-10-10T20:42:30Z</published>
<updated>2019-10-13T19:46:31Z</updated>
<title type="text">mouse shortcuts: allow override for all shortcuts</title>
<link rel="alternate" href="commit/b6d280de6df30167ce9cf30fadefc362e77729e7.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit b6d280de6df30167ce9cf30fadefc362e77729e7
parent ba7f4d69af62d20e13fea78a408095e017410651
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Thu, 10 Oct 2019 23:42:30 +0300

mouse shortcuts: allow override for all shortcuts

Allow forceselmod to override all mouse shortcuts rather than only
selection, and rename it to forcemousemod as it&#39;s now more appropriate.

This will affect mouse shortcuts which use mask other than XK_ANY_MOD.

This does not affect the default behavior because the default mouse
shortcuts (wheel) use XK_ANY_MOD, where forceselmod already activated
the override also before this change.

Previously, if a mouse shortcut was configured with a specific mod and
forceselmod was held, then the shortcut did not execute unless the
configured mod included forceselmod.

</content>
</entry>
<entry>
<id>ba7f4d69af62d20e13fea78a408095e017410651</id>
<published>2019-10-10T20:02:26Z</published>
<updated>2019-10-13T19:46:31Z</updated>
<title type="text">mouse shortcuts: allow same functions as kb shortcuts</title>
<link rel="alternate" href="commit/ba7f4d69af62d20e13fea78a408095e017410651.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit ba7f4d69af62d20e13fea78a408095e017410651
parent 2b8333f553c14c15398e810353e192eb05938580
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Thu, 10 Oct 2019 23:02:26 +0300

mouse shortcuts: allow same functions as kb shortcuts

Previously mouse shortcuts supported only ttywrite.

This required adding an &quot;Arg&quot; function ttysend - which does what the
original mouse shortcuts did.

</content>
</entry>
<entry>
<id>2b8333f553c14c15398e810353e192eb05938580</id>
<published>2019-08-26T15:58:47Z</published>
<updated>2019-08-26T15:58:47Z</updated>
<title type="text">config.def.h: remove crlf value section</title>
<link rel="alternate" href="commit/2b8333f553c14c15398e810353e192eb05938580.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 2b8333f553c14c15398e810353e192eb05938580
parent caa1d8fbea2b92bca24652af0fee874bdbbbb3e5
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Mon, 26 Aug 2019 17:58:47 +0200

config.def.h: remove crlf value section

this is not used anymore.

patch sent as an ed script using RFC2549 by k0ga.

</content>
</entry>
<entry>
<id>caa1d8fbea2b92bca24652af0fee874bdbbbb3e5</id>
<published>2019-05-17T11:00:10Z</published>
<updated>2019-05-17T11:00:10Z</updated>
<title type="text">FAQ: add entry about color emoji Xft bug</title>
<link rel="alternate" href="commit/caa1d8fbea2b92bca24652af0fee874bdbbbb3e5.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit caa1d8fbea2b92bca24652af0fee874bdbbbb3e5
parent f1546cf9c1f9fc52d26dbbcf73210901e83c7ecf
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri, 17 May 2019 13:00:10 +0200

FAQ: add entry about color emoji Xft bug

This has been asked many times on IRC and the mailinglist. Make it easier to
find information about this particular Xft issue by adding it to the FAQ.

</content>
</entry>
<entry>
<id>f1546cf9c1f9fc52d26dbbcf73210901e83c7ecf</id>
<published>2019-04-09T22:54:43Z</published>
<updated>2019-04-14T11:50:20Z</updated>
<title type="text">selection: fix view to match actual selection on first cell</title>
<link rel="alternate" href="commit/f1546cf9c1f9fc52d26dbbcf73210901e83c7ecf.gph" />
<author>
<name>Avi Halachmi (:avih)</name>
<email>[email protected]</email>
</author>
<content type="text">commit f1546cf9c1f9fc52d26dbbcf73210901e83c7ecf
parent 21367a040f056f6a207fafa066bd1cb2d9cae586
Author: Avi Halachmi (:avih) &lt;[email protected]&gt;
Date:   Wed, 10 Apr 2019 01:54:43 +0300

selection: fix view to match actual selection on first cell

</content>
</entry>
<entry>
<id>21367a040f056f6a207fafa066bd1cb2d9cae586</id>
<published>2019-03-15T19:40:16Z</published>
<updated>2019-03-15T19:40:16Z</updated>
<title type="text">revert part of commit add0211522737b79dad990ccd65c8af63b5cc1dd</title>
<link rel="alternate" href="commit/21367a040f056f6a207fafa066bd1cb2d9cae586.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 21367a040f056f6a207fafa066bd1cb2d9cae586
parent b650256044f867851725f712fdac58d4ff294808
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri, 15 Mar 2019 20:40:16 +0100

revert part of commit add0211522737b79dad990ccd65c8af63b5cc1dd

&quot;use iswspace()/iswpunct() to find word delimiters

   this inverts the configuration logic: you no longer provide a list of
   delimiters -- all space and punctuation characters are considered
   delimiters, unless listed in extrawordchars.&quot;

Feedback from IRC and personal preference.

</content>
</entry>
<entry>
<id>b650256044f867851725f712fdac58d4ff294808</id>
<published>2019-03-15T13:44:28Z</published>
<updated>2019-03-15T13:47:08Z</updated>
<title type="text">dont print color warning on color reset OSC 104 without parameter</title>
<link rel="alternate" href="commit/b650256044f867851725f712fdac58d4ff294808.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit b650256044f867851725f712fdac58d4ff294808
parent 9acec468fbeaa9f90578352b610431ca9b2d4ee4
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri, 15 Mar 2019 14:44:28 +0100

dont print color warning on color reset OSC 104 without parameter

also print explicitly &quot;(null)&quot; when printf &quot;%s&quot; p=NULL.

noticed when exiting mutt: printf &#39;\x1b]104\x07&#39;

</content>
</entry>
<entry>
<id>9acec468fbeaa9f90578352b610431ca9b2d4ee4</id>
<published>2019-03-15T13:42:50Z</published>
<updated>2019-03-15T13:42:50Z</updated>
<title type="text">minor code-style, initialize var at the top of function</title>
<link rel="alternate" href="commit/9acec468fbeaa9f90578352b610431ca9b2d4ee4.gph" />
<author>
<name>Hiltjo Posthuma</name>
<email>[email protected]</email>
</author>
<content type="text">commit 9acec468fbeaa9f90578352b610431ca9b2d4ee4
parent 927621f6da015f51710c03279b00c6cc38057e32
Author: Hiltjo Posthuma &lt;[email protected]&gt;
Date:   Fri, 15 Mar 2019 14:42:50 +0100

minor code-style, initialize var at the top of function

</content>
</entry>
</feed>