Adding wallpaper to rio in Plan9 9front

We'll use the Image *readimage(Display *d, int fd, int dolock) function from Plan9's libdraw. Patch the first line of the iconinit function as follows:

void
iconinit(void)
{
	background = allocimage(display, Rect(0,0,1,1), RGB24, 1, 0x777777FF);
	background = readimage(display, 0, 0);

	/* greys are multiples of 0x11111100+0xFF, 14* being palest */
	cols[BACK] = allocimage(display, Rect(0,0,1,1), CMAP8, 1, 0xFFFFFFFF^reverse);

Just like allocimage, readimage returns Image pointer, so we can use it as a value for background. The second argument is zero file descriptor, which is by convention standard input. That's it, you can now pipe your wallpaper to rio! Simple, isn't it?

Plan9's rio with cute anime girl eating a donut on background, mothra browser on the left side of the screen and terminal at the top