summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2020-05-18 02:33:37 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2020-05-18 02:43:58 +0900
commit97a725fbd0e54cbc07e4d72661ea2bd2bb7c01c1 (patch)
tree1508b3c1bf2ae5d649e43c342b5cc27e83a75505 /src
parentace92ba281669df7f1d5c434789c454e98dde45b (diff)
downloadfzf-97a725fbd0e54cbc07e4d72661ea2bd2bb7c01c1.tar.gz
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.
Diffstat (limited to 'src')
-rw-r--r--src/terminal.go6
-rw-r--r--src/tui/dummy.go12
-rw-r--r--src/tui/light.go10
-rw-r--r--src/tui/tcell.go2
-rw-r--r--src/tui/tui.go2
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()