diff --git a/src/terminal.go b/src/terminal.go index ec6e5d9b..ad5ad628 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -5133,7 +5133,12 @@ func (t *Terminal) Loop() error { header = t.captureLines(a.a) } if t.changeHeader(header) { - req(reqHeader, reqList, reqPrompt, reqInfo) + if t.headerWindow != nil { + // Need to resize header window + req(reqFullRedraw) + } else { + req(reqHeader, reqList, reqPrompt, reqInfo) + } } else { req(reqHeader) } diff --git a/test/test_core.rb b/test/test_core.rb index ec0a1da8..c8b73f23 100644 --- a/test/test_core.rb +++ b/test/test_core.rb @@ -1920,4 +1920,11 @@ class TestCore < TestInteractive tmux.send_keys :Up tmux.until { |lines| assert_includes lines, ' 2' } end + + def test_change_header_on_header_window + tmux.send_keys %(seq 100 | #{FZF} --list-border --input-border --bind 'start:change-header(foo),space:change-header(bar)'), :Enter + tmux.until { |lines| assert lines.any_include?('foo') } + tmux.send_keys :Space + tmux.until { |lines| assert lines.any_include?('bar') } + end end