>I was thinking of rewriting init, as this seems to be the ideal application for starting up external apps.

How about just renaming init to something like "real_init", and then substituting a separate program
which forks off a few threads to bind menu entries (the BIND is 100% blocking, at present), and which
then runs the "real_init" as normal afterwards?

>This will keep memory usage low and shouldn't affect the player app.

Ahh.. possibly. combining them into a single executable might save us some memory; or maybe not much, since libraries are the only really common part, and those ought to get shared in memory anyway.. but a combined init might be a better (simpler) way to do it anyway.

>Is the source for the original init available?

I should hope so (it had better be available!) .. Rob?