<feed xmlns='http://www.w3.org/2005/Atom'>
<title>st.git/x.c, branch master</title>
<subtitle>Fork of st (https://git.suckless.org/st/)
</subtitle>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/'/>
<entry>
<title>Merge branch 'master' of https://git.suckless.org/st</title>
<updated>2021-02-09T10:56:41+00:00</updated>
<author>
<name>Charles Cabergs</name>
<email>me@cacharle.xyz</email>
</author>
<published>2021-02-09T10:56:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=9ee3e2b4faedcd9213d58901a157af86acef5bae'/>
<id>9ee3e2b4faedcd9213d58901a157af86acef5bae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ST: Add WM_ICON_NAME property support</title>
<updated>2020-10-18T09:17:11+00:00</updated>
<author>
<name>John Collis</name>
<email>john.collis@alliedtelesis.co.nz</email>
</author>
<published>2020-09-06T05:53:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=28b4c822c5c0acec300fdf15c6e3ede9f5e2335d'/>
<id>28b4c822c5c0acec300fdf15c6e3ede9f5e2335d</id>
<content type='text'>
Also added _NET_WM_ICON_NAME.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also added _NET_WM_ICON_NAME.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added font2 patch</title>
<updated>2020-08-13T20:41:43+00:00</updated>
<author>
<name>Charles Cabergs</name>
<email>me@cacharle.xyz</email>
</author>
<published>2020-08-13T20:41:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=7dfdb7e4506be3486cf8cbaf827188ca6560071f'/>
<id>7dfdb7e4506be3486cf8cbaf827188ca6560071f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'suckless/master'</title>
<updated>2020-08-04T20:11:23+00:00</updated>
<author>
<name>Charles Cabergs</name>
<email>me@cacharle.xyz</email>
</author>
<published>2020-08-04T20:09:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=52fe157384f9a493b7f96f9e1374a56cc7369280'/>
<id>52fe157384f9a493b7f96f9e1374a56cc7369280</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Call xsetcursor to set win.cursor in main</title>
<updated>2020-05-24T11:45:42+00:00</updated>
<author>
<name>Steve Ward</name>
<email>planet36@gmail.com</email>
</author>
<published>2020-05-21T02:24:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=dec6b530a4fddf405c1822b2cac6e2036d3c8b75'/>
<id>dec6b530a4fddf405c1822b2cac6e2036d3c8b75</id>
<content type='text'>
In xsetcursor, remove "DEFAULT(cursor, 1)" because 0 is a valid value.
Increase max allowed value of cursor from 6 to 7 (st extension).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In xsetcursor, remove "DEFAULT(cursor, 1)" because 0 is a valid value.
Increase max allowed value of cursor from 6 to 7 (st extension).
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated to 0.8.3 with previous config + mouse scrollback</title>
<updated>2020-05-16T09:17:59+00:00</updated>
<author>
<name>Charles</name>
<email>sircharlesaze@gmail.com</email>
</author>
<published>2020-05-16T09:17:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=123bae234ea05efa8221cfb412572b618719e070'/>
<id>123bae234ea05efa8221cfb412572b618719e070</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>code-style: add fallthrough comment</title>
<updated>2020-05-09T12:43:31+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2020-05-09T12:43:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=914fb825df3bde7abdd7947e54f8bf4d2b55e34e'/>
<id>914fb825df3bde7abdd7947e54f8bf4d2b55e34e</id>
<content type='text'>
Patch by Steve Ward, thanks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Patch by Steve Ward, thanks.
</pre>
</div>
</content>
</entry>
<entry>
<title>tiny code-style and typo-fix in comment</title>
<updated>2020-05-09T12:05:04+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2020-05-09T11:55:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=87545c612e8ab6e7cd1ef38e2355d0cb86df79f2'/>
<id>87545c612e8ab6e7cd1ef38e2355d0cb86df79f2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>auto-sync: draw on idle to avoid flicker/tearing</title>
<updated>2020-05-09T11:53:50+00:00</updated>
<author>
<name>Avi Halachmi (:avih)</name>
<email>avihpit@yahoo.com</email>
</author>
<published>2019-02-26T20:37:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=1d590910652519268152eae6b97cf30ace4e90c0'/>
<id>1d590910652519268152eae6b97cf30ace4e90c0</id>
<content type='text'>
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 "modes":

- 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't get a full "frame").

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'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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 "modes":

- 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't get a full "frame").

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'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).
</pre>
</div>
</content>
</entry>
<entry>
<title>make argv0 not static, fixes a warning with tcc</title>
<updated>2020-04-10T10:12:43+00:00</updated>
<author>
<name>Hiltjo Posthuma</name>
<email>hiltjo@codemadness.org</email>
</author>
<published>2020-04-10T10:12:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cacharle.com/st.git/commit/?id=5703aa0390484dd7da4bd9c388c85708d8fcd339'/>
<id>5703aa0390484dd7da4bd9c388c85708d8fcd339</id>
<content type='text'>
Reported by Aajonus, thanks!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reported by Aajonus, thanks!
</pre>
</div>
</content>
</entry>
</feed>
