From 2952737755aeda4c088a84693569f7b881162160 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Mon, 9 Oct 2023 01:29:03 +0900 Subject: [PATCH] Update README: Experimental support for Kitty graphics protocol --- CHANGELOG.md | 2 +- README.md | 17 +++++++++++++++++ man/man1/fzf.1 | 12 ++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3614beb..e2c51a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ CHANGELOG - Experimental, partial support for Kitty image protocol in the preview window ```sh fzf --preview=' - if file --mime-type {} | grep -qF 'image/'; then + if file --mime-type {} | grep -qF image/; then # --transfer-mode=memory is the fastest option but if you want fzf to be able # to redraw the image on terminal resize or on 'change-preview-window', # you need to use --transfer-mode=stream. diff --git a/README.md b/README.md index d162da8..a461ed4 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ Table of Contents * [2. Switch between sources by pressing CTRL-D or CTRL-F](#2-switch-between-sources-by-pressing-ctrl-d-or-ctrl-f) * [3. Interactive ripgrep integration](#3-interactive-ripgrep-integration) * [Preview window](#preview-window) + * [Previewing an image](#previewing-an-image) * [Tips](#tips) * [Respecting `.gitignore`](#respecting-gitignore) * [Fish shell](#fish-shell) @@ -730,6 +731,22 @@ seq 100 | fzf history | fzf ``` +### Previewing an image + +Since 0.43.0, fzf has experimental support for [Kitty graphics +protocol](https://sw.kovidgoyal.net/kitty/graphics-protocol/), so if you use +Kitty, you can make fzf display an image in the preview window. + +```sh +fzf --preview=' + if file --mime-type {} | grep -qF image/; then + kitty icat --clear --transfer-mode=memory --stdin=no --place=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}@0x0 {} + else + bat --color=always {} + fi +' +``` + Tips ---- diff --git a/man/man1/fzf.1 b/man/man1/fzf.1 index 4388c97..28a772e 100644 --- a/man/man1/fzf.1 +++ b/man/man1/fzf.1 @@ -591,6 +591,18 @@ e.g. echo "$i" sleep 0.01 done'\fR + +Since 0.43.0, fzf has experimental support for Kitty graphics protocol, +so if you use Kitty, you can make fzf display an image in the preview window. + +e.g. + \fBfzf --preview=' + if file --mime-type {} | grep -qF "image/"; then + kitty icat --clear --transfer-mode=memory --stdin=no --place=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}@0x0 {} + else + bat --color=always {} + fi + '\fR .RE .TP