LF: better previewer

This commit is contained in:
Filippo Berto 2023-08-09 09:52:32 +02:00
parent c574b8d106
commit 1207aaa67a
No known key found for this signature in database
GPG key ID: FE98AE5EC52B1056

View file

@ -1,21 +1,24 @@
{ pkgs, ... }: { pkgs, ... }:
let let
lf_kitty_cleaner = pkgs.writeShellScript "lf_kitty_cleaner" '' cleaner = pkgs.writeShellScript "cleaner" ''
kitty +icat --clear --silent --transfer-mode file file=$1
case $TERM in
xterm-kitty ) kitty +icat --clear --silent --transfer-mode $file; ;;
* ) exit 0 ;;
esac
''; '';
lf_kitty_preview = pkgs.writeShellScript "lf_kitty_preview" '' previewer = pkgs.writeShellScript "previewer" ''
file=$1 file=$1
w=$2 w=$2
h=$3 h=$3
x=$4 x=$4
y=$5 y=$5
if [[ "$( file -Lb --mime-type "$file")" =~ ^image ]]; then case $TERM in
kitty +icat --silent --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" xterm-kitty ) kitty +icat --silent --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file"; ;;
exit 1 * ) ${pkgs.pistol}/bin/pistol "$file"; ;;
fi esac
${pkgs.pistol}/bin/pistol "$file"
''; '';
in in
{ {
@ -31,7 +34,7 @@ in
tabstop = 2; tabstop = 2;
}; };
previewer = { previewer = {
source = lf_kitty_preview; source = previewer;
# keybinding = "i"; # keybinding = "i";
}; };
keybindings = { "<c-f>" = "$EDITOR $(fzf)"; }; keybindings = { "<c-f>" = "$EDITOR $(fzf)"; };
@ -76,7 +79,7 @@ in
}}''; }}'';
}; };
extraConfig = '' extraConfig = ''
set cleaner ${lf_kitty_cleaner} set cleaner ${cleaner}
''; '';
}; };