1.0 About This Guide 1

Total Page:16

File Type:pdf, Size:1020Kb

1.0 About This Guide 1

User’s Guide

Spring 2005 © 2005 Stardock Corp. Contents

1.0 About this guide...... 1

2.0 What is DesktopX...... 1

3.0 The DesktopX Welcome Dialog...... 2

4.0 Loading Widgets...... 2

5.0 Loading objects...... 3

6.0 Loading a desktop...... 4

7.0 Creating & Modifying objects...... 5 7.1 The DesktopX Builder Dialog...... 5 Desktop Data Folder...... 7 New Object...... 7 Import...... 7 List...... 7 Hide desktop icons...... 7 Hide windows taskbar...... 7 Workarea...... 7 Resolutions...... 7 Labels...... 7 Make DesktopX Builder the default program for your content...... 8 Automatically copy new content into your DesktopX directories...... 8 7.2 Object Properties...... 8 7.3 Object Properties: General...... 9 Object Label field...... 9 Object Type...... 9 Default Appearance...... 10 New Script...... 10 Additional Abilities...... 10 7.4 Object Properties: Relation Page...... 10 Visible...... 11 Z-Order...... 11 Movement...... 11 Activation...... 11 Start with...... 11 Popup...... 11 Cursor...... 12 Position Adjusting (for resolution independence)...... 12 7.5 Object Properties: States page...... 12 Add (state)...... 13 Remove (state)...... 13

DesktopX version 3 i Copy from.. (state)...... 13 Reset (state)...... 13 Appearance...... 13 Animation...... 13 Transparency...... 14 Shadow/Glow...... 14 Color...... 14 Sound...... 14 Messages...... 14 7.6 Object Properties: Summary...... 15 Object ID...... 15 Parent/Owner...... 15 Child...... 15 Group...... 15 Widget...... 15

8.0 Object Context Menu...... 15 9.0 Object Grouping...... 16 Normal (grouping)...... 18 Optimized (grouping)...... 18 Combine (grouping)...... 18

10.0 Resources on the net...... 18

11.0 Contacting Stardock...... 19

DesktopX version 3 ii 1.0 About this guide

This guide is designed to help you learn how to use DesktopX and how to get the most out of it.

DesktopX can do some amazing things. As a user, you can use it to completely transform how you use Windows. As a developer you can use it as the ultimate “rapid development” environment.

Now it’s our job to show you how to get the most out of it.

2.0 What is DesktopX

DesktopX is a program that extends the desktop of Microsoft Windows. It does so by giving it a new native ability – desktop objects. At a basic level, that’s all DesktopX really does. It simply allows Windows to support objects natively on its desktop just as it already supports icons.

The magic comes in the fact that desktop objects can do just about anything. They’re not limited like icons are. Desktop objects can send and receive messages to each other and to the system. They can also have multiple states associated with them.

Through scripting or plugins, objects can send and receive messages, change their state or the state of other objects, and read in data from the net or from your computer and act on it.

Your DesktopX objects can then be exported for other people to use. It is through the exporting options that everything about DesktopX gets a little more “complicated” sounding. Because ultimately, DesktopX is really just a program that puts objects on your desktop.

It’s when you’re exporting “Stuff” that you start talking about widgets and gadgets and themes and the like. That’s because how people want to use these objects determines the best way to export them. If someone wants to replace their desktop, then it makes sense to export your objects as a “.desktop” file. If someone wants to use the objects like they would a program, then it makes sense to export it as a widget (.exe) (and if you have DesktopX Pro, you can export it as a gadget which is the same as a widget except that it can be used on anyone’s system).

DesktopX version 3 1 3.0 The DesktopX Welcome Dialog

When you load DesktopX, you are greeted with this dialog. It is designed to allow you to deal with your DesktopX content based on how it was exported.

Even though, like we previously said, all DesktopX does is let you put objects on the desktop of Microsoft Windows, how the content is exported tends to affect what those objects do.

So you essentially have 4 options (only 3 if you have DesktopX Client which lacks the DesktopX development environment).

