wallpapers in rio

it works. I originally planned on creating a new file, /dev/background, for this, but then I saw atamariya’s modifications and decided to use /dev/screen instead. only thing about this approach is that originally I had planned that reading /dev/background would return the background that was set, but that seems rather pointless since you should have access to the image you set already. no code from atamariya was used as I couldn’t find it anywhere, and some inspiration was taken from sigrid’s rio patch. backgrounds in p9bit format (readable by readimage(2)) are supported, as well as solid colors starting with as 6-digit hex literals starting with ‘#’.

to use, write to /dev/screen:

# setting a bitmap wallpaper
; cp wallpaper.bit /dev/screen
# setting a png wallpaper
; png -9 wallpaper.png >/dev/screen
# setting a solid color wallpaper
; echo '#181818' >/dev/screen

to install:

; cd /sys/src/cmd/rio
; hget https://up.ccf.sh/rioback.patch | patch -p5

screenshot showcasing my 9front system with a wallpaper set