From 60b17c473a0edbd806c9f0c8e4b3b238cb60227e Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sun, 17 Mar 2019 17:39:22 -0400 Subject: Wrap Terminal in TermHost --- commands/term-close.go | 12 +++--------- commands/term.go | 13 +++---------- 2 files changed, 6 insertions(+), 19 deletions(-) (limited to 'commands') diff --git a/commands/term-close.go b/commands/term-close.go index 38fcc27..30f3392 100644 --- a/commands/term-close.go +++ b/commands/term-close.go @@ -3,7 +3,6 @@ package commands import ( "errors" - "git.sr.ht/~sircmpwn/aerc2/lib/ui" "git.sr.ht/~sircmpwn/aerc2/widgets" ) @@ -15,15 +14,10 @@ func TermClose(aerc *widgets.Aerc, args []string) error { if len(args) != 1 { return errors.New("Usage: term-close") } - grid, ok := aerc.SelectedTab().(*ui.Grid) + thost, ok := aerc.SelectedTab().(*widgets.TermHost) if !ok { return errors.New("Error: not a terminal") } - for _, child := range grid.Children() { - if term, ok := child.(*widgets.Terminal); ok { - term.Close(nil) - return nil - } - } - return errors.New("Error: not a terminal") + thost.Terminal().Close(nil) + return nil } diff --git a/commands/term.go b/commands/term.go index 976ce29..1981e62 100644 --- a/commands/term.go +++ b/commands/term.go @@ -4,7 +4,6 @@ import ( "os/exec" "time" - "git.sr.ht/~sircmpwn/aerc2/lib/ui" "git.sr.ht/~sircmpwn/aerc2/widgets" "github.com/gdamore/tcell" @@ -27,14 +26,8 @@ func Term(aerc *widgets.Aerc, args []string) error { if err != nil { return err } - grid := ui.NewGrid().Rows([]ui.GridSpec{ - {ui.SIZE_WEIGHT, 1}, - }).Columns([]ui.GridSpec{ - {ui.SIZE_EXACT, aerc.Config().Ui.SidebarWidth}, - {ui.SIZE_WEIGHT, 1}, - }) - grid.AddChild(term).At(0, 1) - tab := aerc.NewTab(grid, args[1]) + host := widgets.NewTermHost(term, aerc.Config()) + tab := aerc.NewTab(host, args[1]) term.OnTitle = func(title string) { if title == "" { title = args[1] @@ -43,7 +36,7 @@ func Term(aerc *widgets.Aerc, args []string) error { tab.Content.Invalidate() } term.OnClose = func(err error) { - aerc.RemoveTab(grid) + aerc.RemoveTab(host) if err != nil { aerc.PushStatus(" "+err.Error(), 10*time.Second). Color(tcell.ColorRed, tcell.ColorWhite) -- cgit v1.2.3