Use this function to delay an action for some period of time. It also supports cancelling the action before the time period elapses. For example, if you want to display a watch cursor, but you only want it to appear after 2 seconds and the action may or may not take more than two seconds, use this pattern:
(let ([close-down
(gui-utils:delay-action
2
(lambda () .. init watch cursor ...)
(lambda () .. close watch cursor ...))])
.. do action ...
(close-down))
Creates a thread that waits delay-time. After delay-time has elapsed, if the result thunk has not been called, call open. Then, when the result thunk is called, call close. The function close will only be called if open has been called.