DesktopX 3 Journal: Day 1

Centralized scripting in action

Introduction

This is the first in a series of journals I plan to write about the evolution of DesktopX into version 3.

So let me give you a background on this because some people may think "Why so much written stuff on this thing? What's the big deal?"

DesktopX has traditionally acted as an environment where people could put objects on their Windows desktop, and then combine them together to either design a complete desktop or as a mini-application and then export them as a desktop (a DesktopX theme) or as a program for others to use (a widget).

The reason why widgets are such a big deal is that since the Macintosh was released in 1984, we've only had to two types of "things" that would show up on your desktop.  You have icons, which are just little static pictures. Or you had full blown applications.  There was nothing in between. They either were full blown programs or they were just pictures.

I don't normally toot our horn too much on this issue but because some other programs have tried to imply they somehow came up with this concept, DesktopX was the first program to actually deliver on the concept of having interactive content on your desktop that could be created by end users. 

The idea for this isn't new. IBM, Apple, and Microsoft all wanted to have something that was more than an icon but less than a full blown program.  Something that could exist on your desktop that wasn't much harder to create than an icon and was a lot less complicated to make than a traditional application. 

Centralized Scripting

In DesktopX 2, a widget developer would create several objects on the desktop and then attach bits of scripting to each one based on what they wanted it to do.  This made it easier to create fairly simple widgets but more complex ones were a bit of a pain because DesktopX 2.x couldn't really create new objects.

That changes in DesktopX 3.  In DesktopX 3, you can control everything in your widgets from a single script.  One place this makes things easier is in terms of dealing with user input.  In DesktopX 2, the object being clicked on was the object that had to handle the input. This could be a pain in the butt.  DesktopX 3 lets callbacks be in the same script.

So let's say you have a widget with several buttons on it.  Each button is an object.  In DesktopX 2, each object would have to have a script to deal with what happened when the user clicked on that button.  In DesktopX 3 a new API exists:

function Object_OnLButtonUp(szObjectName, x, y, bStatus)
{

}

So now you just supply the object name and you can handle its inputs from a single script.

26,444 views 14 replies
Reply #1 Top
Thanks. This will be interesting.

Reply #2 Top
Thanks,interesting read..
Reply #3 Top
I could kiss you!! centralized scripting!! I may go back to widget creation afterall!!

one question: will the current method still work as well? could we use multiple scripts on seperate object?
Reply #4 Top
Ahh, this'll be nice
Reply #5 Top
Will definitely be reading this
Reply #6 Top
You can still do multiple scripts like you could before.  The difference now is that you don't have to do it that way if you don't want.
Reply #7 Top
that looks good, saves having 10 scritps on 10 different objects, you could keep it all together, and make it easier to edit.
Reply #9 Top
DesktopX 2.4 (released version) works fine here. And since DesktopX 3 is a free upgrade for 2.x users, I'm not sure what the problem is.
Reply #10 Top
Well, I and several others have reported in the forums that the system tray object does not display any icons. Don't take me wrong, I love the software. I use DesktopX (v2.3) every day. I've spent the last 6 months developing a new theme, and just as I go to release it, v2.4 comes out... and it doesn't work with my theme. So of course I thought it was just the theme. I recreated the systray object from scratch from within dx2.4 and still no icons display in the object. So of course, I blame myself again. But even the default systray object with no graphic also displays no icons. Even went so far as to wipe my system clean with a fresh install and install nothing but DX2.4 first. Same results. If I've been posting in the wrong forum or newsgroup, let me know the correct one to post bug reports to. I want as much as you do for this software to be amazingly successful.
Reply #11 Top
I have the exact same issue Chadamus, i have a dock waiting on a WORKING system tray item in 2.4
Reply #12 Top

System tray has nothing to do with DesktopX but rather a buggy MCP.  Not that you guys want to know too much internal Stardock politics but the lead developer on MCP was recruited by Microsoft (wait for it) several months ago.

So DesktopX 2.4 and others went to this new standard but MCP hadn't been finished updating.  Luckily, the lead from ObjectDock/ObjectBar has been assigned to bringing MCP back to life.

But all that aside, if you really do want to help, we need constructive feedback. Saying DesktopX "doesn't work" because your system tray object isn't displaying system try items on your theme is, a bit excessive don't you think? 

Reply #13 Top
System tray has nothing to do with DesktopX but rather a buggy MCP.


Ah, so you do admit it's a known issue. Thank you! Progress at last!

And as for constructive feedback, I've posted in the newsgroups with screenshots, multiple steps I've tried to correct the issue, and lots of helpful hints. Not so much as even an acknowledgment, so containing the attitude gets a bit difficult at times. I apologize.
Reply #14 Top

You could contact [email protected]. If others don't know the solution, (I certainly don't) then you can contact them.  The MCP is being updated but it's a seperate piece of the puzzle. It's not part of DesktopX.

Bear in mind that MCP is the only reliable (or close to it even) solution for displaying system trays independently. It's non-trivial technology.