home / codeberg / blog / docs


setting wallpaper in 8½

at 1st, you need to add wallpaper support in rio by patching it

int fd;
Image *bimg = nil;
fd = open("/usr/glenda/lib/wallpaper", OREAD);
if(fd >= 0){
    bimg = readimage(display, fd, 0);
close(fd);
}
if(bimg){
    background = allocimage(display, Rect(0, 0, Dx(bimg->r), Dy(bimg->r)), RGB24, 1, 0x000000FF);
    draw(background, background->r, bimg, 0, bimg->r.min);
}
else
    fprint(2, "iconinit: %r\n");

(this code is from xxiivv site)

after, you need to download wallpaper, convert it, resize it and copy it in $home/lib/wallpaper. For example, by original wallpaper file is .jpg. If you gonna have multiple wallpapers, i recommend you to keep them in /usr/glenda/lib/wallpapers/ directory to not lost them

jpg -9t $home/lib/wallpapers/wall1.jpg | resize -x 1440 -y 900 >$home/lib/wallpaper

replace wall1.jpg to your wallpaper's file name and 1440 & 900 to your resolution

if you have png, just do the same but instead of jpg command use png command with same options