aerc/widgets
Tim Culverhouse a49caf96b5 terminal: use Invalidate and QueueRedraw
The terminal widget uses it's own redraw logic to improve performance.
With the addition of a main event loop, the redraw logic can happen in
the main loop via the standard Invalidate logic.

Use the Invalidate method to mark aerc invalid, and immediately trigger
a redraw with ui.QueueRedraw. The follow up call to QueueRedraw is
needed because the terminal update happens in a separate goroutine. This
can result in the main event loop finishing it's process of the current
event, redrawing the screen, and the terminal having additional updates
to be drawn.

This fixes race conditions by drawing and calling screen.Show in a
separate goroutine.

Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
2022-10-07 10:51:53 +02:00
..
account-wizard.go wizard: add plaintext password warning 2022-08-22 09:30:37 +02:00
account.go aerc: use single event loop 2022-10-07 10:51:53 +02:00
aerc.go aerc: use single event loop 2022-10-07 10:51:53 +02:00
authinfo.go lint: homogenize operations and minor fixes (gocritic) 2022-08-04 21:58:01 +02:00
compose.go compose: avoid double lock in MouseEvent 2022-10-05 21:14:18 +02:00
dialog.go widgets: add dialog interface 2022-08-22 09:30:37 +02:00
dirlist.go dirlist: prevent race condition on accessing uiconfig 2022-09-29 21:21:00 +02:00
dirtree.go dirtree: fix build errors 2022-08-22 09:57:23 +02:00
exline.go exline: don't draw completions for keybinds 2022-09-29 16:42:10 +02:00
getpasswd.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
headerlayout.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
listbox.go widgets: add list box with filter/scrollbar 2022-08-22 09:30:37 +02:00
msglist.go viewer: option to not mark message as seen 2022-10-04 09:43:58 +02:00
msgviewer.go logging: substitute %w for %v 2022-10-02 18:56:26 +02:00
pgpinfo.go lint: remove ineffectual assignments (ineffassign) 2022-08-04 21:57:50 +02:00
providesmessage.go msgviewer: open http links from messages 2022-06-14 22:12:48 +02:00
scrollable.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
selector.go lint: homogenize operations and minor fixes (gocritic) 2022-08-04 21:58:01 +02:00
spinner.go aerc: use single event loop 2022-10-07 10:51:53 +02:00
status.go uiconfig: use pointer references to uiConfig 2022-07-03 21:32:18 +02:00
tabhost.go Implement style configuration. 2020-08-06 21:42:06 +02:00
terminal.go terminal: use Invalidate and QueueRedraw 2022-10-07 10:51:53 +02:00