osx screensavers with blizmax

BlitzMax Forums/BlitzMax Programming/osx screensavers with blizmax

ImaginaryHuman(Posted 2009) [#1]
As some of us know, trying to create a screensaver on osx using blitzmax code has not yet proved possible. You have to use the osx screensaver framework to be all compliant and system friendly, and trying to integrate blitzmax code into xCode seems pretty difficult.

Okay. So here is a possible partial-solution workaround:

http://www.themcdonalds.net/~themcdo/richard/index.php?title=AppStartSaver

This is a screensaver which can be used to launch regular mac applications.

How about you create whatever screensaver you like as a full normal blitzmax application, then you copy this application into the resources (or some) subfolder inside of the appstartsaver application bundle. Then rename the appstartsaver to whatever you want your screensaver to be. Then set the screensaver's preferences to open your blitz application file - and perhaps then track down where it saves this preference and automatically install the screensaver using this preference file, then away you go???

Not sure that it would give you a preview window or preference pane of any kind, but it may well run the screensaver?

I thought also another option would be to run something like `after dark`, where you create a blitz app which sits in the background monitoring input, and opens up a screen at the appropriate time - ie totally ignoring the system screensaver system? Would not be integrated at all, but the above app launcher was designed partly to launch `after dark` from the system prefs. If you do use the app launcher you could simple launch any blitz app as a screensaver, open a fullscreen display, etc?

Thoughts?


ImaginaryHuman(Posted 2009) [#2]
Or, how about, create a simple screensaver in xcode, which launches a specific blitzmax application?


Brucey(Posted 2009) [#3]
I still think full integration with the framework is the best option - if I can only get the damn thing to unload :-p


ImaginaryHuman(Posted 2009) [#4]
Yah that would be the best option, but until someone such as yourself figures out how to do it and shares that information, we need other options. Do you think writing a simple screensaver to launch a blitz app would work?


Brucey(Posted 2009) [#5]
I think the main issue might be the NSView that is opened - It fills the screen. Unless you could pass that handle to another app, I'm not sure how the other app would be able to display anything in front of this window.


ImaginaryHuman(Posted 2009) [#6]
Even if it was a blitz app which just opens a fullscreen display? Surely the display would switch to the blitz display?


ImaginaryHuman(Posted 2009) [#7]
What about launching a blitz app from the screensaver framework, as a process, and using inter-process communication to pass messages to it telling it when to refresh, what nsview to use for graphics, etc, so that it can somehow integrate into the system prefs preview - and to pass variables from a simple gui for preferences (using interface builder)?