summaryrefslogtreecommitdiff
path: root/.script/generate-bindings-wallpaper.sh
diff options
context:
space:
mode:
Diffstat (limited to '.script/generate-bindings-wallpaper.sh')
-rwxr-xr-x.script/generate-bindings-wallpaper.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/.script/generate-bindings-wallpaper.sh b/.script/generate-bindings-wallpaper.sh
new file mode 100755
index 0000000..f06bbce
--- /dev/null
+++ b/.script/generate-bindings-wallpaper.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+TEXT_FILE="${I3_WALL_TEXT:-$HOME/.config/i3/wallpaper.txt}"
+OUT="${I3_WALL_OUT:-$HOME/.cache/i3-wallpaper.png}"
+
+FONT="${I3_WALL_FONT:-DejaVu-Sans-Mono}"
+POINTSIZE="${I3_WALL_POINTSIZE:-12}"
+PADDING="${I3_WALL_PADDING:-40}"
+
+mkdir -p "$(dirname "$OUT")"
+
+if [ ! -f "$TEXT_FILE" ]; then
+ printf 'Wallpaper text file not found: %s\n' "$TEXT_FILE" >&2
+ exit 1
+fi
+
+RES="$(xrandr 2>/dev/null | awk '/\*/ {print $1; exit}')"
+[ -n "$RES" ] || RES="1920x1080"
+
+WIDTH="${RES%x*}"
+HEIGHT="${RES#*x}"
+
+if command -v magick >/dev/null 2>&1; then
+ IM="magick"
+elif command -v convert >/dev/null 2>&1; then
+ IM="convert"
+else
+ printf 'ImageMagick not found. Install it with:\n'
+ printf ' sudo xbps-install -S ImageMagick\n' >&2
+ exit 1
+fi
+
+"$IM" \
+ -size "$WIDTH"x"$HEIGHT" \
+ xc:black \
+ -fill white \
+ -font "$FONT" \
+ -pointsize "$POINTSIZE" \
+ -gravity northwest \
+ -annotate +"$PADDING"+"$PADDING" @"$TEXT_FILE" \
+ "$OUT"
+