I64 @shell_cmd_wpset(@shell* sh, I64 argc, U8** argv) { U8 buf[512]; if (argc < 2) { return 0; } I64 size = 0; U64 fbuf = FileSystem.ReadFile(argv[1], &size); if (!fbuf) { StrPrint(&buf, "Error reading file %s\n", argv[1]); Stdio.WriteLine(sh, &buf); return 1; } Context2D* new = Image.BufferToContext2D(fbuf, size); Free(fbuf); if (!new) { StrPrint(&buf, "Error in Image.BufferToContext2D\n"); Stdio.WriteLine(sh, &buf); return 1; } Compositor.SetWallpaper(new); DelContext2D(new); return 0; }