Brad Wardell's site for talking about the customization of Windows.
Published on January 8, 2010 By Frogboy In Object Desktop blogs

We need your help.

For DesktopX 4 our goal is to clean up DesktopX and put it in a place where we can start to build up on it again in a way that is, to be candid, economically viable.

So to start here is what we have in mind specifically for DesktopX 4.0:

New objects

It has been a long time since we have updated the content in DesktopX 4.

To many of you, this sort of thing isn’t that big of a deal. But to end users, having animated objects on their desktop that do interesting things can be very enticing.

Cleaning up old problems

This is where we need your help. I’m sure there are plenty of posts that outline this or that issue that users would like to see addressed. If someone can consolidate them that would be extremely helpful so that we can look and see which are doable, which are doable but only helpful to a tiny number of users, and which ones just can’t realistically be done.

Windows 7 and UAC

As a practical matter, we won’t officially include or support anything that doesn’t work perfectly on Windows 7 with UAC on its default setting.  That doesn’t mean users can’t create things that require UAC to be off or only work on Windows XP but those things won’t be supported by us.

Open Sourcing the plugins


These are the plugins that come with DesktopX. Some of these will likely go away but the source code will be made available.  Note that right now, none of these are certified for Windows 7. Until they are certified for Windows 7, they’re at risk of being removed.

Adding new plugins

Going forward, we won’t be developing new plugins. We just don’t have the budget for it. We never had intended on creating any plugins beyond samples (otherwise, we would have just made the features a base part of the program).

If someone wants to submit to us plugins they’d like to include with the program (we’d need source code for liability purposes) let us know.

Things likely to go away

We will probably move away from taskbar and system tray functionality. It gets increasingly difficult to manage that sort of thing. If someone wants to create a plugin for it, that’s great but we want to move away from having to having to support such functionality because every version of Windows ends up with a different way of getting to that data (particularly the system tray).


So that’s where we’re at

Please comment here on what you’d like to see. Be as specific as you can.


Comments (Page 1)
3 Pages1 2 3 
on Jan 08, 2010

Thanks again for taking a personal interest and keeping us in touch.

on Jan 08, 2010

Thanks for taking up on this, Brad.

What comes to my mind first is making DX to keep all persistent settings. That was/is a problem at times, as it just 'forgot' some over time.

I am working with the latest Beta of Pro on Win 7 64bit at the moment and it is really running stable for me. Exported a gadget already to test it on another machine for some time. Looking good so far.

on Jan 08, 2010

Here are some suggestions made by other people in another forum;


Island Dog

I would like to see templates of sort, perhaps a visual editor.

Take DashCode for example.



[1] I'm post-processing dxpacks from outside DX to merge external scripts, modify scripts with #define/#ifdef/#ifndef, switch script components to release mode, etc. I'm using another instance of DX in a VM to export so I don't have to remove the dev version, load the final dxpack, export and then go back to the dev version. Being able to export the resulting dxpack directly from my build script will save me a lot of time!

[2] You can create a "controller" component that do all the work and receive other component events from there, but it would be cleaner to have that in the main script. It will save all the 1-line functions to forward DX events to the controller.

[3] Last time I checked the only Zip component universally available was the zip folder support in Windows, but the license doesn't allow third party use and it showed a progress dialog when unzipping. Exposing zip/unzip functions like in Yahoo widgets would be nice.





I think that there are several improvements that can be made which fall into 4 main categories:
1. Bugfixing
2. Additional functionality
3. Developer tools
4. Ease of use tools

1. Bugfixing
In addition to those already mentioned ...
Fix AX control bugs e.g. ...


Control.Border = False is broken on the DX Edit control
Sometimes controls don't appear on loading until they/their parent is moved
On crashing sometimes a duplicate of the last object in the navigator is created. This causes subsequent problems and crashing until manually removed from the theme2.ini file

2. Additional functionality
Some simple things could be added like improving tooltips
a. Allow a custom background
b. Allow custom font
c. Control over positioning relative to cursor
d. Maximum width/auto wrapping

3. Developer tools
Improve the Object Navigator
a. Ensure that it defaults to a sensible font so I don't have to manually uninstally fonts like Batang he to get it to display correctly / allow font choice to be saved globally
b. Make viewing more sensible - allow a tree view so children can be hidden unless I want to see them
c. Allow colour coding so I can quickly and easily find a specific object
d. Fix sorting - if I click to sort using a column how do I get it back to the default view without closing and reopening the Navigator
e. Allow me to exlude certain objects from export. In scripting objects are often created dynamically (e.g. calendars) and it would be easier to allow objects with certain names to be excluded when you "Select All"

