summaryrefslogtreecommitdiff
path: root/.script/generate-bindings-wallpaper.sh
blob: f06bbcee3b74182f0dbd4182cf658b6cd0766393 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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"