As simple as that: a dialog opens to ask for a time delay (in seconds).
After such delay, a screenshot of the desktop is taken.
# Take a snapshot after a delay specified in a dialog # # The plugin has to fork, which is done by: # 1 - declaring a function to do the work, 'snasphot' # 2 - invoking the function via thread.start_new_thread, # which runs it in a separate thread. import thread import time def snapshot(delay): time.sleep(delay) IJ.doCommand('Capture Screen ') gd = GenericDialog('Delay') gd.addSlider('Delay (secs.): ', 0, 20, 5) gd.showDialog() if not gd.wasCanceled(): # the 'extra' comma signals tuple, a kind of list in python. thread.start_new_thread(snapshot, (int(gd.getNextNumber()),))