12 Exit
Returns #t to indicate that an exit operation is taking place.
Does not indicate that the app will actually exit, since the user may
cancel the exit.
See also exit:insert-on-callback and
exit:insert-can?-callback.
(exit:set-exiting exiting?) → void? exiting? : boolean?
Sets a flag that affects the result of exit:exiting?.
(exit:insert-on-callback callback) → (-> void?) callback : (-> void?)
Adds a callback to be called when exiting. This callback must not fail.
If a callback should stop an exit from happening, use
exit:insert-can?-callback.
(exit:insert-can?-callback callback) → (-> void?) callback : (-> boolean?)
Use this function to add a callback that determines if an attempted exit
can proceed. This callback should not clean up any state, since another
callback may veto the exit. Use exit:insert-on-callback for
callbacks that clean up state.
Calls the “can-callbacks” and returns their results. See
exit:insert-can?-callback for more information.
(exit:on-exit) → void?
Calls the “on-callbacks”. See exit:insert-on-callback for more
information.
exit:exit performs four actions:
sets the result of the exit:exiting? function to #t.
invokes the exit-callbacks, with exit:can-exit? if none of the “can?” callbacks return #f,
invokes exit:on-exit and then
queues a callback that calls exit (a racket procedure) and (if exit returns) sets the result of exit:exiting? back to #t.
Opens a dialog that queries the user about exiting. Returns the user’s
decision.