Applet to fix wallpaper not changing with VD + IconX

SVDhelper

I made an applet to update the wallpaper to the corresponding virtual desktop when you use VD + IconX.  It changes the wallpaper setting at the system level and waits for IconX to update its window / "desktop".  I'd like to post it on wincustomize but don't know under what category to put it.  If anyone has any thoughts, let me know.  It's a 32kb zip (with source code).  [EDIT: SVDhelper now has a home among the DesktopX widgets. -db ]

This is a screenshot:
http://images2.stardock.com/25/19/2519379/Desktop.jpg?1947522

From the ReadMe:

SVDhelper - Let's Stardock Virtual Desktop update the wallpaper when running with IconX. Here is the link for it:
https://www.wincustomize.com/viewskin.aspx?SID=1&SkinID=1131&LibID=34

Intro:
Stardock's VD doesn't really change the system wallpaper - it just paints over the desktop with a different image.  The problem is that the new images won't be seen if you're running IconX.  IconX reads the real system wallpaper and uses that image to paint directly over VD's images.  Quick Fix: make VD's wallpaper be the real system wallpaper.  IconX will read see this new system wallpaper and use it to paint the desktop.

Instructions:
Start up this app.  Click hide to make the window disappear.  To show the window again, just double-click the exe file (this will unhide the currently running app rather than create a new copy).  Currently only compatible with bitmaps.

Source code is included. It's doubtful that I will make any updates. So, do what you will with it. If you add in the jpeg support, let me know - I want that too. Enjoy.

Bugs, etc.:
BMP support only. If you configure JPG in Virtual Desktop, they won't work. VD will usually return your wallpaper to its original state when it exits.  This app negates that functionallity.  Wallpaper is lagged 2-4 seconds behind when you change desktops.  I think it has to do with how often IconX tries to reread the wallpaper settings in the registry.

 

2,979 views 3 replies
Reply #1 Top
Update: I had mentioned that there was a delay/lag of 2-4 seconds between when you switch to a new desktop and when the wallpaper was updated on screen. It turns out to be related to how IconX updates the onscreen wallpaper.

Every 5.0 seconds, IconX reads the filename for the wallpaper directly from the Windows registry. If you change virtual desktops (or even the wallpaper from Display Properties) right after IconX does its registry scan, it takes the full 5 seconds to show the new wallpaper. If you change virtual desktops at the 4.5 second mark, IconX shows the new wallpaper almost instantly.

Just for fun, I made the change directly with regedit -- you can literaly count down the 5 seconds between each on-screen update. Unfortunately, this probably means that there's not an easy way to make the wallpaper update any faster when using VD + IconX + svdhelper.

-db
Reply #2 Top
Big Update: I fixed a couple bugs and added a few features. You can now have separate icons & folders for each desktop. File/Desktop Management is very simple: the Virtual Desktop folders sit on your real Desktop (named "VirtualDesktopXX"). As you switch between virtualdesktops, SVDhelper changes the XP Desktop Special Folder assignment (like TweakUI). When you quit SVDhelper, it will restore your original Desktop (as well as your original wallpaper).

These virtual Desktop folders will work with IconX, but there is a big drawback: IconX will reset the icon positions when you switch in/out of each desktop. I've tried making separate IconX config files for each desktop -- but IconX seems to be keeping a copy of its config file in memory and reseting icon positions when files appear/disappear. The only workable solution would be to unload iconx, switch desktops, copy in the corresponding config file, then reload iconx.... I may have an implementation of this put together one of these days.

Safety tips: Download and install TweakUI or some similar utility that lets you change the location of your Desktop directory. When you start up SVDhelper, it will try to reset your real Desktop directory if it is still assigned to a virtual desktop.

I still don't have a place to post the zip file yet. I'm not sure if Wincustomize will accept a Win32 exe. Feel free to contact me to get it directly or to volunteer to host it for download. It's now a 42KB zip file (with source).

-db
Reply #3 Top
Okay. The final piece of the puzzle is in place. SVDhelper will now store separate desktop icons per virtualdesktop and will also retain their icon positions when used with IconX. This last feature is a little more brute force than the stuff in the last two updates. In between virtualdesktop switches, I am unloading IconX, replacing the "user.icons" file with a corresponding copy for the current virtualdesktop, and then reloading IconX. As a side benefit to loading/unloading IconX, the wallpapers will now update immediately. SVDhelper, pretty much does everything I wanted it to do, so this will be my last update... Some things other people could work on are JPEG support, ActiveX hooks for scripting with DesktopX, etc. More than likely, it would probably be easier to just wait for the next version of ObjectDesktop.

Of course, no one probably cares because I still don't have a place to put it online. If you want a copy or care enough to find a place for it, feel free to get in touch. It's now a 49KB zip though (with source).

-db

5-28-07:
Wincustomize has posted the file:
https://www.wincustomize.com/viewskin.aspx?SID=1&SkinID=1131&LibID=34