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)