!7 static class ChooseBackgroundImage > DynImageSurface { visualize { ret withCenteredButtons(super.visualize(), "Use as background image", r { File f = putImageInDirectory_jpeg(getImage(), stefansOS_backgroundDir()); saveTextFile(stefansOS_backgroundFile(), f2s(f)); updateImage(); }, "Restore default image", r { deleteFile(stefansOS_backgroundFile()); set(dm_os(), background := dm_getOS('defaultBackground)); updateImage(); }); } void updateImage { infoBox("Background image changed!"); set(dm_desktopPane(), image := loadBufferedImage((S) dm_getOS('background))); dm_desktopPane().repaint(); } }