From dc281e46d2aceaab6a7b7a290f9af89fef46159d Mon Sep 17 00:00:00 2001 From: "Guillaume J. Charmes" Date: Wed, 6 May 2020 10:25:11 -0400 Subject: Use stdout as controlling terminal Soves an issue with go1.15 not letting ctty be a parent. See https://github.com/creack/pty/pull/97 for more details. Signed-off-by: Guillaume J. Charmes --- go.mod | 2 +- go.sum | 2 ++ widgets/terminal.go | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index b770905..c433c8f 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.13 require ( git.sr.ht/~sircmpwn/getopt v0.0.0-20190808004552-daaf1274538b - github.com/creack/pty v1.1.9 + github.com/creack/pty v1.1.10-0.20200505162710-943a9a2171fd github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 github.com/ddevault/go-libvterm v0.0.0-20190526194226-b7d861da3810 github.com/emersion/go-imap v1.0.4 diff --git a/go.sum b/go.sum index 4c2c6fc..00d3325 100644 --- a/go.sum +++ b/go.sum @@ -8,6 +8,8 @@ github.com/ProtonMail/crypto v0.0.0-20200420072808-71bec3603bf3 h1:JW27/kGLQzeM1 github.com/ProtonMail/crypto v0.0.0-20200420072808-71bec3603bf3/go.mod h1:Pxr7w4gA2ikI4sWyYwEffm+oew1WAJHzG1SiDpQMkrI= github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.10-0.20200505162710-943a9a2171fd h1:+9Ri1/EpsFbE2LIYRRYOHtYPs2Y0pgCOKgVywFyUi48= +github.com/creack/pty v1.1.10-0.20200505162710-943a9a2171fd/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ= github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/widgets/terminal.go b/widgets/terminal.go index 8fc38ce..77da71e 100644 --- a/widgets/terminal.go +++ b/widgets/terminal.go @@ -4,6 +4,7 @@ import ( "os" "os/exec" "sync" + "syscall" "git.sr.ht/~sircmpwn/aerc/lib/ui" @@ -237,7 +238,7 @@ func (term *Terminal) Draw(ctx *ui.Context) { if term.pty == nil { term.vterm.SetSize(ctx.Height(), ctx.Width()) - tty, err := pty.StartWithSize(term.cmd, &winsize) + tty, err := pty.StartWithAttrs(term.cmd, &winsize, &syscall.SysProcAttr{Setsid: true, Setctty: true, Ctty: 1}) term.pty = tty if err != nil { term.Close(err) -- cgit 1.4.1-2-gfad0