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.
pull/2054/head
Junegunn Choi 4 years ago
parent ace92ba281
commit 97a725fbd0
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627

@ -1422,13 +1422,13 @@ func (t *Terminal) executeCommand(template string, forcePlus bool, background bo
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr
t.tui.Pause(true) t.tui.Pause(true)
cmd.Run() cmd.Run()
t.tui.Resume(true) t.tui.Resume(true, false)
t.redraw() t.redraw()
t.refresh() t.refresh()
} else { } else {
t.tui.Pause(false) t.tui.Pause(false)
cmd.Run() cmd.Run()
t.tui.Resume(false) t.tui.Resume(false, false)
} }
cleanTemporaryFiles() cleanTemporaryFiles()
} }
@ -1701,7 +1701,7 @@ func (t *Terminal) Loop() {
case reqRefresh: case reqRefresh:
t.suppress = false t.suppress = false
case reqReinit: case reqReinit:
t.tui.Resume(t.fullscreen) t.tui.Resume(t.fullscreen, true)
t.redraw() t.redraw()
case reqRedraw: case reqRedraw:
t.redraw() t.redraw()

@ -25,12 +25,12 @@ const (
Reverse = Attr(1 << 6) Reverse = Attr(1 << 6)
) )
func (r *FullscreenRenderer) Init() {} func (r *FullscreenRenderer) Init() {}
func (r *FullscreenRenderer) Pause(bool) {} func (r *FullscreenRenderer) Pause(bool) {}
func (r *FullscreenRenderer) Resume(bool) {} func (r *FullscreenRenderer) Resume(bool, bool) {}
func (r *FullscreenRenderer) Clear() {} func (r *FullscreenRenderer) Clear() {}
func (r *FullscreenRenderer) Refresh() {} func (r *FullscreenRenderer) Refresh() {}
func (r *FullscreenRenderer) Close() {} func (r *FullscreenRenderer) Close() {}
func (r *FullscreenRenderer) DoesAutoWrap() bool { return false } func (r *FullscreenRenderer) DoesAutoWrap() bool { return false }
func (r *FullscreenRenderer) GetChar() Event { return Event{} } func (r *FullscreenRenderer) GetChar() Event { return Event{} }

@ -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() r.setupTerminal()
if clear { if clear {
if r.fullscreen { if r.fullscreen {
@ -570,10 +570,10 @@ func (r *LightRenderer) Resume(clear bool) {
r.rmcup() r.rmcup()
} }
r.flush() r.flush()
} else if !r.fullscreen && r.mouse { } else if sigcont && !r.fullscreen && r.mouse {
// NOTE: Resume(false) is only called on SIGCONT after SIGSTOP. // NOTE: SIGCONT (Coming back from CTRL-Z):
// And It's highly likely that the offset we obtained at the beginning will // It's highly likely that the offset we obtained at the beginning is
// no longer be correct, so we simply disable mouse input. // no longer correct, so we simply disable mouse input.
r.csi("?1000l") r.csi("?1000l")
r.mouse = false r.mouse = false
} }

@ -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 { if clear {
r.initScreen() r.initScreen()
} }

@ -275,7 +275,7 @@ func MakeTransparentBorder() BorderStyle {
type Renderer interface { type Renderer interface {
Init() Init()
Pause(clear bool) Pause(clear bool)
Resume(clear bool) Resume(clear bool, sigcont bool)
Clear() Clear()
RefreshWindows(windows []Window) RefreshWindows(windows []Window)
Refresh() Refresh()

Loading…
Cancel
Save