commit 65e306feec4a379a162e898236a1b9764588cec8
parent 74785069e0290af6cdff1563856b2b04d7e6f190
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Sat, 1 May 2021 18:12:13 +0200
preview-tui: fix cleanup/resize
Diffstat:
2 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/plugins/preview-tui b/plugins/preview-tui
@@ -156,7 +156,7 @@ fifo_pager() {
exec > "$tmpfifopath"
if [ "$cmd" = "pager" ]; then
if exists bat; then
- bat --terminal-width="$(tput cols)" --paging=never --decorations=always --color=always "$@" &
+ bat --terminal-width="$(tput cols)" --paging=never --decorations=always --color=always "$@" 2>/dev/null &
else
$PAGER "$@" &
fi
@@ -275,9 +275,9 @@ ueberzug_refresh() {
pkill -P "$$" >/dev/null 2>&1
pkill -f -n preview-tui-ext >/dev/null 2>&1
tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser json &
- preview_file "$(cat "$CURSEL")"
printf "\n" > "$NNN_FIFO"
preview_fifo 2>/dev/null &
+ preview_file "$(cat "$CURSEL")"
wait
}
@@ -292,20 +292,23 @@ preview_fifo() {
preview_file "$selection"
printf "%s" "$selection" > "$CURSEL"
done
- [ "$TERMINAL" != "kitty" ] && exists ueberzug && rm "$FIFO_UEBERZUG"
- rm "$PAGERPID" "$GIFPID" "$CURSEL" >/dev/null 2>&1
+ kill "$(cat "$GIFPID" 2>/dev/null)" >/dev/null 2>&1
+ kill "$(cat "$PAGERPID" 2>/dev/null)" >/dev/null 2>&1
+ [ "$TERMINAL" != "kitty" ] && exists ueberzug && ueberzug_remove
+ rm "$PAGERPID" "$GIFPID" "$CURSEL" "$FIFO_UEBERZUG" >/dev/null 2>&1
pkill -P "$$" >/dev/null 2>&1
}
if [ "$PREVIEW_MODE" ]; then
if [ "$TERMINAL" != "kitty" ] && exists ueberzug; then
mkfifo "$FIFO_UEBERZUG"
- trap 'ueberzug_refresh; rm $FIFO_UEBERZUG' WINCH
+ trap 'ueberzug_refresh; rm "$FIFO_UEBERZUG"' WINCH
tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser json &
fi
- trap 'rm "$PAGERPID" "$GIFPID" "$CURSEL" 2>/dev/null' INT HUP EXIT
+ trap 'rm "$PAGERPID" "$GIFPID" "$CURSEL" "$FIFO_UEBERZUG" 2>/dev/null' INT HUP EXIT
- preview_file "$1"
+ preview_file "$PWD/$1"
+ printf "%s" "$PWD/$1" > "$CURSEL" &
preview_fifo 2>/dev/null &
wait
else
diff --git a/plugins/preview-tui-ext b/plugins/preview-tui-ext
@@ -176,7 +176,7 @@ fifo_pager() {
exec > "$tmpfifopath"
if [ "$cmd" = "pager" ]; then
if exists bat; then
- bat --terminal-width="$(tput cols)" --paging=never --decorations=always --color=always "$@" &
+ bat --terminal-width="$(tput cols)" --paging=never --decorations=always --color=always "$@" 2>/dev/null &
else
$PAGER "$@" &
fi
@@ -384,9 +384,9 @@ ueberzug_refresh() {
pkill -P "$$" >/dev/null 2>&1
pkill -f -n preview-tui-ext >/dev/null 2>&1
tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser json &
- preview_file "$(cat "$CURSEL")"
printf "\n" > "$NNN_FIFO"
preview_fifo 2>/dev/null &
+ preview_file "$(cat "$CURSEL")"
wait
}
@@ -401,20 +401,23 @@ preview_fifo() {
preview_file "$selection"
printf "%s" "$selection" > "$CURSEL"
done
- [ "$TERMINAL" != "kitty" ] && exists ueberzug && rm "$FIFO_UEBERZUG"
- rm "$PAGERPID" "$GIFPID" "$CURSEL" >/dev/null 2>&1
+ kill "$(cat "$GIFPID" 2>/dev/null)" >/dev/null 2>&1
+ kill "$(cat "$PAGERPID" 2>/dev/null)" >/dev/null 2>&1
+ [ "$TERMINAL" != "kitty" ] && exists ueberzug && ueberzug_remove
+ rm "$PAGERPID" "$GIFPID" "$CURSEL" "$FIFO_UEBERZUG" >/dev/null 2>&1
pkill -P "$$" >/dev/null 2>&1
}
if [ "$PREVIEW_MODE" ]; then
if [ "$TERMINAL" != "kitty" ] && exists ueberzug; then
mkfifo "$FIFO_UEBERZUG"
- trap 'ueberzug_refresh; rm $FIFO_UEBERZUG' WINCH
+ trap 'ueberzug_refresh; rm "$FIFO_UEBERZUG"' WINCH
tail --follow "$FIFO_UEBERZUG" | ueberzug layer --silent --parser json &
fi
- trap 'rm "$PAGERPID" "$GIFPID" "$CURSEL" 2>/dev/null' INT HUP EXIT
+ trap 'rm "$PAGERPID" "$GIFPID" "$CURSEL" "$FIFO_UEBERZUG" 2>/dev/null' INT HUP EXIT
- preview_file "$1"
+ preview_file "$PWD/$1"
+ printf "%s" "$PWD/$1" > "$CURSEL" &
preview_fifo 2>/dev/null &
wait
else