hal/sdl/cocoa.lisp
SDL normally turns a command-line process into a permanent foreground Cocoa app. This Lisp is a durable REPL host, so we manage that policy around the actual lifetime of its windows instead.
There is no cooperating foreground application to yield activation when a Slynk worker opens a window. This is an explicit user request, so use the same forceful activation that SDL uses for command-line Cocoa apps. A process transitioning out of background-only policy needs a few Cocoa event turns before Launch Services will honor activation, so pump briefly instead of leaving a regular-but-background window in another Stage.
The primary method already requested this before activation; repeat it now that the application can actually make the window key.
The canvas currently owning SDL's process-global Cocoa event loop.
(canvas)Claim any process-global native host required before CANVAS starts.
A native destination with a lifetime and frame clock.
Logical conjunction of tests and raw truth values.
Logical negation of one test or raw truth value.
(application policy)(canvas)Release CANVAS's native application presence after SDL_Quit.
Cocoa application lifecycle for SDL canvases hosted by a durable Lisp.