aboutsummaryrefslogtreecommitdiff
path: root/kitty/kitty-themes/.tools/generate_theme_preview.sh
diff options
context:
space:
mode:
Diffstat (limited to 'kitty/kitty-themes/.tools/generate_theme_preview.sh')
-rwxr-xr-xkitty/kitty-themes/.tools/generate_theme_preview.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/kitty/kitty-themes/.tools/generate_theme_preview.sh b/kitty/kitty-themes/.tools/generate_theme_preview.sh
new file mode 100755
index 000000000..040867b35
--- /dev/null
+++ b/kitty/kitty-themes/.tools/generate_theme_preview.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# This script generate all preview images for the themes
+# In order to capture previews without the to bar start kitty without decorations
+# kitty -o hide_window_decorations=yes
+
+# shellcheck source=libcapture.sh
+source libcapture.sh
+
+# read theme path from args
+id=$1
+theme=$2
+preview_filename=$3
+
+conf_filename=$(basename "$theme")
+
+lockfile=$(mktemp)
+
+kitty @ set-colors --match id:"$id" "$theme"
+kitty @ send-text --match id:"$id" "clear && figlet -f digital -t \"$conf_filename\" && unbuffer ./color_table.sh && rm \"$lockfile\"\n"
+
+# simple sync mechanism, wait for the lockfile to be removed
+( echo "$lockfile" | entr "false" 1>/dev/null 2>&1 ) || capture themes "$preview_filename"