Help - Search - Members - Calendar
Full Version: [release] Vista Screen Saver Powertoy
MSFN Forums > Microsoft Software Products - Discussion & Support > Windows Vista

   
Google Internet Forums Unattended CD/DVD Guide
crahak
Since Microsoft doesn't seem to be in a hurry to release Powertoys for Vista, we might as well get started laugh.gif

The Bubbles, Ribbons, Mystify and Aurora screen savers won't let you adjust options, when you click on settings, this is all you get:



But they are known to have options! Talk about lazy. It would only have taken a few minutes to add a simple page for settings. You'd think MS could afford the programmer time for their flagship product/OS... There's just no excuse for not having fixed that in SP1.

So since I was started on a screen saver script already, I figured why not make a unofficial (as in "not by Microsoft") Powertoy for those!

It's pretty rough code (only spent a few minutes on it -- no error handling of any kind, etc) so don't be surprised if it crashes! I'll see what the feedback is like, and change things accordingly. I tried to get the default values (bubble size, number of ribbons, etc) as close as Windows uses (close enough).

[very outdated screenshots removed]

Portable (no installation required). Everything required is already included on a standard Vista install.

No warranties of any kind, but there isn't a whole lot that can go wrong (it only reads/writes a handful of optional registry keys).

Tested on Vista SP1 x86 (en-CA locale)

Download link (old version)
ricktendo64
Hey nice program biggrin.gif

BTW you should see about using this on XP also because the screen savers can be patched to work on it newwink.gif
crahak
QUOTE (ricktendo64 @ Jul 2 2008, 12:55 AM) *
Hey nice program biggrin.gif

Thanks! It's a very simple app. Nothing special at all. And I can't take credit for finding the reg keys either... The hardest part, is testing various values (see what works as min/max values, and trying to get the default values close enough). This app merely makes it more convenient than browsing with regedit to edit values, and converting floating point numbers to and from hex values.

QUOTE (ricktendo64 @ Jul 2 2008, 12:55 AM) *
BTW you should see about using this on XP also because the screen savers can be patched to work on it newwink.gif

It should run just fine on XP (haven't tested it though). It's a C# app, so it requires the .net framework (v2 or higher)

Oh, and the "5 minutes later" build that has Aurora settings is attached at the bottom of this post.
No screenshots, it's just the same, but with 3 extra scrollbars at the bottom.
Size went up by 1504 bytes, now people are gonna say it's bloated!
ricktendo64
Makes a nice CPL app biggrin.gif



Rename it scrPowertoy.exe, place in System32 and add this to your Registry

CODE
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{1C8BA147-32A7-4f3d-B95D-6F4E5C51DD19}]
@="Screen Saver Properties"
"InfoTip"="Configure Screen Savers."
"System.ControlPanel.Category"="1"

[HKEY_CLASSES_ROOT\CLSID\{1C8BA147-32A7-4f3d-B95D-6F4E5C51DD19}\DefaultIcon]
@="%SystemRoot%\\System32\\PhotoScreensaver.scr"

[HKEY_CLASSES_ROOT\CLSID\{1C8BA147-32A7-4f3d-B95D-6F4E5C51DD19}\Shell\Open\Command]
@=hex(2):73,00,63,00,72,00,50,00,6f,00,77,00,65,00,72,00,74,00,6f,00,79,00,2e,\
  00,65,00,78,00,65,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ControlPanel\NameSpace\{1C8BA147-32A7-4f3d-B95D-6F4E5C51DD19}]
@="Screen Saver Properties"

BTW for those of you who don't use the classic control panel view its in "Apperance and Personalization"
crahak
Cool. I had been considering making a .cpl instead. I guess that solves it.

Having looked at what you did, I did change the icons to the one you used (big 256x256 version, pretty big, brings the size up by ~100KB), looks great though.

I sorted the different sections for each screen saver in alphabetical name too.