Load Widgets Load Object Load Desktop Create

4.0 Loading Widgets

As we previously established, widgets are DesktopX objects that were combined together to create some sort of “mini-application” and then exported as an .EXE that uses the DesktopX run- time DLLs installed on your computer to run.

When choose “Load Widget”, the Widget Manager is run. You don’t really need this program to run widgets, it’s just there to make it easy to load and manage widgets. When you actually do choose to run a widget, your widget directory is opened.

DesktopX includes some very good widgets with it, namely the “Silica” series of widgets.

These widgets do things such as display a calendar, tell you how much disk space is available, allow you to load a picture onto your desktop, display the current stock values, give you a “To-Do” list and much more.

DesktopX version 3 2 You can interact with widgets by Right-Clicking on them and going to its properties dialog.

5.0 Loading objects The idea behind loading objects is that you have your current desktop and you want to import onto it other objects that either came with DesktopX or came from the net. If you already have some great desktop you created previously, then you’ll want to go to “Load desktop”.

By default, DesktopX objects are loaded into the “client” environment. That means that when you right-click on a desktop object, you will only get a couple of options (typically remove and set target). If you want to have the ability to modify those objects, you’ll need to go into the DesktopX development environment (by clicking “Create” on the DesktopX welcome dialog).

Now, if you want to always be able to modify objects (and desktops) whenever you want, then you’re going to want to have the DesktopX development environment be the default environment which you can do by loading it up and going to its preference dialog and choosing that option:

Figure 1: You can have the DesktopX development environment be the default environment by choosing "Create" and then clicking on the preferences tab.

If you’re in the DesktopX development environment when you’re importing widgets, you’ll get a very different right-click menu on it:

DesktopX version 3 3 Figure 2: When in the development environment, far more options are available to modify DesktopX objects.

We’ll go more into what can be done with objects later when we talk about the development environment.

6.0 Loading a desktop

Replacing your desktop is not a trivial step. This is where we lose a lot of DesktopX users. People will try out DesktopX, start grabbing a bunch of desktops and find there’s problems with them. That’s because most desktops are made for power users or at the very least very specific systems. They look great in a screenshot but when you try to use them they can be problematic.

This is something you’ll want to explore very carefully. Don’t worry though, it’s not replacing any system files and you can always get back to your regular Windows desktop in a few clicks.

By default if you choose load a desktop it will bring up your directory of desktops. However, if you actually load a desktop, the system tray will have the DesktopX settings dialog which will provide you with a desktop browser that is a bit nicer and explains more.

One of the desktop options is to take you back to your regular Windows desktop. So don’t be afraid to experiment here.

If the desktop you load hides your icons and Start bar, fear not, by right-clicking on the desktop you’ll get this menu:

DesktopX version 3 4 From this menu, you can get back to the DesktopX configuration or even unload the DesktopX environment.

7.0 Creating & Modifying objects

So now you’re ready to start making your own stuff. To do that, you need DesktopX Standard (sometimes called “Enhanced”) or DesktopX Pro.

When you choose “Create” the DesktopX development environment is loaded. It has been separated from the regular DesktopX elements because while it is very simple as development environments go, it is still a development environment which can wreak havoc with a new user.

7.1 The DesktopX Builder Dialog

Let’s start by looking at the DesktopX Builder dialog:

DesktopX version 3 5 Figure 3: DesktopX Builder Welcome Page

This first page gives you the option to import things to tinker with. So if you want to mess around with things other people have made, this is how you do it. A lot of people don’t realize that you can import in widgets and modify them as well. Widgets may be .EXEs but they can still be imported in as a group of objects.

This is the part where we say once again that in DesktopX, everything’s an object. When we talk about widgets and desktops and the like, that really only refers to how these objects were exported.

Figure 4: The Desktop page

DesktopX version 3 6 The second page is the Desktop page. It lets you start modifying your current desktop by adding objects to it.

Desktop Data Folder Everything about your current desktop is stored in the “Desktop Data Folder”. If you ever want to look inside there, you can press the “Open desktop data folder”.

