AndreGarzia.Com all we do is code

LibKiosk

MacOS X LibKiosk External for Runtime Revolution


One of the tasks that Runtime Revolution excels is building rich interactive applications. With computers being everywhere, many are looking forward to use Runtime Revolution to build interactive Kiosk applications. The Mac Mini, the lamp-like iMac and MacBooks are all good candidates to be converted into Kiosks.

The main concerns building Mac OS X based Kiosks are:
* Remove the dock and the apple menu so that your application fills the entire screen.
* Prevent the user from using CMD+TAB and CMD+SHIFT+TAB to switch applications.
* Prevent the user from Force Quiting your application.
* Prevent the dialog (sleep, logout, shutdown) from appearing when the power button is pressed.

There's no way to solve this issues with Vanilla transcript, so I've built this external. The external has only three commands

KioskModeOn - removes dock, apple menu, prevent application switching and force quitting.

KioskModeOff - makes things normal again.

KioskModeFull - everything from KioskModeOn plus prevent the power button from bringing that dialog up.


How it works


It uses Carbon API to call on SystemUIMode and SystemUIOptions as detailed in Apple Technical note on building Kiosk Applications, this external is no hack, this is the Apple Standard for building this kind of application. More info: http://developer.apple.com/technotes/tn2002/tn2062.html


Download is here.

Source code is here. (You need both XCode 2.4 and ExternalEnvironmentV1 for building this)

To download ExternalEnvironmentV1 and/or learn more about Externals check Revolution Newsletter #13. I've changed some stuff on this project, this is not the same one that is built by ExternalEnvironmentV1, I've changed the SDKs not to use 10.2.8 ppc but always use 10.4 universal because thats the only SDK (along with 10.3.9) that I have here. Anyway building universal is the way to go.

Hope this helps everyone, if you use this external and feels like contributing, my paypal account is under agarzia@mac.com or you can use the PayPal donation button on the sidebar, its secure and accepts all major credit cards.