term: replace go-libvterm with tcell-term

Replace go-libvterm package with tcell-term. go-libvterm provides the
embedded terminal for aerc. It uses a statically linked C library,
requiring CGO.

tcell-term is written in pure go and is written to be portable with
tcell applications by implementing the tcell Widget interface. This
allows the terminal to take a view (which aerc already supplies) and
draw directly to it, as well as issue tcell Events to a Watcher.

Enable setting cursor shapes in embedded terminals.

Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Signed-off-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
Tim Culverhouse 2022-09-14 14:09:41 -05:00 committed by Robin Jarry
parent 17c4781911
commit 518f3e962c
5 changed files with 84 additions and 383 deletions

View file

@ -758,6 +758,10 @@ func (pv *PartViewer) copyFilterOutToPager() {
logging.Warnf("failed to wait for the filter process: %v", err)
}
pv.pagerin.Close()
// If the pager command doesn't keep the terminal running, we
// risk not drawing the screen until user input unless we
// invalidate after writing
pv.Invalidate()
}()
}