New Object This button will create a new object on your desktop

Import This button will import an existing object (or widget)

List This button will list the current objects on your desktop

Hide desktop icons This option will set your current desktop to have its desktop icons hidden.

Hide windows taskbar This option will hide the Start bar

Workarea This option lets you control how much of the screen is reserved for program windows.

Resolutions This option allows you to set what resolutions your desktop is designed to be used at.

Labels This option allows you to determine how object labels (think icon labels) will look.

DesktopX version 3 7 Figure 5: The Preferences page

The last page allows you to set the preferences of the DesktopX environment.

Make DesktopX Builder the default program for your content This option will make DesktopX Builder, rather than the run-time client, be loaded when you load an object or a builder. It is OFF by default.

Automatically copy new content into your DesktopX directories This option will automatically move any downloaded content that you use into the appropriate DesktopX directory. It is ON by default. You may want to turn this off if you are finding your system getting full of DesktopX objects, widgets, and desktops from trying so many things out.

7.2 Object Properties So let’s create an object. To do that you will need to be in the DesktopX development environment (i.e. have the DesktopX builder loaded). Then either right click on its system tray icon and choose “new object” or from the builder dialog go to the desktop page and press the “New” object button.

The object properties dialog has 4 pages:

General Relation States Summary

DesktopX version 3 8 7.3 Object Properties: General

Figure 6: The General tab on the object properties dialog

Object Label field This field lets you specify a text label for your object. This is much like the label you’d have for an icon.

Object Type This specifies what type of object. Default is “Layer” which is just a techie word for “a picture that’s really not doing anything but looking pretty”. By pressing the “Change..” you load a dialog that displays other object type options.

Object types include: Shortcut. This links to a given program on your computer. URL. This has the object link to a particular website. Object Controller. This tells the object to perform some action on another object. Taskbar. This tells the object that it is to list the running tasks. SysTray. This tells the object that it is to use the system tray (note, this requires the MCP service to be running to be accurate). System. This means that the object is to represent a special system command such as the Find dialog, Shut down, log off, etc. DesktopX Builder. This tells the object that it is to perform some DesktopX specific command.

DesktopX version 3 9 Widget. This means that if this object is exported as a widget that it will function as some widget specific feature (such as closing the widget).

Default Appearance This allows you to control how the object is going to look by default.

New Script The “New” button will allow you to start working on a new script for the object. See the scripting guide to learn more on scripting.

Additional Abilities More features can be added to DesktopX objects by loading a plugin. Plugins are add-ons to DesktopX created by either Stardock or third-parties. Popular plugins include DXPlayer which comes with DesktopX and enables users to easily create media players, DXPerf which also comes with DesktopX that makes it easy to create performance monitoring objects.

When a plugin is added, it will need to be selected and then configured.

7.4 Object Properties: Relation Page

Figure 7: The Relation page

DesktopX version 3 10 The relation page is designed to allow you to control how this object will interact with the desktop and you.

Visible This determines whether the object’s initial state is visible or not.

Z-Order This option controls the relative Z position of the object. Options are Desktop (like icons), Normal (like programs) or always on top.

Movement This controls how and when an object can be moved around. There are many times when you may wish for an object not to be moved. However, even when an object is locked, it can still be moved by holding down the CTRL key when selecting it.

Activation This controls when the object will receive messages from the mouse. That is, whether the mouse cursor actually needs to be on the visible part of the object or just near it or not have it react to mouse messages at all which can be useful if you want to make the object semi-transparent and therefore have the object UNDER that object be what reacts to the mouse messages.

Start with This controls what is necessary to make the object “execute”. Single click, double click, mouse over or mouse down.

Popup This determines whether this object is a pop-up object. Pop-up objects are then controlled by other objects that are of the class “Object Controller”. The types of pop-ups are: Static Toggle (turn on and off) Menu (acts like a Windows menu – as soon as something else is clicked, it hides) Volatile (hides when another pop-up is opened, great for working with multiple pop-ups).

