On this page:
exit:  exiting?
exit:  set-exiting
exit:  insert-on-callback
exit:  insert-can?-callback
exit:  can-exit?
exit:  on-exit
exit:  exit
exit:  user-oks-exit

12 Exit🔗ℹ

procedure

(exit:exiting?)  boolean?

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.

procedure

(exit:set-exiting exiting?)  void?

  exiting? : boolean?
Sets a flag that affects the result of exit:exiting?.

procedure

(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.

procedure

(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.

procedure

(exit:can-exit?)  boolean?

Calls the “can-callbacks” and returns their results. See exit:insert-can?-callback for more information.

procedure

(exit:on-exit)  void?

Calls the “on-callbacks”. See exit:insert-on-callback for more information.

procedure

(exit:exit)  any

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 #f.

procedure

(exit:user-oks-exit)  boolean?

Opens a dialog that queries the user about exiting. Returns the user’s decision.