diff options
Diffstat (limited to '.script')
| -rwxr-xr-x | .script/generate-bindings-wallpaper.sh | 42 |
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" + |
