diff --git a/src/terminal.go b/src/terminal.go index 9dcdd2db..175d82c4 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -2533,7 +2533,7 @@ func (t *Terminal) printInfoImpl() { func (t *Terminal) resizeIfNeeded() bool { // Check if input border is used and input has changed - if t.inputBorderShape.Visible() && t.inputWindow == nil && !t.inputless { + if t.inputBorderShape.Visible() && t.inputWindow == nil && !t.inputless || t.inputWindow != nil && t.inputless { t.printAll() return true } @@ -5948,6 +5948,7 @@ func (t *Terminal) Loop() error { // Always just discard the change t.input = previousInput t.cx = len(t.input) + beof = false } else { t.truncateQuery() } diff --git a/test/test_layout.rb b/test/test_layout.rb index 13adffef..0e4db204 100644 --- a/test/test_layout.rb +++ b/test/test_layout.rb @@ -893,7 +893,7 @@ class TestLayout < TestInteractive end def test_min_height_auto_no_input_reverse_list - tmux.send_keys %(seq 100 | #{FZF} --style full:sharp --layout reverse-list --no-input --height 1% --min-height 5+), :Enter + tmux.send_keys %(seq 100 | #{FZF} --style full:sharp --layout reverse-list --no-input --height 1% --min-height 5+ --bind a:show-input,b:hide-input,c:toggle-input), :Enter block = <<~BLOCK ┌───────── @@ -905,6 +905,23 @@ class TestLayout < TestInteractive └───────── BLOCK tmux.until { assert_block(block, it) } + tmux.send_keys :a + block2 = <<~BLOCK + ┌───── + │ > 1 + │ 2 + └───── + ┌───── + │ > + └───── + BLOCK + tmux.until { assert_block(block2, it) } + tmux.send_keys :b + tmux.until { assert_block(block, it) } + tmux.send_keys :c + tmux.until { assert_block(block2, it) } + tmux.send_keys :c + tmux.until { assert_block(block, it) } end def test_layout_reverse_list