From d02b9442a56ec03dbb905d432762cf545603ef07 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Thu, 26 Oct 2023 00:22:28 +0900 Subject: (Experimental) Improve Sixel graphics support (#2544) Progress: * Sixel image can now be displayed with other text, and is scrollable * If an image can't be displayed entirely due to the scroll offset, fzf will render a wireframe to indicate that an image should be displayed * Renamed $FZF_PREVIEW_{WIDTH,HEIGHT} to $FZF_PREVIEW_PIXEL_{WIDTH,HEIGHT} for clarity * Added bin/fzf-preview.sh script to demonstrate how to display an image using Kitty or Sixel protocol An example: ls *.jpg | fzf --preview='seq $((FZF_PREVIEW_LINES*9/10)); fzf-preview.sh {}; seq 100' A known issue: * If you reduce the size of the preview window, the image may extend beyond the preview window --- src/tui/light.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/tui/light.go') diff --git a/src/tui/light.go b/src/tui/light.go index 6b7eaaf4..e5080d1d 100644 --- a/src/tui/light.go +++ b/src/tui/light.go @@ -1092,7 +1092,9 @@ func (w *LightWindow) CFill(fg Color, bg Color, attr Attr, text string) FillRetu } func (w *LightWindow) FinishFill() { - w.MoveAndClear(w.posy, w.posx) + if w.posy < w.height { + w.MoveAndClear(w.posy, w.posx) + } for y := w.posy + 1; y < w.height; y++ { w.MoveAndClear(y, 0) } -- cgit v1.2.3