!7 cmodule WholeScreenScreenshot > DynImageSurface { int delay = 3; bool hideOS; visual northAndCenterWithMargins( jcenteredline( jLabel("Delay:"), jLiveValueSpinner(dm_fieldLiveValue('delay), 0, 10), jlabel("s"), jbutton("Shoot", rThread doIt), dm_checkBox('hideOS, "Hide OS while shooting")), super); enhanceFrame { minimalFrameSize(f, 320, 240); } void doIt enter { temp hideOS ? dm_tempMinimizeOS() : null; if (delay > 0) { print("Sleeping " + delay + " s before taking screenshot..."); sleepSeconds(delay); } doItNow(); } // API BufferedImage doItNow() { print("Shooting!"); BufferedImage img = shootScreen2(); infoBox("Screenshot made"); setImage(img); ret img; } }