about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorGuillaume J. Charmes <git+guillaume@charmes.net>2020-05-06 10:25:11 -0400
committerDrew DeVault <sir@cmpwn.com>2020-05-06 10:26:15 -0400
commitdc281e46d2aceaab6a7b7a290f9af89fef46159d (patch)
tree1e7979a420001163ca111fc3286f65af73e98713
parent38a6d187b910a14ac2f74454d845fcfb24689e41 (diff)
downloadaerc-dc281e46d2aceaab6a7b7a290f9af89fef46159d.tar.gz
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 <git+guillaume@charmes.net>
-rw-r--r--go.mod2
-rw-r--r--go.sum2
-rw-r--r--widgets/terminal.go3
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)