ApiContents
From TrillWiki
This is the basic list of API functions -- and associated structures -- that Trillian uses to communicate with plugins. All structures and functions referenced here are defined in the C header file plugin.h. All the examples on these pages are for C code; there are wrappers for Delphi, C# and other languages, which are referenced on a separate page; they may have different ways of accessing these functions.
[edit] Outbound (Messages sent to Trillian)
[edit] Account Functions
These are functions sent from a plugin to Trillian in order to manage the list of accounts.
- accountsAdd
- This function lets a medium plugin add an account to the Connection Manager.
- accountsAddRequest
- This function will add an account in the advanced connection manager that 3.0 and later use, adding the 'blank' account and focusing user input on it.
- accountsRemove
- This function removes an account from the Connection Manager.
- accountsUpdate
- This function updates an account already added using accountsAdd.
[edit] Alias/Edit Functions
These are functions sent by the plugin to Trillian, for managing aliases and the edit window.
- editAliasRegister
- Registers an alias for replacement inside the edit area of message windows.
- editAliasUnregister
- Unregisters an edit area alias.
- editEventRegister
- Registers for message window events.
- editEventSend
- Send an event to a message window's edit area.
- editEventUnregister
- Unregesters from message window events.
- keyboardAliasRegister
- Registers for a hotkey triggered in the edit area of message windows.
- keyboardAliasUnregister
- Unregisters for a edit area hotkey.
[edit] Audio Functions
In Trillian 3.0, the capability for audio chats was added. For medium plugins supporting audio chat, the following functions will be of use. See also audio notifications.
- audioInputInitialize
- audioInputUninitialize
- audioInputStart
- audioInputStop
- audioInputUpdate
- audioInputStatus
- audioInputIsAvailable
- audioOutputInitialize
- audioOutputUninitialize
- audioOutputStop
- audioOutputStart
- audioOutputStatus
- audioOutputFrame
- audioOutputUpdate
[edit] Avatar Functions
These functions allow plugins to read or change the avatar icon of the local Trillian user (avatarLocal*) and of any contact list entry (avatarRemote*).
- avatarLocalGet
- This function will get the filename of the buddy icon set for a particular medium and connection.
- avatarLocalSet
- Sets the local buddy icon for a particular medium and account.
- avatarRemoteGet
- This function retrieves an avatar from a specific user on a medium (if it has been retrieved and cached already by Trillian).
- avatarRemoteSet
- Sets the buddy icon for a particular remote user on a medium.
[edit] Browser Functions
These are functions sent from a plugin to Trillian in order to get at the browser.
- browserOpen
- This function opens up a particular URL using the default browser associated with a particular protocol.
- browserGetDefault
- This function will return the default browser for a particular protocol.
- browserSetDefault
- This function sets up a particular browser for a particular protocol as the default.
- browserRegister
- This function allows a plugin to control a particular protocol for Trillian.
- browserUnregister
- This function unregisters the plugin for a particular protocol that was registered using the browserRegister function.
[edit] Connection Functions
These are functions sent from a plugin to Trillian, for managing connections.
- connectionAdd
- Will create a connection for a particular medium.
- connectionBytesUpdate
- Will update the bytes received and sent within a status window of a particular connection.
- connectionEnumerate
- Will deliver each connection one by one to a callback function provided.
- connectionRemove
- Will delete a particular connection.
- connectionUpdate
- Updates the information related to a particular connection. You can use this to update a menu or the status currently.
[edit] Contact List Functions
These are functions sent from a plugin to Trillian, for managing the contact list.
- contactlistAdd
- Adds a contact to a particular contact list and asks the user which group to store it in.
- contactlistAddGroupRequest
- Adds a group to a particular contact list and asks the user which group to store it in.
- contactlistEnumerate
- Delivers the contacts in a particular list to a callback function provided.
- contactlistRemove
- Removes a contact from a particular contact list.
- contactlistRenameRequest
- Sets the keyboard focus to a contact and activates inline-renaming.
- contactlistSectionEnumerate
- Delivers the contact lists to a callback function provided.
- contactlistSubcontactAdd
- Adds a subcontact to a contact already existing in the contact list.
- contactlistSubcontactRemove
- Removes a subcontact added to a particular contact.
- contactlistSubcontactUpdate
- Updates the information for a particular subcontact.
- contactlistTooltipRegister
- Add an item to the enhanced tooltip for a particular contact.
- contactlistTooltipUnregister
- Remove an item from the enhanced tooltip for a particular contact.
- contactlistUpdate
- Updates the information for a particular contact.
[edit] Dialog Functions
Functions to deal with the plugin preference dialogs.
- dialogAdd
- Adds a plugin preference dialog.
- dialogRemove
- Removes a plugin preference dialog.
[edit] Event Functions
These are functions sent from a plugin to Trillian in order to manage the Trillian events/automation system.
- eventsActionRegister
- This function allows a plugin to register for a program action that may be triggered by an event.
- eventsActionUnregister
- This function will unregister an action that has been registered using eventsActionRegister.
- eventsActionUpdate
- This function will update information related to an existing registered action.
- eventsConnect
- This function allows a plugin to attach to an event. When attached the callback provided will be called whenever the event is generated.
- eventsDisconnect
- This function will disconnect a plugin from a connected event that was previously connected to using eventsConnect.
- eventsEventRegister
- This function will register for a particular event type that could be generated at some point in the future.
- eventsEventUnregister
- This function will unregister a previously registered event.
- eventsEventUpdate
- This function will update an already registered event.
- eventsExecute
- This function will execute a pending event. Do not confuse it with eventsGenerate.
- eventsGenerate
- This function will generate an event.
- eventsStatusRegister
- This function is for medium based plugins to register available statuses. This will allow an away message to show the options of different statuses to use.
- eventsStatusUnregister
- This function will unregister from an existing registered status that was previously registered using eventsStatusRegister.
- eventsStatusUpdate
- This function will update an existing status that has been registered with eventsStatusRegister.
[edit] File Transfer Functions
These are functions sent from a plugin to Trillian in order to manage the file transfer engine.
- filetransferInit
- This function will initiate either an incoming or outgoing file transfer.
- filetransferStatus
- This function will update the status or progress of a particular file transfer.
- filetransferUpdate
- This function will update non status information for an existing file transfer. Such as file size, file name, start size, local or remote screen name.
[edit] HTTP Functions
These are functions sent from a plugin to Trillian in order to access the HTTP engine.
- httpFileRequest
- The httpFileRequest function will grab a HTTP file and return the data so that it may be used from within a plugin.
[edit] List Functions
Functions to deal with list sections, groups and entrys in the contact list window.
- listAddEntry
- Adds a list entry, group, or section to the contact list.
- listClearEntry
- Removes all the sub-entries for either a group or section.
- listGetExpandState
- Returns the expanded (open/closed) state of a group.
- listGetGroupCount
- Returns the number of entries within a particular group.
- listGetSectionCount
- Returns the number of entries within a particular section.
- listRedrawEntry
- When doing an owner drawn list item, you may wish to force a redraw of your area. Use this function to do so.
- listRemoveEntry
- Removes a list entry, group, or section from the contact list.
- listShowEntry
- This function allows a plugin to show or hide a given section.
- listSuppressRedraw
- When performing a large amount of list adding/removing, you may wish to stop the list from redrawing until processing is complete.
- listUpdateSectionMenu
- The listUpdateSectionMenu changes the default menu for a particular section. The default menu shows up for all items within that section and also if the user clicks on an empty area within the section.
- listUpdateSectionMultiMenu
- The listUpdateSectionMultiMenu changes the default menu for multiple selections for a particular section. This is good if you want your plugin to allow a different menu to appear when multiple things are selected within your section.
- listUpdateText
- Renames an item in the list.
- listUpdateFont
- Changes the font style and color for an item in the list.
- listUpdateTooltip
- Changes the simple tooltip text for an item in the list.
- listUpdateIcon
- Changes the icons for an item in the list.
- listUpdateExpandState
- Changes the expand state (open/close) for a group in the list.
[edit] Medium Functions
These are functions sent from a plugin to Trillian, for managing the list of mediums available.
- mediumAdd
- This function adds a medium into Trillian. Once added, the callback provided will receive events that other chatting services within Trillian receive.
- mediumRemove
- This function removes a medium added with mediumAdd.
[edit] Message Functions
These are functions sent from a plugin to Trillian, for dealing with actual messages across mediums and the windows which contain them.
- messageBroadcastEnable
- Receive messages delivered to Trillian.
- messageBroadcastDisable
- Stop a message broadcast.
- messageClose
- This function allows a medium to close one of the windows it has opened.
- messageIndividualUpdate
- This function allows a medium plugin to change a message already displayed in the message window, or alter it in the message history.
- messageMenuAdd
- This function will add a particulate menu to a chat window.
- messageMenuRemove
- This function will remove a menu bar item from a message window.
- messageMorph
- This function allows an existing message window to morph looks into another.
- messageNicklistAdd
- This function adds one or many users to a chat windows nicklist area.
- messageNicklistChange
- This function will change information related to a user within a nicklist.
- messageNicklistRemove
- This function removes a user from a nicklist within a chat window.
- messageOpen
- This function will open a message window to a particular person or channel on a certain medium.
- messageReceive
- This function is used to let Trillian know when a message comes in on a certain medium.
- messageSend
- Will send a message to a particular user on a certain connection for a certain medium.
- messageStateSet
- This function will set a particular controls state. This could be setting the status area of a message window to a particular line of text, or turning on the user is typing icon.
- messageToolbarRegister
- This function allows a medium to register callbacks and tooltips for non-standard toolbar buttons located within a message window.
- messageToolbarUnregister
- This function unregisters for toolbar notifications that were previously registered for with messageToolbarRegister.
- messageUpdate
- This function will change information related to an already open message window.
[edit] Plugin Functions
These are functions sent from a plugin to Trillian in order to access the inter-plugin communications engine.
- pluginExternalEnumerateAPI
- This function will enumerate through the external api's that are currently registered with Trillian.
- pluginExternalSend
- This function allows a plugin to call an event from another plugin.
- pluginRegisterAPI
- This function allows a plugin to register for a particular type of API, i.e. to announce that the plugins supports/provides this API.
- pluginUnregisterAPI
- This function allows a plugin to unregister from a previously registered API.
- pluginFileRemove
- This function will add a file (or files) to a queue for Trillian to remove when the plugin is unloaded.
- pluginInformationUpdate
- This function allows you to update the information that is normally set in response to the informationRequest notification.
[edit] Preferences Functions
Plugins can add one or more preference pages which will be accessible through the "Change..." button in the plugins section of the Trillian preferences in Trillian 3, in the preferences navigation tree in Trillian 2 and through the prefsOpen function from anywhere inside the plugin.
- prefsInitialize
- If the plugin wishes to add entries into the preferences, it must register a location first.
- prefsOpen
- The prefsOpen function loads up the preferences screen at a particular page.
[edit] Preferences Functions
These functions deal with settings from the Trillian preferences.
- prefsValueRegister
- This command allows a plugin to register a callback to monitor globally-stored configuration parameters.
- prefsValueUnregister
- Use this function to unregister a callback registered with prefsValueRegister.
- prefsValueRequest
- This function allows a plugin to do a one-time request of the current value for a globally registered preference.
- prefsValueSet
- This command allows a plugin to change the value of a globally registered preference.
[edit] Skin Functions
These are functions sent from a plugin to Trillian to access the skin engine.
- skinAdd
- This function will add allow a plugin to add its own images, settings, etc. to the current skin via SkinXML.
- skinEnumerate
- This function allows a plugin to search through the current skin loaded and enumerate the contents.
[edit] Status Functions
The following commands can be used to access the Trillian status settings a user has entered.
- awaymessageEnumerate
- This function allows a plugin to request the names of all of the custom status settings a user has added.
- awaymessageSet
- This function allows a plugin to set the global status to a specific named status.
[edit] Systray Functions
These functions allow plugin developers to control Trillian systray alerts. Systray alerts are small windows which appear near the user's system tray.
- systraySetAlert
- Fires a systray alert box. You can specify which text and icon you wish to be displayed, as well as respond to a mouse click on the alert window.
[edit] Video Functions
In Trillian 3.0, the capability for audio and video chats was added. For medium plugins supporting video chat, the following functions will be of use. See also video notifications.
- videoInputInitialize
- videoInputUninitialize
- videoInputStart
- videoInputStop
- videoInputUpdate
- videoInputIsAvailable
- videoInputFrameRequest
- videoInputBroadcastAdd
- videoInputBroadcastRemove
- videoInputBroadcastRemoveAll
- videoOutputInitialize
- videoOutputUninitialize
- videoOutputStart
- videoOutputStop
- videoOutputStatus
- videoOutputFrame
[edit] Version Functions
These functions allow plugins to retrieve information about the Trillian version the user is running.
- versionPro
- The versionPro command allows a plugin to check whether it is running on a Pro or Basic version of Trillian. (This only applies to plugins that CAN be loaded under Basic, generally written by Cerulean.)
- versionRequest
- The versionRequest function returns the current version of Trillian, e.g. 3.1.0.121.
- versionTrial
- The versionTrial function allows a plugin to check whether it is running on a paid-for version of Pro, or the time-limited trial version.
[edit] XML Functions
Plugins can access the Trillian XML parser through this functions. Note in order to use tags with both children and literal text -- such as <p>data <b>more data</b></p> -- the set must be valid XML; tags must be closed in the order they were opened, so not all HTML will be able to be parsed. <foo> bar<baz>whee!</baz></foo> is valid, <foo> bar<baz>whee!</foo></baz> is not.
- xmlGenerateTree
- The xmlGenerateTree function will take either a string of XML data or an XML file and create a structure to easily access the data.
- xmlComposeString
- The xmlComposeString function will generate a string from an existing XML tree.
- xmlFreeTree
- The xmlFreeTree function frees the memory allocated by a previous call to the xmlGenerateTree function.
[edit] Inbound (Messages received from Trillian)
[edit] Account Interface Notifications
In Trillian 3.0 and later, accounts are dealt with in an advanced connection manager. Medium plugins will need to handle these notifications in order to interact with the connection manager.
- accounts_interfaceUpdate
- This notification is sent to an account's callback when the user has finished updating the data for an existing account.
- accounts_interfaceAdd
- This notification is sent to an account's callback when the user has finished entering the data for a new account.
- accounts_interfaceRequest
- This notification is sent to an account's callback when Trillian needs to know what information to display for an account.
- accounts_interfaceRequestFinish
- This notification is sent when an account is no longer highlighted in the connection manager, to allow the plugin to clean up any temporary data.
- accounts_connect
- This notification is sent to an account's callback when the user has clicked the 'connect' button while highlighting an account in the advanced connection manager.
- accounts_disconnect
- This notification is sent to an account's callback when the user has clicked the 'Disconnect' button while highlighting an account in the advanced connection manager.
- accounts_preferences
- This notification is sent to an account's callback when the user has clicked the 'preferences' button while highlighting an account in the advanced connection manager. In return, the plugin should display the window for any extended preferences associated with the account.
- accounts_remove
- This notification is sent to an account's callback when the user has clicked the 'remove' button while highlighting an account in the advanced connection manager.
[edit] Alias Notifications
These are notifications sent when Trillian encounters events registered for with alias or edit functions.
- edit_aliasRequest
- When a registered alias is entered in by the user, this notification will be generated.
- edit_aliasFree
- When text is provided in edit_aliasRequest, this will be generated when the text is no longer needed, so that the plugin may remove any memory it had allocated.
- edit_aliasDestroy
- This notification is generated when an alias is no longer going to be used.
- keyboard_aliasRequest
- When a registered keyboard alias is entered in by the user, this notification will be generated.
- keyboard_aliasFree
- When text is provided in keyboard_aliasRequest this will be generated when the text is no longer needed, so that the plugin may remove any memory it had allocated.
- keyboard_aliasDestroy
- This notification is generated when an alias is no longer going to be used.
[edit] Audio Notifications
As of Trillian 3.0, support for audio chats was added. These notifications are sent to the callback registered with the audio functions.
- audio_frame
- audio_qualityUpdate
- audio_shutdown
- audio_cancel
- audio_initialize
- audio_uninitialize
- audio_broadcastOn
- audio_broadcastOff
[edit] Browser Notifications
Notifications sent from Trillian to the plugin to handle events registered for in browser functions.
- browser_defaultValue
- This notification is sent to the callback provided when a plugin requests the default browser.
- browser_openLocation
- This notification is sent to a registered browser when it is the default browser for the specific protocol.
[edit] Contact Notifications
Notifications sent from Trillian to a plugin to interact with contacts in the contact list.
- contact_addFinish
- This notification is sent when a contact is added to the contact list
- contact_defaultAction
- This notification is sent to a contact callback when its default action should be performed.
- contact_displayNameChange
- This notification is sent whenever the display name is altered by the user.
- contact_tooltipRequest
- This notification is sent to a contact callback when an enhanced tooltip is about to be displayed.
[edit] Edit Notifications
Notifications sent from Trillian for events registered under edit functions.
- edit_eventDestroy
- This notification is sent when an edit event is no longer registered.
- edit_leftClick
- This notification is sent when the user clicks the left mouse button in the edit area.
- edit_rightClick
- This notification is sent when the user clicks the right mouse button in the edit area.
- edit_showMenu
- This notification is sent prior to showing the menu within the edit area.
- edit_hideMenu
- This notification is sent when an edit menu is done being used.
- edit_changeText
- This notification is sent whenever the contents of the edit area are changed.
- edit_sendText
- This notification is sent right before text is sent from the edit box.
- edit_userIsTyping
- This notification is sent when a user starts to type a message within the edit box.
- edit_userIsNotTyping
- This notification is sent when the user stops typing within the edit box.
[edit] Enumeration Notifications
These are notifications used in general (with user-provided callbacks) for any sort of enumeration requested by a plugin. When enumerating, a plugin's callback will receive an enum_start to begin the list, an enum_add for every item in the list, and an enum_finish when the list is complete. Specific enumerations can be told apart by the use of the userData field. See Enumeration Functions for various functions that generate enumeration notifications.
- enum_start
- This notification is sent just after an enumeration is requested.
- enum_add
- This notification is sent for each item in the enumeration. A pointer to the item is passed in the data param.
- enum_finish
- This notification is sent after the last item has been passed via enum_add.
[edit] Event Notifications
Notifications sent from Trillian to the plugin for events defined by a plugin.
- events_actionExecute
- This notification is sent to a custom event that has been registered with eventsActionRegister and set the custom settings to 1.
- events_actionDestroy
- This notification is sent when an event is destroyed and when the custom action choice is removed.
- events_actionStringRequest
- This notification is called when the events engine needs a string representation of the data associated with a particular custom event.
- events_actionStringDestroy
- This notification is called to free the string passed back in the events_actionStringRequest notification.
- events_actionFromXMLStart
- This notification is sent when the events engine reads the data associated with an event from XML.
- events_actionFromXMLAttribute
- This notification is sent when the events engine reads the data associated with an event from XML.
- events_actionFromXMLFinish
- This notification is sent when the XML associated with a particular event is done being read in.
- events_actionFromData
- This notification will clone a data packet for an event.
- events_actionEditCreate
- This notification will be sent before the custom action editing window is needed, so that data can be prepared.
- events_actionEditDestroy
- This notification is sent when an event is no longer being edited.
- events_actionEditShow
- This notification is sent when the preferences for a custom event need to be either shown or hidden.
- events_actionEditSave
- This notification is sent when the event has been saved and the data should be updated.
- events_statusChange
- This notification is sent when the user selects an away message or an away message is triggered by another event.
[edit] File Transfer Notifications
Notifications sent from Trillian to a plugin that defined a medium, used to interact with the file transfer system.
- filetransfer_init
- This notification is sent when a filetransfer is done being set up and is ready to start going.
- filetransfer_request
- This notification is sent if the ask_confirmation variable is set on the initiation. This allows a medium to do a last minute check to see if file transfering is allowed at this time for this particular contact.
- filetransfer_status
- This notification is sent when the user initiates a change of status.
[edit] HTTP Notifications
Notifications sent to the callback function specified with the call of httpFileRequest.
- http_fileComplete
- The http_fileComplete notification is sent when a file is finished being received.
- http_fileError
- The http_fileError notification is sent when an HTTP file transfer fails.
[edit] Install Wizard Notifications
While these functions are not likely to be of use to most third-party developers, they are documented nonetheless. These notifications are sent to all plugins unpacked when Trillian is first installed, to handle any install wizard additions they wish to include. This is mostly useful for branded versions of Trillian which may contain custom plugins.
- installWizardShow
- This notification is sent to the main plugin function when it should display any install wizard window it might have.
- installWizardFinishRequest
- This notification is sent to the main plugin function to check if it is alright to finish out the install wizard.
- installWizardFinish
- This notification is sent to the main plugin function when it should dispose of any install wizard window and resources.
- uninstall
- This function is called on plugins when Trillian itself is being uninstalled, giving them a chance to clean up after themselves.
[edit] List Notifications
These are notifications sent for events registered for with list functions.
- list_changeName
- This is generated whenever the user inline edits a particular list entry.
- list_dragCheck
- This is sent to see whether a plugin supports dragging at all for a particular entry.
- list_dragFinish
- The list_dragFinish notification is sent to both the new group and the item being dragged when a drag and drop has been finished.
- list_dragInto
- This is sent to the owner of the group that the item is being dragged into.
- list_dragItem
- This is sent to the item being dragged to let it know of its potential future location.
- list_draw
- For owner drawn list entries, this will be sent everytime the list entry needs to be redrawn.
- list_getDesiredWidth
- For owner drawn list entries, Trillian will request the desired width for the list entry. The desired width is used when an item is floating.
- list_getHeight
- The plugin must return the height for the list entry if it is owner drawn.
- list_hide
- This is sent to a list callback when a section has been hidden.
- list_leftButtonDown
- This will be sent everytime the user clicks down with the left mouse button over the entry.
- list_leftButtonUp
- This will be sent everytime the user lets go of the left mouse over the entry.
- list_leftDoubleClick
- This will be sent everytime the user double clicks using the left mouse button on the entry.
- list_mouseLeave
- For owner drawn list entries, this will be sent everytime the mouse leaves the list entries rectangle.
- list_mouseMove
- For owner drawn list entries, this will be sent everytime the mouse moves within your area.
- list_tooltipRequest
- This is sent to a list callback when a tooltip is about to be shown. A list entry can then process this message to use the enhanced tooltips, or by pass it to use the normal tooltips.
[edit] Medium Notifications
Notifications sent from Trillian to the plugin to allow Trillian to interact with any user-registered mediums.
- medium_accountAdd
- This notification is triggered when the user wishes to add a new account on a particular medium.
- medium_accountPreferences
- This notification is triggered when the user wants to access preferences associated with a particular account.
- medium_accountConnect
- This notification is sent when the user wishes to connect to a particular account.
- medium_accountRemove
- This notification is sent when a user wishes to remove a particular account from Trillian.
- medium_contactAdd
- This notification is sent to a medium when a new contact is added.
- medium_contactChange
- This notification is sent when a contact's group is changed.
- medium_contactRemove
- This notification is sent when a contact is removed from the contact list.
- medium_contactWizardShow
- This notification is sent when the contact wizard screen needs to be shown or hidden.
- medium_contactWizardFinishRequest
- This notification is set to request from the medium plugin if they are done with a particular import or adding screen.
- medium_contactWizardFinish
- This notification is sent to a wizard dialog when it is no longer needed.
- medium_connectionPreferences
- This notification is triggered when the user wishes to modify the preferences associated with a particular connection.
- medium_connectionRemove
- This notification is called whenever a connection is removed from Trillian.
- medium_connectionGlobalReconnect
- This notification is sent when the user wishes to do either a connect, or disconnect/reconnect on all networks.
- medium_connectionGlobalDisconnect
- This notification is sent when the user wishes to disconnect from all current connections.
- medium_windowRequest
- This notification is sent when the user requires a window to be opened to a particular contact and it is not opened yet.
- medium_windowOpen
- This notification is sent whenever a message window is opened for that medium.
- medium_windowClose
- This notification is sent whenever a message window is closed.
- medium_avatarLocalChange
- This notification is sent whenever the local avatar is changed for a particular medium.
- medium_avatarRemoteRemove
- This notification is sent when a remote avatar is removed by the user.
- medium_messageSend
- This notification is sent when a message is typed within a chat window and should be sent over the medium on a particular connection.
- medium_messageSendURL
- This notification is triggered when a user specifically sends a URL using the URL sending toolbar button.
- medium_toolbarAction
- This notification is sent when a user clicks on an already open window's toolbar buttons.
- medium_filetransferInit
- This notification will be sent to a medium's callback when a user has tried to initiate a file transfer by drag-and-dropping a file and it has been approved.
- medium_filetransferRequest
- This notification is sent when a user drag-and-drops a file into a message window.
[edit] Menu Notifications
Notifications retrieved through the callback function specified in the menu_entry_t structure, most likely utilized with listAddEntry or MessageMenuAdd.
- menu-open
- If a menu contains a callback entry, this will be called for each callback entry it contains.
- menu-open-finish
- The menu-open-finish message is sent to callback entry owners when the contents of what they passed back is copied.
- menu-select
- Whenever a menu item is chosen (i.e. clicked) by the user, a menu-select is sent.
- menu-destroy
- When a menu is no longer needed, this will be sent to every item in the menu.
[edit] Message Notifications
Notifications sent to the plugin in response to events registered for with message functions such as messageBroadcastEnable or messageToolbarRegister.
- message_broadcast
- This notification is sent whenever a message is received.
- message_toolbarAction
- This notification is sent when a non-default toolbar button is clicked within a message window.
[edit] Nicklist Notifications
Notifications sent from Trillian to a plugin for interacting with a nicklist in a group chat window.
- nicklist_defaultAction
- This notification is sent when a user double clicks on an item in the nicklist of a chat window.
- nicklist_destroy
- This notification is sent when a nicklist item is removed from the list.
[edit] plugin_send Notifications
These notifications are sent to a plugin's plugin_main function.
- initialLoad
- This is sent only when the plugin is added into Trillian and not everytime it loads. It can be used in conjunction with setup wizards, etc.
- informationRequest
- The informationRequest notification is sent to a plugin when Trillian wants information for the plugin list, such as icon and description.
- load
- This notification is sent immediately when the plugin is loaded. Here the plugin gets information it needs from Trillian and exchanges information back to Trillian.
- start
- This is sent whenever the plugin is started. This can happen both when Trillian starts and when specified by the user.
- stop
- This is sent whenever the plugin should stop doing any processing. This can happen both when Trillian closes and when specified by the user.
- prefsShow
- If the plugin has preferences, see prefsInitialize, this will be called to tell it to either show or hide its preferences window.
- prefsAction
- This is sent to let the plugin know that the preferences window has closed and what action the user has taken.
- languageChange
- This notification is generated when the language is changed midstream. The initial language is given on the start notification, subsequent are given using this notification.
- unload
- This is sent whenever the plugin must unload from memory.
- finalUnload
- This is only sent when the user removes the plugin manually and not sent when Trillian shuts down.
[edit] Preference Notifications
These notifications are received to a callback which has been registered in the preferences functions Trillian provides.
- prefs_valueRequest
- This notification is sent in response to a prefsValueRequest function.
- prefs_valueSet
- This notification is sent whenever a preference value registered with prefsValueRegister has changed.
[edit] Systray Alert Notifications
These notifications are sent to the callback given with a call of systraySetAlert.
- alert_create
- Sent when the tooltip is displayed.
- alert_linkClick
- Sent when the user clicks on an alert link.
- alert_initiatedDestroy
- Sent when the alert is removed from the screen, however by right clicking or clicking the close button related to the window. It will be followed by an alert_destroy afterwards.
- alert_destroy
- Sent when the alert is removed from the screen.
[edit] Video Notifications
As of Trillian 3.0, support for video chats was added. These notifications are sent to the callback registered with the video functions.
- video_frame
- video_shutdown
- video_qualityUpdate
- video_cancel
- video_initialize
- video_uninitialize
- video_pause
- video_unpause
- video_stop
- video_play
- video_abort
[edit] Communication with other Plugins
[edit] UPnP API
The UPnP API allows other plugins to get at the UPnP plugin that Cerulean provides with Trillian. This will let you open and close ports, as well as discover your external IP.
- upnpGetExternalIP
- Query the router for what the external IP address is.
- upnpRegisterPort
- Register and open a port on a UPnP router.
- upnpUnregisterPort
- Unregister and close a port previously opened on a UPnP router.
[edit] TrillyTunes API
The Trilly Tunes API allows other plugins to control functionality of the third-party Trilly Tunes media player plugin.
- trillyTunes2
- Retrieves GUID and version information. (2.x only)
- trillyTunesPlay
- Plays a file or stream and/or adds it to a playlist. (2.x only)
- TrillyTunesGoPlay
- Adds a song to the playlist of the Trilly Tunes audio player plugin. (1.x only)
- TrillyTunesPlaylistEnum
- Enumerates groups and songs of the Trilly Tunes playlist.
[edit] Universal File Sharing API
The UFS API is exported by the Universal File Sharing plugin provided by eh?one. Other plugins can call into it in order to manipulate the list of shared files.
- ufs
- Retrieves GUID and version information.
- ufsAddShare
- Shares a file or folder.
- ufsRemoveShare
- Removes an existing share.
- ufsShareEnum
- Enumerates shares.
[edit] Universal Service APIs
These are general API definitions which all plugins of a certain group can implement. Also see the Plugin Functions Category.
[edit] NowPlaying API
This is a set of functions making it possible for other plugins to access information about the music which is currently played by an installed and running music plugin. Important: This is a draft, no plugin supports this API at the moment.
- nowPlayingEnumerate
- The nowPlayingEnumerate call should be provided by all plugins that implement the nowPlaying API.
- nowPlayingEnumerateServices
- nowPlayingRegisterService
- The nowPlayingRegisterService call is provided so that client plugins can register themselves with the host.
