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/tui.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/tui/tui.go') diff --git a/src/tui/tui.go b/src/tui/tui.go index 69ae8a1a..2ebb5e72 100644 --- a/src/tui/tui.go +++ b/src/tui/tui.go @@ -473,11 +473,11 @@ func MakeTransparentBorder() BorderStyle { bottomRight: ' '} } -type termSize struct { - Lines int - Columns int - Width int - Height int +type TermSize struct { + Lines int + Columns int + PxWidth int + PxHeight int } type Renderer interface { @@ -497,7 +497,7 @@ type Renderer interface { MaxX() int MaxY() int - Size() (termSize, error) + Size() TermSize NewWindow(top int, left int, width int, height int, preview bool, borderStyle BorderStyle) Window } -- cgit v1.2.3