I also added the french language (automatically detected). If you don't want the french language, then you don't need the /fr subdirectory and the DLL inside it. I might add other languages later on using Google language tools. Or if someone wants it in another language, just tell me what things should say for what language an I'll add them.

I'd like to have most major languages supported, at least Spanish, Portuguese, German and Italian. Ideally I'd also have others like Mandarin, Arabic, Russian, Hindi, Japanese and such, but that might be tricky due to different alphabets and sometimes right to left text (I'll have to try some things out)

I'm open to suggestions/feature requests.

I decided to just edit the first post from now on when I update it, so people don't have to look for it in a long thread in the future (next time I'll use rapidshare or such as it's over 100KB now).
ricktendo64
Wow that icon looks messed up, why did you remove all the smaller versions?

Can you only use one size?

IMO just use the small version of the icon internally for your app but leave the exe with no visible icon, then just point your cpl shortcut to a icon resource somewhere on Vista (like photoscreensaver.scr)
crahak
QUOTE (ricktendo64 @ Jul 5 2008, 03:47 PM) *
Wow that icon looks messed up, why did you remove all the smaller versions?

I thought it looked alright (in explorer.exe), at any size. But I changed it back, the big one was like 100KB anyways, kind of big for a simple icon...

QUOTE (ricktendo64 @ Jul 5 2008, 03:47 PM) *
IMO just use the small version of the icon internally for your app but leave the exe with no visible icon, then just point your cpl shortcut to a icon resource somewhere on Vista (like photoscreensaver.scr)

Well, that probably works fine for those using it as a cpl shortcut, but for those who don't, no icon at all would be pretty ugly (i.e. in explorer), and since the normal sized icon is pretty small, I included it anyways (you can still override it in a shortcut anyways, so no harm).

I also made 2 small changes (see the updated screenshots):
  • it displays the values in use over the scrollbars on the right hand side
  • I picked a new and better looking font: Candara -- a new cleartype typeface from Vista. So ppl using it on XP might have to install that too.

The next build (version 0.1) will adjust more settings. There's like a dozen more, but I have to discover what type of reg key they expect (e.g. a REG_DWORD) and if it's an int, bool or a float, what range they accept, etc.
There will be multiple monitor support (master and monitor 1 & 2 settings) too.
Expect the GUI to have 2 columns next time.

And again, I'm open to any suggestions, and if someone wants it translated in their language, don't be shy! I could try to use Google Language Tools for that (or Babelfish or Systran) but usually the results aren't exactly perfect.
puntoMX
Nice tool, keep up the smooth work.

PINNED! biggrin.gif
crahak
QUOTE (puntoMX @ Jul 7 2008, 10:40 PM) *
Nice tool, keep up the smooth work.

PINNED! biggrin.gif

Thanks!

(old teaser pic removed)

The combobox at the bottom is to select the master settings, and settings for monitors 1 and 2.
Just have to figure out turbulence force & speed and do some multi-monitor testing, then I'll share it.
Kelsenellenelvian
You have an AWESOME app there biggrin.gif...

Can't wait for the next version.

One request can you make save Close too?
crahak
Thanks!

Next version shouldn't be too long. I just gotta find some time to play with Turbulence Speed & Octaves. If I don't have time for those in the next couple of days, I'll release the existing one with those 2 sliders disabled (everything else works fine).

I could make the save button close (1 line to add), but then some people would have to re-open the app numerous times to change master/screen 1/screen 2 settings... Besides, personally I tend to save some settings, then hit preview (in Windows' screen saver select window) to see what it looks like, tweak it some more, try it again, etc. If you did that, for every monitor, it would quickly become a real pain to restart the app every 5 seconds.

But if the majority of people want that, then sure... why not (eventually, I could add a XML config file for that, but I'd rather avoid such things for now and just keeping it simple)
Kelsenellenelvian
Ok that sounds very logical tongue.gif

Hey it's just an extra "Click" anyways...
crahak
Quick status update. I could release the not really improved one right now, but I think it would be an exercise in futility. I've looked at what the actual REAL default values were for every setting, and I was quite a bit off on most settings, e.g. I had set the Bubble screen saver's Radius to 180px (from measuring the size in pixels from a screenshot...), whereas the true default value is 0x42B40000 which is exactly 90 pixels (forgot to divide the diameter by 2 obviously).

Similarly, most of the numbers given (often as reg tweaks) by some people on many forums are just completely wrong -- they're using the wrong data types in the first place e.g. you see ppl saying to use values "between decimal 2100000000 for a lot of bubbles on screen, 1000000000 for few" (for Sphere Density), whereas it's not even decimal in the first place! It's yet another float, with a default value of 0.5! Or are they trying to tell me they picked an arbitrary decimal value of 1056964608 which just happens to be exactly the representation of 0.5 as a float? What's the odds of that? And that setting it to 1.0 doubles the number of bubbles (the desktop is 100% covered, no place left) and that at 0.25 there's only ~1/4 of it covered, and that it's a coincidence too? I was wondering all along why someone would calculate densities in billions too... Between all the screen savers, only 4 settings are decimal numbers (total), the rest is all floats.

Having the real default values is the only way to go (not a half-a**ed approximation), and having those real values also helped determining what kind of number is expected for things like turbulence force and such (just need to guess/test min/max boundaries now)

So I'll be trying things (mostly to find min/max values now). This way the next version will be a LOT better... Nothing to do with them reg tweaks you see around, but using the actual real values.

I'm also debating whether or not I'm going disable the monitor selector (locked on "master settings") for people that don't have more than one monitor in the first place. It's obviously of no use to them, but then again, do I really want to disable a feature?
MagicAndre1981
if you remove the Screensavers with vLite and try to start your tool, you'll get exceptions, because the tool can't open the registry keys.
crahak
QUOTE (MagicAndre1981 @ Jul 19 2008, 09:10 AM) *
if you remove the Screensavers with vLite and try to start your tool, you'll get exceptions, because the tool can't open the registry keys.

Like I said in the first post, there's zero error handling. So if someone went out of their way to remove all of HKCU\Software\Microsoft\Windows\CurrentVersion\ScreenSavers\ and subkeys with a specialized tool, and then proceeded to run a tool to customize settings of what they removed in the first place... They basically should expect some things not to work. On a normal Vista install it works as intended (and again, on XP too, for those who use these screen savers under XP).

I just added a check for that, but as always, nlite/vlite users are on their own when it comes to something they've broken themselves by stripping required components (I'm not a user of either app)

Anyways. A rewrite with all the proper data types is underway, things are getting there quickly.

Current teaser pic (on Vista Basic theme, with border padding set to 0px):

(The values shown on this pic are the actual real default values)

Edit: Due to a disk crash, no update is planned anytime soon sad.gif
hclarkjr
thumbup.gif good work on this, any progress on the rewrite?
crahak
QUOTE (hclarkjr @ Aug 15 2008, 12:34 PM) *
thumbup.gif good work on this, any progress on the rewrite?

It's not even started yet (assuming you're talking about the rewrite since the disk crash mentioned in my last post). I'm working 10h days right now (and that's without overtime) so I'm tired as hell when I get back, school isn't started yet so kids go to the babysitter, some travel going on, other projects too, etc.

Rewriting the app itself isn't hard at all really. It's just the time it'll take to find the default values for everything yet again, trying a lot of values to see what works fine for minimum and maximum values for every single setting (there's a couple dozen of them), etc. Then writing code to read all of them from the registry, and then writing them all back -- three times (3 different locations: master/monitor 1/monitor 2). And all that takes a fair bit of time. It might be a month before I get started, sorry.
hclarkjr
no problem, i was just curious as to the progress if any. thanx for the update
kamahl
nice job so far smile.gif Glad I could use mystify almost like normal... Any idea if it can go transparent like the old version?
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.