DesktopX version 3 11 Cursor This controls whether the mouse cursor changes when it is over this object. For instance, a text link object may want to have the mouse cursor change to the hand mouse cursor.

Position Adjusting (for resolution independence) Objects can be set to move themselves upon resolution changing. For instance, the object’s position can stay relative to the center the screen or to a given edge when the resolution changes.

7.5 Object Properties: States page

Figure 8: The States page

The states page of the object properties is the most complex page in all of DesktopX. That’s because states, like messages, are what make objects different from say icons. DesktopX objects can have an infinite number of different states.

For instance, a printer object might have its “default” state and it might have a “printing” state and it also might have a “paper out” state and a “out of ink” state and so forth. Each state can have its own image, color, animation, sound effect, etc. And upon a “State change”, a message can then be sent. So perhaps that hypothetical printer object, upon changing to “out of ink” state could then send a “Printer Attention” message to a “Administrative” object that, using some scripting, sends an email to the system administrator.

DesktopX version 3 12 Everything listed below in this section can work on a per state basis.

Add (state) This option allows you to add another state. There are some built in ones that have to do with mouse actions (mouse over, mouse away, mouse down, etc.).

Remove (state) This removes the selected state.

Copy from.. (state) This option will copy the state data from an existing data (a time saver).

Reset (state) Resets the selected state to the default settings.

Appearance The contents of this tab allow you to control what the object looks like in the selected state. You can choose “Image” to have a bitmap represent the state or a text. Note that all states have to be either an image or a text (you can’t have some states be text and others be an image).

Image based states States that are represented by images are just a matter of selecting a ICO BMP, TGA, or PNG to represent that state.

Text based states States represented by a text field have more options such as selecting the font, selecting the color of the font, selecting whether it has a border, whether it’s anti-aliased, etc. Text will word-wrap if it becomes larger than its specified size.

Animation This determines the animation settings for this state. If the image is a “bit strip” (an image with frames of animation in it horizontally) then you would set the number of frames involved.

The static animation option indicates that the image only has one frame in it (a single static image) but that want it to have multiple animation frames anyway. This is useful on the transparency page where you might want to have the image pulsate from 20% opacity to 100% in 20 steps (frames).

DesktopX version 3 13 The loop option will tell the animation to keep playing. Interruptible determines whether the animation will fully play out its animation on a state change or stop immediately (if there are multiple states involved, you will probably want this option selected). Scripted means that which frame is displayed is controlled via a script.

The style determines which direction the frames will be played.

Transparency This tab determines whether you want the object to be fully opaque or not. The default is no transparency. However, options include having 0% to 100% opacity or having it vary from X% to Y% in conjunction with the static image animation option. If it’s a bitmap that contains alpha blending information, you can use the bitmap contains per-pixel alpha blending information. PNG files tend to include an alpha channel in which case this option will be hidden.

Shadow/Glow Objects can be given a shadow. Sharpness determines the size of it. Darkness is on a scale from 0 to 255. Offset determines how many pixels the shadow is offset.

Color An object’s hue, brightness and contrast can be controlled here. So you could easily have an object’s “mouse over” state have its contrast increased 50% through this option.

Sound When the object’s state changes to the selected state, a sound can be played (or even looped for as long as it is in that state). Be the most popular guy in the office by having a really obnoxious sound play and loop…

Messages When an object changes to the selected state, you can have a message be sent to another object. This will change that object to the state of the same name.

DesktopX version 3 14 7.6 Object Properties: Summary

The summary page provides some information for the object and allows the user to configure the object in general. The X, Y position of the object is displayed here.

Users can also control the size of the object by setting its width and height. Note that changing the height and width of some objects can have some nasty side effects (such as if it’s an animated object).

You can also assign a tooltip to the object here.

Object ID The object ID is very important. By default, objects do not have a name (an ID). In order to interact with a particular object, it needs a name. You can click on the Object ID field “(unassigned)” by default to change its name.

Parent/Owner You can also set what its parent object is if applicable.

Child The child option determines whether the object has been merged as part of the window of a parent object.

