Y'all remember how back in August/Sept of 2001 I said that we should shoot for binary compatibility and see what happens? Well, I have a minor issue. :-) This is sort of a continuation/explanation of what Francois was talking about a few weeks ago. It seems that when Be built the ScreenSaver preferences app, they linked against a header that had "ReservedScreenSaverX" members, where X varied from 1 to 8. libscreensaver.so was built against the header that ships with R5 that has "_ReservedScreenSaverX" members. Note the underscore. After a little testing, it seems that Be built their screensavers by linking to libscreensaver.so. All of theirs work with my code. Some developers did the same thing. Axel's very cool (according to my 8 year old) Nebula screensaver, for example, works just fine. But some (Matrix, for one) screensavers that did what the BeBook recommends and link against the ScreenSaver preferences app instead of libscreensaver.so will not work. They fail to load because there are missing symbols. So. I can go about this a couple of ways. 1) I can have one header. That would break certain screensavers, but would make a lot of build and use sense. It would correct the weirdness on a going forward basis. The downside is that some screensavers would break. 2) I can make a duplicate header that has no underscores and build my ScreenSaver prefs with it. That complicates our source tree but keeps everything working. So I have a request for all of you. Will you please look to see what screensaver you are running? If it is not a stock Be one (BuyNow, Flip, Icons, Lens, Lissart, Message, Spiral, Spots, StringTheme, SuperString, Blackness), will you find out where you got it from and see if source is available? If not (and you absolutely love it), let me know. If I don't get a flood of "save my Matrix" type emails, I will go with option 1. :-) Michael