On 7/27/07, Stefan Bidigaray <[EMAIL PROTECTED]> wrote: > So I finally broke down and subscribed to gnustep-dev! I recently > (Wednesday) started working on an implementation of Apple's ScreenSaver > framework so that I can get more acquainted with GNUstep programming. I > figured this framework would be fairly easy to do, which it is, for most > part. I decided to split it in 3 parts, which I think is what I'd have to > do anyway: the framework, a screen saver tool (which I called gssaver), and > a preference module to configure it. > > So far I've managed to complete implementing the ScreenSaverView class and > the SS* functions, but have no idea how to work the ScreenSaverDefaults > class. I most definitely will need some help implementing > ScreenSaverDefaults, but I'm not too worried about it now since the default > screen saver is a blank screen and doesn't need any configuration. > > I still haven't done anything in the preference module front. Since all of > the programming I've done has been at work and my everyday computer I > haven't had access to a GNUstep installation, and haven't been able to use > Gorm to create the interface. I figured I would build the module by hand, > but gave up on that idea since I thought I could learn more using Gorm. For > now, I've kind of put off creating the preference module till I'm done with > the tool. > > The tool, gssaver, is turning out to be a little more complicated than I > initially thought. What I figured I'd do with it is make it an > NSApplication but build it as a tool (not really sure if this would work). > So I've implemented a simple delegate class for now which: creates a black > window the size of the screen; loads the defaults; finds the screen saver; > adds a ScreenSaverView subview; orders it to front; and calls the > ScreenSaverView's -startAnimation method (in that order). > > My questions: > > 1) I still haven't figured out how I'm going to count how many minutes it's > been since the last even, and much less how to even find out if events have > happened. Does anyone have any ideas on how to do this?
GNUstep window only get event when it has the focus. There is a small tool in Etoile called 'Idle', which uses Xwindow extension to check how long users have being idling and post notification, I guess. It may be useful for you. Yen-Ju > > 2) I also have no idea how to figure if, once the screen saver is on, how to > stop if when something happens (mouse move, key stroke, mouse click). I've > looked at the docs for NSView and there doesn't seem to be any methods that > would make this easy. What can I do here? > > 3) Once the preference module is completed and working, I'll need to have > gssaver check the defaults after the preferences change, is there anyway I > can send it a message asking it to check the defaults fromt the preference > module? > > 4) Lastly, I'll need a lot of help creating ScreenSaverDefaults, but only > later. I've check NSUserDefaults' code and I'm more confused now than I was > when I started out. I figured for this, the best thing would be to create a > new file (ScreenSaverDefaults) under the Defaults directory. > NSUserDefaults, however, seems to be very picky about there being a process > running and writing to that process. > > After it's all said and done I'd like to add this to GNUstep as I think it > would make more sense being distributed by it (much like SystemPreferences > and it's NSPreferencePane implementation). I already have a copyright > assignment, so it shouldn't be a problem. > > Any comments and/or suggestions would be appreciated. > > Stefan > > _______________________________________________ > Gnustep-dev mailing list > Gnustep-dev@gnu.org > http://lists.gnu.org/mailman/listinfo/gnustep-dev > > _______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev