Google Desktop
 Google Desktop Sidebar Plug-In Creation Using Scripts

For Users
  Download Plug-ins
  Desktop Search Forum

For Developers
  Plug-in Development
  Download SDK
  Developer Guide
    Index API
    Query API
    Display API
      Script API
      Communication API
      Plug-in UI Guidelines
      Plug-in Design Guidelines
      Plug-in Tutorials
        Using Wizard
        Using Helper Framework
        Using ActiveX
    Action API
    Event API
    Plug-in Installer
  Submit Software
  Developer Forum
  Desktop Blog

Contents
Introduction

The Google Desktop Display API now includes objects and methods that let you write plug-ins in scripting languages such as JavaScript or VBScript. While scripting is much simpler than other ways of writing plug-ins, if your plug-in uses advanced UI features, such as native Windows widgets, you must use the native COM-based methods instead.

This document assumes familiarity with the principles, objects, and interfaces described in the Google Desktop Display API documentation. Before writing a Sidebar plug-in, you should also read the Plug-in UI Guidelines.

Back to top

Getting Started

To develop a script Sidebar plug-in, start by downloading the GD SDK. For script-based plug-ins, unlike other plug-ins, you will not have to write code to register your plug-in with Google Desktop or to install/uninstall your plug-in; the Plug-in Installation Tool takes care of that for you. Note that you must use the Installation Tool to package and install a script-based plug-in.

Your scripts can use any standard script language features, functions and data types. However, as of this release, scripts cannot use native UI widgets in the Sidebar UI.

Script plug-ins execute in a layer above the plug-in helper framework. A plug-in's script is responsible for setting the usual plug-in properties and content (tile title, About dialog text, icons, creating content items, etc.). Scripts can also implement more advanced features such as adding custom items to the plug-in's menu, showing an options dialog, allowing save and restore options across sessions, custom drawing for content items, etc..

Back to top

Hello World! Plug-in

Let's look at a basic Hello World JavaScript plug-in. This plug-in will show one item in a Sidebar tile with text reading 'Hello World!'. When you click on the item, its details view will have the text "Detailed description".


    // Setup the icons, about dialog stuff and flags
    pluginHelper.title = "Hello World!";
    pluginHelper.about_text = "HelloWorld! plugin\nCopyright (c) \nMore description here";
    pluginHelper.SetIcons(utils.loadImage("plugin_small.gif"), utils.loadImage("plugin_large.gif"));
    pluginHelper.SetFlags(gddPluginFlagNone, gddContentFlagHaveDetails);

    // Create a content item and say hello.
    var item = new ContentItem();
    item.heading = "Hello World!";          // this string is shown in the item
    item.snippet = "Detailed description";   // this string shown in details view
    pluginHelper.AddContentItem(item, gddItemDisplayInSidebar); // add the item to the display
    

And that's all there is to this plug-in. As mentioned, the Plug-in Installer will take care of writing all the code needed to register the plug-in with GD. So all you have to worry about is specifying your plug-in's properties and how it responds to events.

The pluginHelper object represents your overall plug-in/Sidebar tile. The first block of code above sets some of its properties, giving the tile a title, text to display in its About dialog, and its small and large icons (setIcons() sets both icons, with the small icon as its first argument and the large icon as its second argument). Other settings are left as their default values.

Of course, you have to provide image files for the tile's icons. The utils object provides various utility methods; here we use its loadImage() method to load image file contents into the script environment.

The second code block works with a content item displayed in the tile. We start by creating a ContentItem object; each content item in a tile is represented by a separate object. Then we set some of its properties, specifically the texts that will appear in the tile display and the item's details view. Finally, we use the pluginHelper method AddContentItem() to display this content item in the tile. Of course, there's also a RemoveContentItem() counterpart method.

The flag variables gddXXXXXX used in the above plug-in are declared in the Google Desktop directory (Note: not in the SDK, but in the GD application directory) in both plugin_common.js and plugin_common.vbs. These variables will always be available, since their scripts automatically run before a plug-in is loaded/executed.

You should look at, run, and experiment with the various sample scripts provided in the GD SDK in the directory api/samples/scripts/display/ before developing your first script. First, look at and run the Hello World sample, then Options & Menu, and then Custom Draw. Then move on to the more advanced and comprehensive sample plug-ins such as Calendar, Media Player and Word-a-Day.


Handling Events

Many objects used by a plug-in expose an event model which you can use to customize the plug-in's execution. To handle an event, you must set a handler function for that specific event. Events which you can override using script handlers can be found in the Event Handlers section of each of the Script API objects listed below.

Event handlers are write only; all you can do with them is assign a function to them. If you don't set a particular handler, its default action happens in response to its associated event. In their descriptions below, a prototype signature is given for each event handler; the function you assign to a particular event handler should match its prototype's signature.

Let's look at the relevant parts of the Options & Menu sample code to see an example of event handler usage.


    // Plug-in properties being set, similar to the Hello World example.
    // ...
    // Associate the plug-in object's onAddCustomMenuItems event with
    // a function defined in the script.
    pluginHelper.onAddCustomMenuItems = AddCustomMenuItems;  // handler to add menu items    

    // ...

    function AddCustomMenuItems(menu) {
      // Add the various item layouts as menu items and check the currently selected one
      var itemLayout = options.GetValue("item_layout");
      for (var i = 0; i < menuItems.length; ++i) {
        if (i == itemLayout) {
          menu.AddItem(menuItems[i], gddMenuItemFlagChecked, MenuItemClicked);
        } else {
          menu.AddItem(menuItems[i], 0, MenuItemClicked);
        }
      }    
    }

    // ...
   

In this case, we assign the AddCustomMenuItems function to the pluginHelper object's onAddCustomMenuItems event. Note that the assigned value consists only of the function name, not its full parameter signature. This event happens when the Sidebar wants to initialize the plug-in's menu before displaying it.

The prototype listed for AddCustomMenuItems is AddCustomMenuItems(menu), so our assigned function must also take a single argument, a menu object. As it happens, we wrote our function to have the same function and parameter name, although this is not required.

For more advanced information, see the API IDL file for the specific interfaces implemented by each of the following objects.

  1. IGoogleDesktopDisplayContentItemHelper2
  2. IGoogleDesktopDisplayPluginHelper2
  3. IGoogleDesktopDisplayWindow
  4. IGoogleDesktopDisplayWindowControl
  5. IGoogleDesktopDisplayMenu

You can find additional examples of script event handling in the sample plug-in code.


Internationalization 

Even if you don't or aren't able to provide text in multiple languages for your plug-in, you should write your plug-in to support doing so. Eventually, someone else may want or be able to provide other language versions of your plug-in's text.

To do so, all language-specific strings that will be visible in your plug-in's UI must be placed in a file named strings.js or strings.vbs under subdirectories named after the appropriate language ID. These files contain variable assignments for the strings in a particular lanaguge. Instead of using the strings in your plug-in code, use the variables instead. For example, Hello World's English strings.js file contains, among other assignments, the line:
var strTitle = "HelloWorld!"

If you wrote your Javascript plug-in to have both English and French versions, your files would be placed in the following directory tree:


  <GD dir>/Plugins/YourPlugin
                     |
                     |---- plugin.js
                     |
                     |---- plugin.gif
                     |
                     |---- 1033 (langID for US English)
                     |      |
                     |      `-- strings.js
                     |
                     `---- 1036 (langID for French)
                            |
                            `-- strings.js

The Sidebar first checks for a directory with the same language ID as the current system. If there is one, it loads that directory's strings.js file. If it cannot find that file, it defaults to loading the 1033 (US English) directory's strings.js file if present. For a VBScript plug-in, it does the same thing but with strings.vbs.


API Overview

The Sidebar API exposes these global variables for use by scripts. These are all described in detail, including properties, methods, and event handlers, later on:

  • pluginHelper: An object representing your plug-in.
  • options: Your plug-in's options store, which contains your plug-in's options and settings data.
  • utils: Provides access to various utility methods, such as managing timers, showing message boxes, getting user input, loading images, etc..
  • googleTalk: Allows your plug-in to get the list of online friends and send/receive data.

Also, the Sidebar exposes the following object types:

  • ContentItem: the ContentItemHelper object, creates a GoogleDesktop.ContentItemHelper object.
  • DetailsView: the DetailsViewHelper object creates a GoogleDesktop.DetailsViewHelper object and implements IGoogleDesktopSidebarDetailsViewHelper.
  • XMLHttpRequest: wrapper around an XMLHttpRequest object, creates a Microsoft.XMLHttp object.
  • DOMDocument: wrapper around a DOMDocument object, creates a Msxml.DOMDocument object.
  • WebBrowser: wrapper around Shell.Explorer object.

When creating the above objects:

  1. In JavaScript you can create these objects using new <ObjectName>. None of these constructors take an argument.
  2. In VBScript, create these objects via CreateObject() along with the object's ProgID as given above.

Script API Reference

This section shows the various script-related objects in the GD API, including their properties, methods, and event handlers.

Global (not associated with any object)
Event Handlers
Name Prototype Description Returns
onLoad onLoad() If this function defined, it will be called after the plug-in has been completely loaded and before it is displayed. The plug-in can perform initialization tasks in this callback. Nothing
onUnload onUnload() If this function is defined, it will be called when the plug-in is about to be unloaded. The plug-in can perform cleanup tasks (e.g. close timers, free objects etc.) in this callback. Nothing


PluginHelper object
Properties
Name Description Type Read/Write
title Title shown for the plug-in. string Write only
about_text Text shown in the plug-in's About dialog. string Write only
content_items Array of displayed content items array of content_items Read/write (in JavaScript, reading the value returns a VBArray)
max_content_items Maximum number of displayed items. Default is 25 items, but the plug-in can modify this value if needed. integer Read/write
window_width Plug-in window width in pixels. integer Read only
window_height Plug-in window height in pixels. integer Read only
pin_images Array of images to use for the 'pin' icon, which when clicked pins the clicked item at the top of the list. array of images Read/write (in JavaScript, reading the value returns a VBArray)
Methods
Name and Arguments Description Returns
SetFlags(plugin_flags, content_flags) Set plug-in and content flags affecting plug-in behavior. Nothing
SetIcons(small_icon, large_icon) Set icons used in the plug-in's title and About dialog. Nothing
AddContentItem(content_item, display_options) Add the specified single content item. Nothing
RemoveContentItem(content_item) Remove the specified single content item. Nothing
RemoveAllContentItems() Remove all content items. Nothing
Event Handlers
Name Prototype Description Returns
onShowOptionsDlg InitDialog(window) Called to initialize the plug-in's options dialog before displaying it. Return false to cancel the dialog, true or nothing to display it.
onAddCustomMenuItems AddCustomMenuItems(menu) Called to initialize the plug-in's menu before displaying it. Nothing
onCommand OnCommand(command) Called to process plug-in commands defined by the GD API ('command' is one of GDD_CMD_xxxx). Nothing
onDisplayStateChange OnDisplayStateChange(new_display_state) Called to process display state changes.
new_display_state is one of the gddTileDisplayStateXXXX defines.
Nothing
onDisplayTargetChange OnDisplayTargetChange(new_display_target) Called to process display target changes.
new_display_target is one of the gddTargetXXXX defines.
Nothing


ContentItem object
Properties
Name Description Type Read/Write
title Title shown for the plug-in. string Write only
image Image to show in the item. Image Read/write
notifier_image Image to show in the notifier. Image Read/write
time_created Time (in JavaScript, the variant time value). time Read/write
heading Item's displayed title. string Read/write
source Item's displayed website/news source. string Read/write
snippet Item's displayed snippet. string Read/write
open_command URL/file path opened when the user opens/double clicks the item. string Read/write
layout Layout of the item indicating the format in which the item should be displayed. integer Read/write
flags Combination of the content item flags. integer Write only
tooltip Tooltip text, such as full path, full headlines, etc. string Write only
friend_name If this item was received from another user, contains the name of the user who sent the item. string Read/write
time_received If this item was received from another user, contains the date & time (in UTC) when it was received. string Read/write
Methods
Name and Arguments Description Returns
SetRect(x, y, width, height) Set the item's display position. Before setting any item's position, enable the plug-in's MANUAL_LAYOUT flag. If this is not done, the items will appear in the default positions given by the plug-in. Nothing
Event Handlers
Name Prototype Description Returns
onDrawItem DrawItem(item, display_target, graphics, x, y, width, height) Called to draw the item. Returns nothing.
onGetHeight GetHeight(item, display_target, graphics, width) Called to get the height in pixels of the item for the given width. Returns integer giving the item's height in pixels.
onOpenItem OpenItem(item) Called when the user opens/double clicks the item. Returns nothing.
onToggleItemPinnedState ToggleItemPinnedState(item) Called when the user clicks the 'pin' button of an item Returns nothing.
onGetIsTooltipRequired GetIsTooltipRequired(item, display_target, graphics, x, y, width, height) Called to check if a tooltip is required for the item displayed at the given position Returns boolean, true to show the tooltip, false to not show it.
onDetailsView OnDetailsView(item) Called before showing the details view for the given item Return nothing to cancel the details view, or return an object with the following properties:
  • obj.title - the title to be shown for the details view
  • obj.details_control - an activeX control which should be shown in the details view
  • obj.flags - flags controlling the details view layout/usage
For more info on each of the above params, see documentation for OnDetailsView in interface IGoogleDesktopDisplayContentItemHandler
onProcessDetailsViewFeedback ProcessDetailsViewFeedback(item, details_view_flags) Called to process user action in the details view. Returns nothing.
onRemoveItem RemoveItem(item) Called when user removed an item from the display Returns true to cancel the remove and keep the item, false to continue and remove the item.


options
Methods
Name and Arguments Description Returns
GetValue(key_text) Get the value for the given key. Returns string which is key argument's value, returns an empty string if not found.
PutValue(key_text, value) Set the value for the given key. Returns nothing.
Clear() Remove all key/value pairs in this options store. Returns nothing.


utils
Methods
Name and Arguments Description Returns
GetValue(key_text) Get the value for the given key. Returns string which is key argument's value, returns an empty string if not found.
loadImage(image_src) Load and return the given image file.
image_src can be path to a local file (remote URLs not supported) or it could be the responseStream member of a XMLHttp object (this allows the plugin to download images using XMLHttp object and load them).
Returns the loaded image object.
setInterval(handler, elapse_ms) Set a repeating timer that calls the handler every time it expires. Returns new timer's ID.
clearInterval(timer_id) Clear/end the given timer. Returns nothing.
setTimeout(handler, elapse_ms) Set a one-shot timer which calls the handler once after it expires. Returns new timer's ID.
clearTimeout(timer_id) Clear/end the given timer. Returns nothing.
alert(text) Display a message box with the given text. Returns nothing.
confirm(text) Returns boolean, true if OK was pressed, false if not. Display a message box asking the user to press OK or cancel.
prompt(label, default_text) Display a input box asking user for input. Returns string the user entered.
log(level, category, text) Sends the given text to the Plugin Debug Console. The Plugin Debug Console is a tool included in the SDK and has to be running to receive and display messages sent using this method.
category is a string defined by the plugin identifying which category this log message belongs to (eg. timer, network etc).
level is one of the gddLogLevelXXXX values.
Returns nothing


googleTalk
Properties
Name Description Type Read/Write
friends Returns the friends that are online. An array of friend objects. Read only
Methods
Name and Arguments Description Returns
SendTalkData(friend_id, data) Sends a string to a friend. friend_id is from the user_id property of friend object. Returns nothing.
SendTalkText(friend_id, message) Sends a text message to a friend as an IM. friend_id is from the user_id property of friend object. Returns nothing.
Event Handlers
Name Prototype Description Returns
onReceiveTalkData OnReceiveTalkData(friend, data) Called when the same plugin on a friend's machine sends data. friend is a friend object, and data is a string. Returns nothing.


Friend object Note: this object is returned by googleTalk. The plugin cannot create variables of this type.
Properties
Name Description Type Read/Write
name The friend's user visible name. string Read only
user_id The friend's user id, this is passed as a parameter to methods such as SendTalkText and SendTalkData. string Read only
email_address The friend's email address. string Read only
has_sidebar Whether the friend has the Sidebar installed. boolean Read only
status The status of the friend (i.e. online/idle/busy). integer Read only


graphics Note: Color can be a html color string "#FF00FF", one of gddColorXXX defines, or empty for the default color. Font can be one of gddFontXXX defines, or empty for default font.
Methods
Name and Arguments Description Returns
DrawLine(x1, y1, x2, y2, color); Draws a line from x1,y1 to x2,y2 with given color. Returns nothing.
DrawRect(x, y, width, height, line_color, fill_color) Draws a rectangle in the given coords with given colors. Returns nothing.
DrawImage(x, y, width, height, image, alpha_percent) Draw the given image at the given rectangle. The image is blended with the specified alpha (0-100). Returns nothing.
DrawText(x, y, width, height, text, color, flags, font) Draw the given text at the rect with given color and font. flags is a combination of text flags gddTextFlagXXX. Returns nothing.
GetTextWidth(text, flags, font) Calculate the pixel width of the given text rendered using the given font. flags is a combination of text flags gddTextFlagXXX Returns integer giving the pixel width required for the text.
GetTextHeight(text, width, flags, font) Calculate the pixel width of the given text rendered using the given font. width gives the size in pixels at which the text should be clipped/wrapped. flags is a combination of text flags gddTextFlagXXX Returns integer giving the pixel height required for the text.


menu
Methods
Name and Arguments Description Returns
AddItem(item_text, style, handler) Add a single menu item. style is a combination of gddMenuItemFlagXXXX. The handler's function prototype is OnMenuItem(item_text). Returns nothing.
SetItemStyle(item_text, style) Set the style of the given menu item. Style is a combination of gddMenuItemFlagXXXX. Returns nothing.
AddPopup(popup_text) Add a submenu/popup showing the given text. Returns menu object for the new popup menu.


window
Methods
Name and Arguments Description Returns
AddControl(ctrl_class, ctrl_type, ctrl_id, text, x, y, width, height) Create a control with the given data and add it to the window. ctrl_class is one of gddWndCtrlClassXXX. ctrl_type is one of gddWndCtrlTypeXXX. Parameters ctrl_id, text, x, y, width and height are just passed to the control's put methods, so their types should match the put methods' parameters. Returns new control's WindowControl object.
GetControl(ctrl_id) Retrieve the control with the given ID. Returns the WindowControl object for the given control.
Event Handlers
Name Prototype Description Returns
onClose OnClose(button_id) where button_id is one of the gddIdXXXX defines. Called when the window closes. Returns boolean; false to keep the window open, true or nothing to close it.


WindowControl object
Properties
Name Description Type Read/Write
title Title shown for the plug-in. string Write only
id Control's identifier. string Read/write
enabled Flag indicating if this control is enabled/disabled boolean Read/write
text Control's full displayed content. For a list control, this is an array of strings in the list. For other controls, it is a single string Read/write
value Control's current value. For a list control, it is the currently selected string. For a check box button control, it is a boolean indicating the check state. For other controls, it is the displayed text string Read/write
x Control's x position in pixels. integer Read/write
y Control's y position in pixels. integer Read/write
width Control's width in pixels integer Read/write
height Control's height in pixels. integer Read/write
Event Handlers
Name Prototype Description Returns
onChanged OnChanged(window, control) Called whenever control content (other than buttons) is changed by the user. Returns nothing.
onClicked OnClicked(window, control) Called when a user clicks a button, either normal or checkbox. Returns nothing.


Constants and Flags
Details View Flags
Name Description
gddDetailsViewFlagNone No flags are passed.
gddDetailsViewFlagToolbarOpen Make the details view title clickable like a button.
gddDetailsViewFlagNegativeFeedback Add a negative feedback button in the details view (e.g. 'Don't show me items like this').
gddDetailsViewFlagRemoveButton Add a 'Remove' button in the details view.
gddDetailsViewFlagShareWithButton Add a button in the details view which displays the friends list when clicked, and the user can share the content item with them.
Plug-in Flags
Name Description
gddPluginFlagNone No flags are passed.
gddPluginFlagToolbarBack Add a 'back' button in the plug-in toolbar.
gddPluginFlagToolbarForward Add a 'forward' button in the plug-in toolbar.
Info Masks
Name Description
gddInfoMaskNone No flags are passed.
gddInfoMaskMinSize Return the minimum size required for the plug-in to display its content
gddInfoMaskMaxSize Return the minimum size required for the plug-in to display its content
gddInfoMaskIdealSize Return the ideal size required for the plug-in to display its content
Plugin Commands
Name Description
gddCmdAboutDialog Show About dialog.
gddCmdToolbarBack User clicked the 'back' button.
gddCmdToolbarForward User clicked the 'forward' button
Content Item Layouts
Name Description
gddContentItemLayoutNowrapItems Single line with just the heading and icon.
gddContentItemLayoutNews A layout displaying the heading, source, and time.
gddContentItemLayoutEmail A layout displaying the heading, source, time, and snippet.
Content Flags
Name Description
gddContentFlagNone No flags are passed.
gddContentFlagHaveDetails Show details view when user clicks on content items.
gddContentFlagPinnable Allow user to pin content items so they will always be displayed.
gddContentFlagManualLayout Plug-in will manage the layout of items by giving each item's display position
Content Item Flags
Name Description
gddContentItemFlagNone No flags passed.
gddContentItemFlagStatic Item does not take user input.
gddContentItemFlagHighlighted Item is highlighted/shown as bold.
gddContentItemFlagPinned Item is pinned to the top of the list.
gddContentItemFlagTimeAbsolute Item's time is shown as absolute time and not relative to current time.
gddContentItemFlagNegativeFeedback Item can take negative feedback from user.
gddContentItemFlagLeftIcon Item's icon should be displayed on the left side.
gddContentItemFlagNoRemove Do not show a 'remove' option for this item in the context menu.
gddContentItemFlagShareable Item may be shared with friends. This will enable the specific menu item in the context menu and the button in the details view.
gddContentItemFlagShared Indicates that this item was received from another user.
gddContentItemFlagInteracted Indicates that the user has interacted (viewed details/opened etc.) with this item.
Tile Display State
Name Description
gddTileDisplayStateHidden Tile is not visible.
gddTileDisplayStateRestored Tile is restored from being minimized or popped out states.
gddTileDisplayStateMinimized Tile is minimized and only the title bar is visible.
gddTileDisplayStatePoppedOut Tile is 'popped-out' of the sidebar in a separate window.
gddTileDisplayStateResized Tile is resized.
Target Device
Name Description
gddTargetSidebar Item is being displayed/drawn in the Sidebar.
gddTargetNotifier Item is being displayed/drawn in the notification window.
gddTargetFloatingView Plugin/item is being displayed in it's own window floating on the desktop.
ContentItem Display Options
Name Description
gddItemDisplayInSidebar Display the item in the Sidebar.
gddItemDisplayInSidebarIfVisible Display the item in the Sidebar if it is visible.
gddItemDisplayAsNotification Display the item in the notification window.
gddItemDisplayAsNotificationIfSidebarHidden Display the item in the notification window if the Sidebar is hidden.
Window Classes
Name Description
gddWndCtrlClassLabel Standard windows static/label control.
gddWndCtrlClassEdit Standard windows single-line edit control.
gddWndCtrlClassList Standard windows listbox/drop-list combobox control.
gddWndCtrlClassButton Standard windows button control (also includes check boxes).
Control Types
Name Description
gddWndCtrlTypeNone Nothing passed.
Edit Control Types
Name Description
gddWndCtrlTypeEditPassword Edit box to allow user enter passwords, masks the actual characters entered.
List Control Types
Name Description
gddWndCtrlTypeListOpen Normal list control showing all options in a scrollable window.
gddWndCtrlTypeListDrop Drop down list control (also called a combobox control without in-place editing feature).
Button Control Types
Name Description
gddWndCtrlTypeButtonPush Standard pushbutton.
gddWndCtrlTypeButtonCheck Checkbox control.
Font IDs
Name Description
gddFontNormal Font used for normal text.
gddFontSnippet Font used for snippet text (could be slightly smaller than normal font).
gddFontExtraInfo Font used for extra info about items (e.g. source and time).
Text Color IDs
Name Description
gddColorNormalText Color used for normal text.
gddColorNormalBackground Color used for the Sidebar background.
gddColorSnippet Color used for snippet text.
gddColorExtraInfo Color used for extra info about items (e.g. source and time).
Text Flags
Name Description
gddTextFlagCenter Center text horizontally.
gddTextFlagRight Right align text.
gddTextFlagVCenter Center text vertically.
gddTextFlagBottom Bottom align text.
gddTextFlagWordBreak Break text at word boundaries when wrapping multiple lines.
gddTextFlagSingleLine Display text in a single line without line wraps.
Menu Item Flags
Name Description
gddMenuItemFlagGrayed Disabled menu item.
gddMenuItemFlagChecked Checked menu item.
Button IDs Which Appear In The Options Dialog
Name Description
gddIdOK OK button
gddIdCancel Cancel button.
Levels of messages written to the Plugin Log
Name Description
gddLogLevelDebug Used for normal diagnostic messages.
gddLogLevelInfo Used for informatory messages that might not be normal behavior.
gddLogLevelWarning Used for situations where input/data is unusual and needs attention.
gddLogLevelError Used for critical errors.
Status of a contact in the Friends List
Name Description
gddFriendStatusOnline Friend is online.
gddFriendStatusIdle Friend is idle, has not used the PC recently.
gddFriendStatusBusy Friend is busy.
"Send To" targets
Name Description
gddSendToSidebar Send the data to the given user's sidebar.
gddSendToIM Send the data to the given user using IM.
gddSendToEmail Send the data to the given user using email.