Trac is being migrated to new services! Issues can be found in our new
YouTrack instance and WIKI pages can be found on our
website.
- Timestamp:
-
Apr 15, 2012, 7:08:04 AM (12 years ago)
- Author:
-
QuLogic
- Comment:
-
Fix doxygen links
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v6
|
v7
|
|
| 27 | 27 | [Note that the signal is called "received-im-msg" in the Pidgin documentation but the D-Bus signal is called "!ReceivedImMsg"; do this simple transformation for all signals you see.] |
| 28 | 28 | |
| 29 | | This registers a function, called `my_func`, which will be called when the signal is emitted. Now you look up the documentation to see what parameters come with the signal, and you define `my_func` to work on those parameters. In this case, the [http://developer.pidgin.im/doxygen/dev/html/conversation-signals.html#received-im-msg documentation] tells you that the parameters are (account, sender, message, conversation, flags), so you define `my_func` accordingly: |
| | 29 | This registers a function, called `my_func`, which will be called when the signal is emitted. Now you look up the documentation to see what parameters come with the signal, and you define `my_func` to work on those parameters. In this case, the [http://developer.pidgin.im/doxygen/dev2.x.y/html/conversation-signals.html#received-im-msg documentation] tells you that the parameters are (account, sender, message, conversation, flags), so you define `my_func` accordingly: |
| 30 | 30 | {{{ |
| 31 | 31 | #!python |
| … |
… |
|
| 61 | 61 | But you get the idea. |
| 62 | 62 | |
| 63 | | Here's a sample list of signals you can receive. For the full list, look in pages named "Signals" in the [http://developer.pidgin.im/doxygen/dev/html/pages.html list of documentation pages]. |
| 64 | | |
| 65 | | * [http://developer.pidgin.im/doxygen/dev/html/account-signals.html Account signals]: |
| | 63 | Here's a sample list of signals you can receive. For the full list, look in pages named "Signals" in the [http://developer.pidgin.im/doxygen/dev2.x.y/html/pages.html list of documentation pages]. |
| | 64 | |
| | 65 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/account-signals.html Account signals]: |
| 66 | 66 | * account-status-changed, account-connecting, account-error-changed, account-authorization-requested |
| 67 | | * [http://developer.pidgin.im/doxygen/dev/html/blist-signals.html Buddy list signals]: |
| | 67 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/blist-signals.html Buddy list signals]: |
| 68 | 68 | * buddy-status-changed, buddy-idle-changed, buddy-signed-on, buddy-signed-off, buddy-icon-changed |
| 69 | | * [http://developer.pidgin.im/doxygen/dev/html/connection-signals.html Connection signals]: |
| | 69 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/connection-signals.html Connection signals]: |
| 70 | 70 | * signing-on, signed-on, signing-off, signed-off, connection-error |
| 71 | | * [http://developer.pidgin.im/doxygen/dev/html/conversation-signals.html Conversation signals]: |
| | 71 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/conversation-signals.html Conversation signals]: |
| 72 | 72 | * These are emitted for events related to conversations you are having. Note that in Pidgin, "im" means a conversation with one person, and "chat" means a conversation with several people. |
| 73 | 73 | * writing-im-msg, wrote-im-msg, |
| … |
… |
|
| 85 | 85 | * conversation-created, conversation-updated, deleting-conversation, |
| 86 | 86 | * conversation-extended-menu |
| 87 | | * [http://developer.pidgin.im/doxygen/dev/html/core-signals.html Core signals]: |
| | 87 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/core-signals.html Core signals]: |
| 88 | 88 | * quitting |
| 89 | | * [http://developer.pidgin.im/doxygen/dev/html/gtkconv-signals.html GtkConv signals]: |
| | 89 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/gtkconv-signals.html GtkConv signals]: |
| 90 | 90 | * displaying-im-msg, displayed-im-msg, |
| 91 | 91 | * displaying-chat-msg, displayed-chat-msg, |
| 92 | 92 | * conversation-switched, |
| 93 | 93 | * conversation-hiding, conversation-displayed |
| 94 | | * [http://developer.pidgin.im/doxygen/dev/html/gtkimhtml-signals.html GtkIMHTML signals]: |
| | 94 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/gtkimhtml-signals.html GtkIMHTML signals]: |
| 95 | 95 | * GtkIMHTML is the widget used for the input area in Pidgin |
| 96 | 96 | * url_clicked, format_buttons_update, format_function_clear, format_function_toggle, format_function_update |
| 97 | | * [http://developer.pidgin.im/doxygen/dev/html/notify-signals.html Notification signals]: |
| | 97 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/notify-signals.html Notification signals]: |
| 98 | 98 | * displaying-userinfo, displaying-email-notification, displaying-emails-notification |
| 99 | | * [http://developer.pidgin.im/doxygen/dev/html/plugin-signals.html Plugin signals]: |
| | 99 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/plugin-signals.html Plugin signals]: |
| 100 | 100 | * plugin-load, plugin-unload |
| 101 | | * [http://developer.pidgin.im/doxygen/dev/html/savedstatus-signals.html Saved status signals]: |
| | 101 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/savedstatus-signals.html Saved status signals]: |
| 102 | 102 | * savedstatus-changed |
| 103 | | * [http://developer.pidgin.im/doxygen/dev/html/sound-signals.html Sound signals]: |
| | 103 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/sound-signals.html Sound signals]: |
| 104 | 104 | * playing-sound-event |
| 105 | | * [http://developer.pidgin.im/doxygen/dev/html/xfer-signals.html File transfer signals]: |
| | 105 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/xfer-signals.html File transfer signals]: |
| 106 | 106 | * file-recv-complete, file-recv-request, file-send-accept, file-send-start, file-send-cancel, file-send-complete |
| 107 | 107 | |
| … |
… |
|
| 127 | 127 | Your registered callback function in a plugin might also have an effect on Pidgin by changing the values of parameters it gets. |
| 128 | 128 | |
| 129 | | You can't do any of this in a D-Bus script. Look at [http://developer.pidgin.im/doxygen/dev/html/signal-howto.html Signals HOWTO] to see how to use signals in plugins. |
| | 129 | You can't do any of this in a D-Bus script. Look at [http://developer.pidgin.im/doxygen/dev2.x.y/html/signal-howto.html Signals HOWTO] to see how to use signals in plugins. |
| 130 | 130 | |
| 131 | 131 | Even with read-only plugins, there is a lot you can do: |
| … |
… |
|
| 170 | 170 | And this still does unexpected things when your current status is a complex one. |
| 171 | 171 | |
| 172 | | The only reference for the available functions is the [http://developer.pidgin.im/doxygen/dev/html/files.html documentation for the header files], so you want to look there to figure out which functions you need to call. |
| | 172 | The only reference for the available functions is the [http://developer.pidgin.im/doxygen/dev2.x.y/html/files.html documentation for the header files], so you want to look there to figure out which functions you need to call. |
| 173 | 173 | |
| 174 | 174 | Here are a few of the useful ones: |
| 175 | 175 | |
| 176 | | * [http://developer.pidgin.im/doxygen/dev/html/account_8h.html Your accounts]: |
| | 176 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/account_8h.html Your accounts]: |
| 177 | 177 | * Get a particular account: `PurpleAccountsFind(name, protocol)` |
| 178 | 178 | * Get all active accounts: `PurpleAccountsGetAllActive()` |
| … |
… |
|
| 183 | 183 | * Set its icon: `PurpleAccountSetBuddyIconPath(account, path)` |
| 184 | 184 | |
| 185 | | * [http://developer.pidgin.im/doxygen/dev/html/blist_8h.html Your buddies]: |
| | 185 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/blist_8h.html Your buddies]: |
| 186 | 186 | * Get list of all buddies: `PurpleFindBuddies(account,screenname)` [Second argument NULL, to search for all] |
| 187 | 187 | * Get a particular buddy: `PurpleFindBuddy(account, screenname)` |
| … |
… |
|
| 192 | 192 | * Get the account a buddy belongs to: `PurpleBuddyGetAccount(buddy)` |
| 193 | 193 | |
| 194 | | * [http://developer.pidgin.im/doxygen/dev/html/savedstatuses_8h.html Your own status] ([http://developer.pidgin.im/doxygen/dev/html/status_8h.html also]): |
| | 194 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/savedstatuses_8h.html Your own status] ([http://developer.pidgin.im/doxygen/dev2.x.y/html/status_8h.html also]): |
| 195 | 195 | * Some constants you can't get through the D-Bus interface yet: |
| 196 | 196 | {{{ |
| … |
… |
|
| 211 | 211 | * Actually set the status with: `PurpleSavedstatusActivate(status)` |
| 212 | 212 | |
| 213 | | * [http://developer.pidgin.im/doxygen/dev/html/conversation_8h.html Your conversations]: |
| | 213 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/conversation_8h.html Your conversations]: |
| 214 | 214 | * Get all conversations: `PurpleGetConversations()` |
| 215 | 215 | * Get all IMs: `PurpleGetIms()` |
| … |
… |
|
| 222 | 222 | * Send an IM message with: `PurpleConvImSend(im, message)` |
| 223 | 223 | |
| 224 | | * [http://developer.pidgin.im/doxygen/dev/html/prefs_8h.html Preferences]: |
| | 224 | * [http://developer.pidgin.im/doxygen/dev2.x.y/html/prefs_8h.html Preferences]: |
| 225 | 225 | * Get a preference: `PurplePrefsGetBool`, `PurplePrefsGetString`, etc. |
| 226 | 226 | * Set a preference: `PurplePrefsSetInt`, `PurplePrefsSetPath`, etc. |
| 227 | 227 | |
| 228 | | There are other things you can do; see the [http://developer.pidgin.im/doxygen/dev/html/main.html documentation] and the source files. |
| | 228 | There are other things you can do; see the [http://developer.pidgin.im/doxygen/dev2.x.y/html/main.html documentation] and the source files. |
| 229 | 229 | |
| 230 | 230 | == Further reading == |
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!