Home

What is a Desktop Sidebar plugin/panel?

A Desktop Sidebar plugin (or panel) is a DLL file which adds new abilities to the DS program. It is written using any programming language which supports COM

With what programming languages can I develop a panel for Desktop Sidebar?

You can write DS plugins with any language which supports COM, such as C++, all .NET languages (including C#, VB.NET, J# etc.) and Delphi.

However, the Desktop Sidebar SDK contains panel samples only for C++, C# and VB.NET.

I implemented a .NET Label control inside my panel and now I get error messages. What is wrong?

For some unknown reason, there is a problem when implementing a Label control inside a panel. Try to avoid using it. Use the DSSDK ITextOutput control instead.

I am .NET panel developer and I get this message each time I install my panel:
"RegAsm Warning: Registering an unsigned assembly with /codebase can cause your assembly to interface with other applications that may be installed on the same computer...."
What is wrong?

.NET panels should be signed before installation. This is done by using a strong key. After you sign your panel, you will not get that message during installation. For more details about signing your panel, look in the Creating a Panel Installation File section.

What files are considered a panel's dependencies?

The panel's dependencies are the files that the panel's *.dll file uses. Those dependencies are the files that have the following extensions:
*.dsplugin
*.dll
*.dsskin
*.dslang
dsidebarpia.dll

Tip:You can find the latest version of dsidebarpia.dll inside the dssdk.zip file, which can be found in Desktop Sidebar installation directory. Extract that file, and you'll find the dsidebarpia.dll in it.

Some panels might use more than one .dll file. Include those as dependencies as well.

If I want to add a panel to a specific category in the Add Panel dialog, do I have to supply an icon for this category?

You can pass null instead of a category icon to the RegisterPanel function (the function's 7th parameter). That way, if no other panel in this category specifies an icon, Desktop Sidebar will use the default icon for this category.

Where is the Desktop Sidebar user settings directory located and what does it contain?

Desktop Sidebar has a settings directory which contains all of the information that a Desktop Sidebar instance is using. It is the storage directory for installed plugins, skins, slideshows and for the the instance's settings file (sidebar104.settings). Each instance has its own directory inside the Application Data folder. The path to that directory may vary on each computer and if multiple instances of Desktop Sidebar are used.
Each Desktop Sidebar instance hasa unique name which is identical to the name of the directory which is stored in the Application Data folder. For example, if the instance is called "Desktop Sidebar 2", then the path to its settings directory will be:
"C:\Documents and Settings\[USER NAME]\Application Data\Desktop Sidebar 2\"

I want to add my panel to the built in categories of Desktop Sidebar (System, Media...). How can I do it?

Just write the name of the category without capital letters, and add the extension _cat .

For example:

For the System category write:
system_cat

For the Media category write:
media_cat

How can I add my panel to the Performance panel as a performance ticket?

In order to add your panel to the Performance panel you need to add it to the "PERFORMANCE_TICKET" category by changing the category parameter in the RegisterPanel function. In this case, you won't see the panel in the Add Panel menu. You will need to open the Performance panel properties dialog and click the Add button. Choose your panel and you'll see it was added to the list of panels. Click the OK button and it will be added to the Performance panel.
It is also recommended that you implement the IPerfTicket interface when making a Performance panel ticket. That way, you can tell DS what is the preferred size of your panel and then your panel will not take a whole "row" in the performance panel.

My .NET panel flickers and I use Window Form Controls. How can I prevent it from flickering?

When using Window Form Controls in a .NET panel, you might see flickering. In order to solve the problem, you should add the following line to the Create() method:

[C#]

this.SetStyle(ControlStyles.DoubleBuffer | 
ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | 
ControlStyles.Opaque, true);


[VB]
Me.SetStyle(ControlStyles.DoubleBuffer Or 
ControlStyles.AllPaintingInWmPaint Or ControlStyles.UserPaint Or 
ControlStyles.Opaque, True)