<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aerc/lib/ui, branch 0.1.0</title>
<subtitle>Mirror of https://git.sr.ht/~sircmpwn/aerc
</subtitle>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/'/>
<entry>
<title>Fix #116</title>
<updated>2019-06-03T11:56:08+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-06-03T11:56:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=207ecc39cd9b1e85f482be23240fc5a90d775fd7'/>
<id>207ecc39cd9b1e85f482be23240fc5a90d775fd7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Tabs history</title>
<updated>2019-06-02T18:22:04+00:00</updated>
<author>
<name>Reto Brunner</name>
<email>reto@labrat.space</email>
</author>
<published>2019-06-02T18:13:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=92b10fcef561074208b725e79c71c9a60e52b6b6'/>
<id>92b10fcef561074208b725e79c71c9a60e52b6b6</id>
<content type='text'>
Fixes #77: When closing a tab, bring you back to the one you last had focused
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #77: When closing a tab, bring you back to the one you last had focused
</pre>
</div>
</content>
</entry>
<entry>
<title>ensureScroll on text input frames</title>
<updated>2019-05-25T19:54:01+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-05-25T19:54:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=1b11a96302bd40244d43c374b433ce11f5d0321d'/>
<id>1b11a96302bd40244d43c374b433ce11f5d0321d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement scrolling in text input</title>
<updated>2019-05-25T19:52:37+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-05-25T19:52:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=9947ea125cdaed1de336ba939d63d8ecd7b313ea'/>
<id>9947ea125cdaed1de336ba939d63d8ecd7b313ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Show account wizard if no accounts configured</title>
<updated>2019-05-22T15:35:55+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-05-22T15:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=9b19e3ad054132fdab4062915f70122faaa5c163'/>
<id>9b19e3ad054132fdab4062915f70122faaa5c163</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>New account wizard, part one</title>
<updated>2019-05-21T20:53:50+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-05-21T20:31:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=6811143925384ba1cfda8b3e1b338b0cfb9ac6e3'/>
<id>6811143925384ba1cfda8b3e1b338b0cfb9ac6e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>lib/ui/ui: use atomic instead of channel</title>
<updated>2019-05-19T15:51:18+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2019-05-19T09:50:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=7c6325977b55385bc65f0a08f4da8ed6dfede52a'/>
<id>7c6325977b55385bc65f0a08f4da8ed6dfede52a</id>
<content type='text'>
This makes it so an atomic `invalid` value is used instead of an unbuffered
channel. When many invalidations kick in, a lot of values were sent to the
channel.

(Since OnInvalidate's callback can be run in any goroutine, we need to be
careful about races here.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes it so an atomic `invalid` value is used instead of an unbuffered
channel. When many invalidations kick in, a lot of values were sent to the
channel.

(Since OnInvalidate's callback can be run in any goroutine, we need to be
careful about races here.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Update internal state and draw from the same goroutine</title>
<updated>2019-05-19T15:51:16+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2019-05-19T09:49:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=a15ea01cfb0a303355b2e6bb31e85ece0d048ac2'/>
<id>a15ea01cfb0a303355b2e6bb31e85ece0d048ac2</id>
<content type='text'>
This commit introduces a new Aerc.Tick function that should be called to
refresh the internal state. This in turn makes each AccountView process worker
events.

The UI goroutine repeatedly refreshes the internal state before drawing a new
frame. The reason for this is that many worker messages may need to be
processed for a single frame, and drawing the UI is far slower than refreshing
the internal state. This has been confirmed in my testing (calling Aerc.Tick
only once per frame results in a slower display).

Many synchronization code has been removed. We can now write widgets without
having to care so much about races. The remaining sync users are:

- widgets/spinner: the spinner value is updated from inside an internal
  goroutine
- lib/ui/invalidatable: Invalidate may be called from any goroutine
- lib/ui/grid: same
- lib/ui/ui: an internal goroutine needs read access to UI.exit
- worker/types/worker: Worker.callbacks is used for both worker and UI
  callbacks

The exact goroutine requirements for Drawable have been documented.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit introduces a new Aerc.Tick function that should be called to
refresh the internal state. This in turn makes each AccountView process worker
events.

The UI goroutine repeatedly refreshes the internal state before drawing a new
frame. The reason for this is that many worker messages may need to be
processed for a single frame, and drawing the UI is far slower than refreshing
the internal state. This has been confirmed in my testing (calling Aerc.Tick
only once per frame results in a slower display).

Many synchronization code has been removed. We can now write widgets without
having to care so much about races. The remaining sync users are:

- widgets/spinner: the spinner value is updated from inside an internal
  goroutine
- lib/ui/invalidatable: Invalidate may be called from any goroutine
- lib/ui/grid: same
- lib/ui/ui: an internal goroutine needs read access to UI.exit
- worker/types/worker: Worker.callbacks is used for both worker and UI
  callbacks

The exact goroutine requirements for Drawable have been documented.
</pre>
</div>
</content>
</entry>
<entry>
<title>s/aerc2/aerc/g</title>
<updated>2019-05-18T00:57:10+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-05-18T00:57:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=98da4c9509d03f8ffe48b9c66b9c3ce8a0f2f942'/>
<id>98da4c9509d03f8ffe48b9c66b9c3ce8a0f2f942</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Let caller pass in custom headers to compose</title>
<updated>2019-05-16T14:49:50+00:00</updated>
<author>
<name>Drew DeVault</name>
<email>sir@cmpwn.com</email>
</author>
<published>2019-05-16T14:49:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benburwell.com/mirrors/aerc/commit/?id=2b3e123cb86f9b4c5853e31d9e76c2b0d083f90a'/>
<id>2b3e123cb86f9b4c5853e31d9e76c2b0d083f90a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