4. Ease of use tools
I think that there have been a lot of valid points made above and I like the concept that you presented sViz, but I think we need to step back and make sure that this model is extensible.
Let me explain further ...
The key thing is that we have templates already. That is one of the key benefits of DX, in that you can load widgets and tweak them. These are our templates!

For example
here is a perfectly functional calendar and here is the article explaining how to use it.
Whilst this is 5 years old it is still totally valid today.

Likewise, if you want weather then
here is an equally old, but equally functional object.

What we need is an agreed standard for how we publish and utilise these within DesktopX.

Once we have this then what sViz proposed in the video is totally doable and extensible, because new "template" items can be added in a structured way (probably a tree/dropdown rather than icons because this is more flexible).

Users can create their own template item whether this is a complex set of objects, or a simple template for a text object or mask as per the video.

A standard implementation method is what will be required to sure that object names are not duplicated. Though clever use of programming (
Object.Parent and Object.Name) we can ensure that all object names are relative and therefore it would be easier when cloning (using a method different to the current one).

Finally I believe we need a standard way to interact with the user. These template objects need to know where to get and put information in a structured way. Several years ago I proposed a CUI (which stood for common user information), which basically was an XML file when standard information was stored (
Example of the draft


OK, I think that's enough of a document for now.

I'd be delighted to assist in the development of this sort of thing. It's just the sort of thing that would encourage me to spend more time with DesktopX. However, what I (and I expect other developers) need is some reassurance that this sort of hing would be implemented and that the time spent working on this wouldn't be in vain.

Look forward to hearing what other people think.


Good idea. However, why don't we take this a step further and have "Global" scripts that interact with the development environment rather than being "local to an object/a theme.
Think of it as script plugins. e.g. it would be very easy to write a script to draw a grid on the desktop. It would be very easy to write a script to move any given (or in fact all) objects to snap to a grid. What if these scripts could just be run and implemented based on events occuring within the development environment. e.g. Development_OnStart (draw grid), Development_OnObjectMove (snap to grid) etc etc.





Nuts.. that was one i really want - in Acad programming there was a way to "place" items into the dialog box.

Things like "ROW" "COLUMN" "WIDTH" etc. Being able to modify this screen even with a layout file of some sort would be awesome.

One other item that i would love to be able to work on is a "dynamic" change to the task icon, so i could make a gadget with say a weather icon that shows the current weather in the icon, or even the current temp.

I think there are TONS of posts out there with bug fixes and issues that need addressed. I just spotted this thread, and will have to work out some new ideas. Most have to do with ease of re-use of code, componants, etc.

Also.. .one of the major things is to have a much easier way to access "code". I had plans for this with but that just didnt work out, the idea of a "script repository" and an "integrated" way to import these into dx EASILY would make coding so much better. Things like Read/Write/Create INI Files, reading drive space, etc. I know a lot of things have been made into DLL's but these are not easily updated, a web-based repository would be aweome, and having this supported by SD would make it that much better. Id be more than willing to help put together some scripts, etc.



Big wishes:


Fully functional templates: Like the ones ID posted, where all the basic work is done and you just need to modify the look, or if you know how, modify the code and add more functions. The code for these templates should not be neglected either; they should be fully commented, streamlined, and easy to understand if you have basic knowledge of vbscript.

Component templates: Much like the ones we have in the DesktopX tutorial folder; rotating object, growing object, glowing object. Stuff that can be imported and used as part of a larger theme or widget. You could use the component as is or just take the script and use that.

#2 Pre-Configured Objects

This is pretty much to reduce the amount of time a user spends making choices, configurations, combinations of choices and configurations, and choices between combinations of choices and configurations.

The basic idea is to have a palette with virtually every conceivable object a user would want just one click away from creation. That means if I click on the button marked ‘folder shortcut’, it will create an object that is pre-configured and only needs an image & target. If I click on the button marked ‘object with states’, it will create an object that has the mouse over, mouse away, mouse down, and mouse up states already added. If I click on the button marked ‘mask’, it will create an object with the appropriate image (a square one, not round) for use as a mask. If I click on the button marked ‘text object’, it will create a text object (instead of an image object which I have to change into a text object.)

If I click on the button marked… well, here’s a video of what I mean:



#3 Limited Builder Mode

I think DX needs a mode that bridges the gap between client and builder. A mode with training wheels, if you will.

So you’d have Client which is for end-users, Limited Builder Mode that’s for end-users turned new builders, and then pure no-holds-barred Builder Mode for users more familiar with the DX builder environment.

The limited builder mode would be more intuitive than the freestyle builder mode. This might be where you could implement #2.

It might also have some kind of central editor like ID mentioned. The editor could have quick access to only the most frequently modified properties of an object: name, parent, group, size, x/y coordinates, image (or text), visible, movement, activation—kinda like a revamped object navigator/object list. I imagine the information in the editor would change depending on which object you’re interacting with, e.g., if you click on an object, its information would show up in the editor and you can make quick changes without having to open up a properties window. I’ve actually made an object that does that, though, it works on mouse over instead of click, and it doesn’t work for child objects.

#4 An undo function

I can’t tell you how irksome it is to have to redo mistakenly deleted objects.

Smaller wishes:

#1 System tray & and other fixes

Fixing several of the bugs mentioned on the forums and bringing back the system tray.

#2 Expand the Script Wizard

We have script wizards for most activeX objects but I’d like to see one for regular objects. Take all the object/system callbacks listed in the Developer’s guide and list them in a script event wizard.

#3 Expand Auto Complete

DX auto completes Functions and Subs. Couldn’t it to also auto-complete Loops and Conditionals?

That’s all for now. A few weeks back I was doing some scripting and I thought "man, I wish DX could access such and such via script" … now I can’t remember what that was


Also, the keyboard shortcut for select all (ctrl+A) does not work in the Script Editor. It seems to me that above any new feature, it would be really nice to see some of the current features fixed and working properly.


Much more experienced DXers than I would know more about the kinds of powerful new functions DX needs, so accessibility and ease of use is my main focus with DX. It seems to me the root of this is in the interface. Think of any program and its interface is generally where you would gain access to all its functions--everything in plain view and a few clicks a way. DX has NO interface. It has a systray icon, r-click menus, properties windows, properties windows within properties windows, tabs, and tabs within tabs. DesktopX is a great program, quite revolutionary in my humble opinion, but it is time for reboot. While the concept of using nothing but the desktop (and individual properties windows) as the work environment has its perks, it falls short on so many levels. Such as the central/visual editor several people in this thread expressed a desire for. Such as having grids, guidlines, etc. Such as having a quick-creation object pallette.

DX already does a whole helluva lot; the problem is a whole helluva lot of people don't know how to make it do what it does.The only limitation should be the user's imagination, and not the complicated, frustrating process of realizing his or her idea. Give the user quick access to the tools at their disposal, and you simplify the creation process. Simplify the creation process, and you free up the user's time to learn new tricks and actually get creative.

An intuitive user interface seems like the most logical solution to the lack of accessibility, and I think Stardock should strongly consider implementing any new aids in this format. DX does not have to become an inside-the-box program but it does need a more developmentally-friendly environment. I think a set of DX Builder widgets, or one super-console with access to all the developer tools/aids mentioned here could be a step in the right direction.




Another idea I had was to have checkboxes in the object navigator to make it easier to select specific objects, instead of doing ctrl+click or ctrl+unclick.


Often switching work between dozens of different projects, I have to keep browsing to different locations. A recently opened themes/objects list would be beneficial.


Please consider a proper dialog window for adding custom files. The one we have now is entirely cumbersome, counterintuitive, and unnatural. It's too small, too tedious to navigate, and cannot add multiple files at once.



1. Fix for WMI control. Some WMI scripts doesn't work on Vista without hacking the System Security Settings through auxiliary functions...

2. Full access to Windows API to create more usefull performance meters and administrative



applications. It would be great to see support for Visual

Basic 6.0. DesktopX will be incredible in this case!

3. Full access to ActiveX controls. In particular - to


Windows Media Player

11 (in Vista). As well I found a lot of bugs in this area when have tried to work with ListView, TreeView, ImageList, etc... DesktopX stops working and requires a reboot from time to time.

4. Support for Windows 64bit...

5. Expand the possibility of scripted animation. At least for images that has frames stacked verticaly.

6. Add "minimize" or "hide/unhide" option to Object Navigator.

7. Please, fix a bug with fonts in the Script Editor.


One more important detail!

Many of us likes use the DesktopX Form to create simple Toolbox or Control Panel for their widgets/gadgets. No doubt - this is very useful addition to DesktopX. But there is one unpleasant problem. We don't have any chances to edit the size of its elements (like TextBox, Combolist, etc..). As well to change their position inside the Form and the distance between each of them. As a result - the final product looks like unfinished....So please add the ability to edit (customize) DesktopX Form and its elements. It would be really great!


Another impotrant thing... It would be great to see *.avi in the list of Supported Formats (Object -> States -> Appearance -> Image) to use the real animated textures in the widgets/gadgets skinning...


As well as...

Two months ago, I worked on a gadget which can read and display S.M.A.R.T. data and HDD temperature through WMI. I've done it but the gadget can find only one phisical drive "C"... The other USB drives are unavailable. As well it can't measure the CPU temperature...

So it would be great to add into DX4 some plug-in which will work with PC sensors and retrieve the necessary data for us (for example like Everest).


It would be great to see:

1. Three new ActiveX controls integrated into DesktopX: Multicolumn ListView, TreeView and ImageList (with support for 32-bit images and icons) to make applications like windows explorer. (Or improve the access to MSCOMCTL.DLL. The elements of controls must be skinable - i.e. add the support for WB skins).

2. The OnClick event in the WebBrowser control for active elements of opened pages.

3. The ability to add/use icons in the DX Context Menu.


1. DesktopX PushButton and CheckBox control doesn't support the alpha channel. As a result we can see the ugly contour around these controls... Can it will be corrected in the DX4?

2. Object Navigator doesn't keep the font settings and resets it each time on startup... As well as the type of cursor on its ScrollBars is wrong. It show the "Diagonal Resize" instead of "Normal" mouse pointer.

3. When the Windows Media Player Control will start to work in DesktopX? If I remember - the age of this unpleasant bug is more than 1 year!!!!


- make DX not murder CPU as soon as something a bit larger or a group of objects has to be moved/resized/transparentized(i made that last one up but u catch my drift).

- please fix at least the problem of controls not showing until their parent is dragged

- improve script editor - maybe add tabs and other tools that other editors have (i love notepad++)

- maybe enable gadgets to wipe their data off the PC as soon as they're closed (for instance when running them from a memstick)

- it would be great if we could use blur and similar techniques to make our objects more attractive (windowblinds style), it would also be cool to be able to access windowblinds skin data easily and not have to be of Vad_M's caliber to do so

- make some more plugins for lets say: catching global keyboard keys imput, mouse movement (maybe ability to move mouse) and all mouse buttons as well as current mouse coursor's state.

- maybe enable already completed gadgets to communicate with eachother


I just remembered two things I'd really like to see (cant believe i totally forgot about them):

1. Enable parts of widgets/gadgets to be on different levels (one part Always on top, some other part at Desktop level etc.) It would be also nice if Z-order would be accessible through scripts.

2. Enable widgets/gadgets to steal/get focus - when using global hotkeys its very frustrating because the gadget shows itself because it has been set to visible by the hotkey but it is not in focus so you first must click on it before you can use it and that almost defeats the purpose of hotkeying it in the first place.



Include all the scripts that are available here at WC forums and sViz's Script Helper as 'templates'.

An advavnced DX player.

Low resource usage when using large animations.

Ability to import objects one by one or as a group from a dxtheme.


1. A way to toggle sounds in DX. People are always asking me how to kill those annoying sounds, while others, like myself, like them.

2. A way to turn off labels on the shortcuts added to DX. For instance. When I make a DX theme, after uploading it to the gallery, I add my shortcuts to the drag and drop menus. About 64 to 80 of them. Then I export it as a widget. I can make the label color default a magic pink, but when you export as a widget, that is nullified. So I have to go properties for each of the 64-80 icons and delete the text. It is ugly and cumbersome to have the text left there...especially if it is something like, "SureThing CD Labeler Microboards Edition 5." Takes up a lot of space in a menu. A simple way to toggle labels would save me a lot of work.

3. ( I know I said 2.) A simple way to have said drag and drop shortcuts to lock into place, rather than doing it one at a time for all 80 shortcuts. sViz has created a template that locks the shortcut, and removes the text and it works very well, but not all users know how to script. Of course, I can go into object navigator and highlight only the shortcuts and right click and lock in properties, but a simpler way would be nice.


Horizontal and vertical guidelines to help make things straighter. Or maybe a grid that we can turn on and off.

on Jan 08, 2010

Marking this post for later.

on Jan 08, 2010

willistuder: good work and you just saved a lot of work for SD in performing that collection of suggestions. 

on Jan 09, 2010

Offtopic : I would like to give Karma to willistuder for his summary, but either I really can't or I forgot how.

Ontopic : Great work there.

on Jan 09, 2010

Offtopic : I would like to give Karma to willistuder for his summary, but either I really can't or I forgot how.

simply hit the thubs-up btn at the bottom of the post you want to give Karma to.

on Jan 09, 2010

I think this is a golden opportunity to be in on the ground floor and help shape the future of a great program. This may never happen again. Most of the time these things are basically just thrust upon us as is. If you read the post, it strikes me as "Paint me a picture; I'll see what we can do".

What I've done is just a lump of suggestions: I've read them all, but I don't see a picture. I think that that list and any new suggestions needs to be distilled and sorted into what the core program could be/should be, and what I call attachments--the scripts and plugins. I'm just someone who likes neat gadgets that look like the skin I'm using; this needs the input of Vad_M and littleboy and Martin as well as who has shown up so far. The people that actually understand these things should carry this further by bouncing around ideas with each other, and then "Paint a picture".

There are others who could be helpful, as well--I'm just hoping that some of you who know these people could get them involved in this. DesktopX looks like it's on the brink to me, and it would be a shame to lose such a neat little tool.

on Jan 09, 2010

Love ya, Will!

on Jan 09, 2010

Just to say - as always I am happy to contribute / flesh some ideas out. Brad, if you or anyone else want me to help just shout.


on Jan 09, 2010

You Da Man, John!!! 

on Jan 11, 2010

Cleaning up old problems / Open Sourcing the plugins

Are there any plans to have a public bugtracker (and source repository) to make tracking problems easier than searching through the forums (thanks willistuder!)? I already have a Google Code project for all my plugins and Stardock related stuff here, and I won't mind doing some triage work with help from other interested skinners (at least on the plugin side). I don't want do start doing that if you plan to have an "official" repository though.

Open-sourcing the plugins is a great idea! Few people worked on those over the years (there are a few more people doing docklet development), but if we can find just a couple programmers interested to do some work on those, this would be great.

Adding new plugins

All my plugins are under a business friendly BSD licence, so feel free to review them and I'll try to fix any problems you see and prepare them for inclusion if needed (knowing that not all of them are "production-ready").

on Jan 13, 2010

I think this is a golden opportunity to be in on the ground floor and help shape the future of a great program. This may never happen again. Most of the time these things are basically just thrust upon us as is. If you read the post, it strikes me as "Paint me a picture; I'll see what we can do".

What I've done is just a lump of suggestions: I've read them all, but I don't see a picture. I think that that list and any new suggestions needs to be distilled and sorted into what the core program could be/should be, and what I call attachments--the scripts and plugins.


To me, the core of DX is widget-making. It is, in essence, a widget factory. A widget is a mini-application that sits on your desktop and does whatever you want it to. Anything you want. The only limitations are your skill and imagination.


When I say you can make a widget in DX that does whatever you want it to do…that is exactly what the results should be. End-users should be able to dream up a tool, entertainment object, whatever, and then load up DX and make it happen.


Users should be able to do this with a minimum amount of difficulty. It should be obvious from load up how to get from A to B to C, whether they’re starting from client and want to do simple modifications or they’re novices just poking around in builder mode.


When I say obvious, I mean some serious, but reasonable, hand-holding. DX’s learning curve, as is, is too steep.


The picture I see painted from willistuder’s compilation post, is that users are demanding two things: Ease of Use and Enhanced Functionality.

If DesktopX is to be rebuilt, I would like to see development move forward with a strategy that keeps both of these features in mind. But what I see so far seems heavily geared towards enhanced functionality only. I’d really like to know Stardock’s opinion on the issue of ease of use. Do you see it as an issue? Or do you see DX as a more of a do-it-yourself program for hard core enthusiasts?

For a long time, it seemed, to me, that DX was more of the roll up your sleeves and do-it-yourself variety. That’s how the vast majority of the DX veterans at that time had done it, I thought. So, I did the same.

But over time I began to see there were many more people wanting to get into the program but for whatever reason could not just ‘do-it-yourself’.  Most couldn’t script, many couldn’t make more than the standard widgets, but all of them really, truly wanted to use DesktopX.

For all intents and purposes, the user base of DesktopX has evolved, and IMO, the program needs to do the same in order to accommodate all skill levels, and, frankly, to remain viable.

DX should have a fluid, flexible design structure that can take a novice from working with the basics to working with more complex designs, all the while still managing to create good, useable content at every stage.


DX should be the Photoshop of widget-making programs, the one that’s so easy to use anyone can do it, yet so powerful professionals use it, too. This is best achieved with a friendly, structured, development environment that successfully marries enhanced functionality with ease of use.


One without the other will only see the program stagnate.


I’d like to get into specific ideas (and already have many times before) but what’s got me hesitating is I’m not entirely sure what the direction or focus is for Stardock re my question about ease of use. Is DX’s design structure up for debate? Or are we only thinking about stuff it can do at this point?


on Jan 13, 2010

I wonder if Scratch would be a model worth looking at (


Scratch in 30 seconds from andresmh on Vimeo.

3 Pages1 2 3