Group If the object is part of a group, it’ll be displayed here.

Widget If the object was imported, it will be given a “widget” ID which allows DesktopX to try to keep it distinct from other objects. It’s through this that it knows what objects are “Related” to it.

8.0 Object Context Menu

As previously discussed, objects in the DesktopX development environment (i.e. the builder) have a number of options available to them.

DesktopX version 3 15 Options include:

Clone. Create an identical copy of the selected object. Delete. Remove the selected object from your desktop. Set Parent. Assign a parent to this object. By doing this, when the parent is moved, the child is moved with it. Z-Order. Change the relative Z axis position of the objects relative to other objects that are at the same level. For instance, if you have 5 objects that are “Desktop” z-order this will allow you to determine which object is on top of which. Select. Allows you to select all or related objects to the selected object. Export. Brings up the export dialog which will lead to allowing you to export the object as an “object pack”, a “widget”, or in the case of DesktopX Pro a “Gadget”.

9.0 Object Grouping Grouping is important if you want your objects to behave as a single unit. As you’ve no doubt figured out, a given object can really only do one thing at a given time.

This is best illustrated with an example. Imagine we wanted to create a simple Drive C bar disk space bar graph.

I would need 3 objects:

Object #1: The background for my meter Object #2: The text label to say “Drive C:” Object #3: The actual bar graph

So I would create my 3 objects.

Object #1 – the background. I would change its default appearance to be something relatively solid.

Object #2 – the text label. I would go to the appearance tab, change it to be a text object and type “Drive C:”.

Object #3 – the bar graph. I would open the object properties, go to the additional abilities area on the general tab, choose “add” and pick the Performance Meter plugin. Then select it, make sure its width and height fit within the size of my background. Then I would click on the data source tab and choose its data source to be the disk space from Drive C.

DesktopX version 3 16 At this point I would have something like the above. Now, I would drag and drop the objects together to make it look how I wanted it.

Then I would drag select (or right click on one of the objects and do a select->all) all the objects. Then I would right click and choose group:

When I pick group I get this dialog:

First I would need to give my group a name. Any name will do.

Next I would need to decide which of these options I would want to use. Realistically, they’re all pretty much the same. The difference in the three options is pretty technical but here they are explained:

DesktopX version 3 17 Normal (grouping) This puts the objects in a basic group. DesktopX doesn’t modify the parent-child relationship of the objects, instead it manually keeps track of how the objects are grouped to one another. This option is good if you have a really complicated object with lots of very specific parent-child relationships that you don’t want modified.

The down side is that when moving the object around, there is a loss of performance since there’s a lot more book keeping by DesktopX to preserve all the existing parent/child relationships.

Optimized (grouping) In this scenario, DesktopX will generate parent/child relationships between the various objects based on their relative Z-order to one another. The objects are still individual entities as far as DesktopX is concerned but they will now move together very smoothly. This is the most common option (and the default).

The down side is that it will modify the parent child relationships of objects which, if the object was counting on a particular object being its parent can be a problem.

Combine (grouping) In this option, the objects are effectively combined into a single mega object. This provides the ultimate in performance when moving the object around. The down-side is that it creates a single window for the whole object. That means if you move a child object away from the parent, it’ll disappear since it’s outside the “object window”.

10.0 Resources on the net

Hopefully this guide will help you get started with DesktopX. From here, you would want to learn how to create desktops, widgets, write scripts, etc. But that is covered in the developer’s guide in more detail.

You can get more information at http://www.desktopx.net/resources.asp

You can also get help from the DesktopX forums on WinCustomize.com: http://www.wincustomize.com/Forums.aspx?ForumID=168

Tutorials:

DesktopX version 3 18 http://www.wincustomize.com/Articles.aspx?CID=156

11.0 Contacting Stardock

Email support: [email protected] (should be used for technical problems, not to show you how to use it)

Phone support: 734-762-0687

News groups: News://news.stardock.com/stardock.desktopx

IRC support: Irc.stardock.com channel: #stardock

DesktopX version 3 19

Recommended publications