From 97a725fbd0e54cbc07e4d72661ea2bd2bb7c01c1 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Mon, 18 May 2020 02:33:37 +0900 Subject: [PATCH] Do not disable mouse after execute(-silent) when --height option is used The action takes place in the alternate screen so the offsets should still be correct. --- src/terminal.go | 6 +++--- src/tui/dummy.go | 12 ++++++------ src/tui/light.go | 10 +++++----- src/tui/tcell.go | 2 +- src/tui/tui.go | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/terminal.go b/src/terminal.go index cb8f13c9..7bc79398 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -1422,13 +1422,13 @@ func (t *Terminal) executeCommand(template string, forcePlus bool, background bo cmd.Stderr = os.Stderr t.tui.Pause(true) cmd.Run() - t.tui.Resume(true) + t.tui.Resume(true, false) t.redraw() t.refresh() } else { t.tui.Pause(false) cmd.Run() - t.tui.Resume(false) + t.tui.Resume(false, false) } cleanTemporaryFiles() } @@ -1701,7 +1701,7 @@ func (t *Terminal) Loop() { case reqRefresh: t.suppress = false case reqReinit: - t.tui.Resume(t.fullscreen) + t.tui.Resume(t.fullscreen, true) t.redraw() case reqRedraw: t.redraw() diff --git a/src/tui/dummy.go b/src/tui/dummy.go index 76a16e55..8fce77e5 100644 --- a/src/tui/dummy.go +++ b/src/tui/dummy.go @@ -25,12 +25,12 @@ const ( Reverse = Attr(1 << 6) ) -func (r *FullscreenRenderer) Init() {} -func (r *FullscreenRenderer) Pause(bool) {} -func (r *FullscreenRenderer) Resume(bool) {} -func (r *FullscreenRenderer) Clear() {} -func (r *FullscreenRenderer) Refresh() {} -func (r *FullscreenRenderer) Close() {} +func (r *FullscreenRenderer) Init() {} +func (r *FullscreenRenderer) Pause(bool) {} +func (r *FullscreenRenderer) Resume(bool, bool) {} +func (r *FullscreenRenderer) Clear() {} +func (r *FullscreenRenderer) Refresh() {} +func (r *FullscreenRenderer) Close() {} func (r *FullscreenRenderer) DoesAutoWrap() bool { return false } func (r *FullscreenRenderer) GetChar() Event { return Event{} } diff --git a/src/tui/light.go b/src/tui/light.go index 3ff84870..cccf3a9b 100644 --- a/src/tui/light.go +++ b/src/tui/light.go @@ -561,7 +561,7 @@ func (r *LightRenderer) Pause(clear bool) { } } -func (r *LightRenderer) Resume(clear bool) { +func (r *LightRenderer) Resume(clear bool, sigcont bool) { r.setupTerminal() if clear { if r.fullscreen { @@ -570,10 +570,10 @@ func (r *LightRenderer) Resume(clear bool) { r.rmcup() } r.flush() - } else if !r.fullscreen && r.mouse { - // NOTE: Resume(false) is only called on SIGCONT after SIGSTOP. - // And It's highly likely that the offset we obtained at the beginning will - // no longer be correct, so we simply disable mouse input. + } else if sigcont && !r.fullscreen && r.mouse { + // NOTE: SIGCONT (Coming back from CTRL-Z): + // It's highly likely that the offset we obtained at the beginning is + // no longer correct, so we simply disable mouse input. r.csi("?1000l") r.mouse = false } diff --git a/src/tui/tcell.go b/src/tui/tcell.go index db891655..4d8096d3 100644 --- a/src/tui/tcell.go +++ b/src/tui/tcell.go @@ -394,7 +394,7 @@ func (r *FullscreenRenderer) Pause(clear bool) { } } -func (r *FullscreenRenderer) Resume(clear bool) { +func (r *FullscreenRenderer) Resume(clear bool, sigcont bool) { if clear { r.initScreen() } diff --git a/src/tui/tui.go b/src/tui/tui.go index 4968b366..f5ebb161 100644 --- a/src/tui/tui.go +++ b/src/tui/tui.go @@ -275,7 +275,7 @@ func MakeTransparentBorder() BorderStyle { type Renderer interface { Init() Pause(clear bool) - Resume(clear bool) + Resume(clear bool, sigcont bool) Clear() RefreshWindows(windows []Window) Refresh()