doc/reference/libpurple/plugin_ids.xml

Mon, 30 Sep 2019 23:48:55 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Mon, 30 Sep 2019 23:48:55 -0400
changeset 39891
1f924c6c4786
parent 37097
aef5930bd889
child 40962
19e53c9cab73
permissions
-rw-r--r--

DOC: Set some element types to utf8.

Seems more correct than general char*.

35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
1 <?xml version='1.0' encoding="ISO-8859-1"?>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
3 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
4 ]>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
5 <chapter id="chapter-plugin-ids">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
6 <title>Plugin IDs</title>
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
7
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
8 <sect2 id="plugin-ids-introduction">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
9 <title>Introduction</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
10 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
11 Every plugin contains a unique identifier. Third-party plugins (that is,
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
12 plugins written by anyone who is not a libpurple, Pidgin, or Finch developer)
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
13 are expected to use a plugin ID that follows a specific format. This format
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
14 categorizes plugins and makes duplicate IDs highly unlikely.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
15 </para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
16 </sect2>
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
17
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
18 <sect2 id="plugin-ids-format">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
19 <title>Format</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
20 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
21 The basic format of a plugin ID is as follows:
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
22
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
23 <programlisting>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
24 type-username-pluginname
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
25 </programlisting>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
26 </para>
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
27
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
28 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
29 The <emphasis>type</emphasis> indicator specifies the type of plugin. This must be one
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
30 of the following:
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
31
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
32 <table>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
33 <title>Types of plugins</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
34 <tgroup cols="2">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
35 <colspec colwidth="*" colnum="1" align="left"/>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
36 <colspec colwidth="*" colnum="2" align="left"/>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
37 <thead>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
38 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
39 <entry><emphasis>type</emphasis></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
40 <entry>description</entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
41 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
42 </thead>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
43 <tbody>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
44 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
45 <entry><literal>core</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
46 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
47 A core libpurple plugin, capable of being loaded in any program using libpurple.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
48 Core plugins may not contain any UI-specific code.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
49 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
50 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
51 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
52 <entry><literal>prpl</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
53 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
54 A protocol plugin. This is a core plugin which provides libpurple the ability to
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
55 connect to another IM or chat network.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
56 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
57 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
58 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
59 <entry><literal>gtk</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
60 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
61 A GTK+ (a.k.a. Pidgin) plugin. These plugins may use GTK+ code, but may not use
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
62 window toolkit code, such as X11, Win32, Cocoa, or Carbon.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
63 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
64 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
65 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
66 <entry><literal>gtk-x11</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
67 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
68 A GTK+ plugin that uses X11 code. These plugins may use both GTK+ code and X11
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
69 code, allowing to hook into features specific to X11.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
70 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
71 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
72 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
73 <entry><literal>gtk-win32</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
74 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
75 A GTK+ plugin that uses Win32 code. These plugins may use both GTK+ code and
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
76 Win32 code, allowing to hook into features available on Windows.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
77 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
78 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
79 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
80 <entry><literal>gnt</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
81 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
82 A GNT (a.k.a. Finch) plugin. These plugins may use GNT code.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
83 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
84 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
85 </tbody>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
86 </tgroup>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
87 </table>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
88 </para>
20898
43fed61d11a1 I basically copied most of
Will Thompson <resiak@pidgin.im>
parents: 20897
diff changeset
89
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
90 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
91 The <emphasis>username</emphasis> must be a unique identifier for you. It
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
92 <emphasis>should</emphasis> be your https://developer.pidgin.im Trac user ID. Failing that, you
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
93 could use your SourceForge user ID or your Freenode IRC nickname, if you
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
94 have either. The https://developer.pidgin.im Trac user ID is preferred.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
95 Do <emphasis>not</emphasis> leave this field blank!
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
96 </para>
20898
43fed61d11a1 I basically copied most of
Will Thompson <resiak@pidgin.im>
parents: 20897
diff changeset
97
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
98 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
99 The <emphasis>pluginname</emphasis> is the name of your plugin. It is usually all
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
100 lowercase letters and matches the static plugin ID (the first argument to
36917
b3e1dc9768b1 Updated plugin_ids.xml to use gtk-doc style
Ankit Vani <a@nevitus.org>
parents: 36905
diff changeset
101 the PURPLE_PLUGIN_INIT() macro call), although it can be anything you
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
102 like. Do <emphasis>not</emphasis> include version information in the plugin ID--the
36917
b3e1dc9768b1 Updated plugin_ids.xml to use gtk-doc style
Ankit Vani <a@nevitus.org>
parents: 36905
diff changeset
103 <literal>PurplePluginInfo</literal> object already has a property for this.
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
104 </para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
105 </sect2>
20898
43fed61d11a1 I basically copied most of
Will Thompson <resiak@pidgin.im>
parents: 20897
diff changeset
106
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
107 <sect2 id="plugin-ids-nospaces">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
108 <title>One Last Rule for Plugin IDs</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
109 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
110 Plugin IDs may <emphasis>NOT</emphasis> contain spaces. If you need a space, use another
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
111 hyphen (-).
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
112 </para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
113 </sect2>
20898
43fed61d11a1 I basically copied most of
Will Thompson <resiak@pidgin.im>
parents: 20897
diff changeset
114
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
115 <sect2 id="plugin-ids-exceptions">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
116 <title>Exceptions to the Rule</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
117 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
118 As with any rule there are exceptions. If you browse through the source
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
119 tree you will see that the plugins we distribute with the Pidgin source
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
120 do not contain a username field. This is because while one developer may
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
121 have written each specific plugin, the plugins are maintained
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
122 collectively by the entire development team. This lack of a username
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
123 field is also an indicator that the plugin is one of our plugins and not
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
124 a third-party plugin.
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
125
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
126 Another exception to the rule is the <ulink
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
127 url="http://plugins.guifications.org/trac/wiki/PluginPack">Purple Plugin
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
128 Pack</ulink>. All plugins whose lives started in the Purple Plugin Pack use
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
129 <literal>"plugin_pack"</literal> for the username field to indicate origination in
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
130 the Purple Plugin Pack.
20898
43fed61d11a1 I basically copied most of
Will Thompson <resiak@pidgin.im>
parents: 20897
diff changeset
131
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
132 These two exceptions are mentioned here for completeness. We don't
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
133 encourage breaking the conventions set forth by the rules outlined above.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
134 </para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
135 </sect2>
20898
43fed61d11a1 I basically copied most of
Will Thompson <resiak@pidgin.im>
parents: 20897
diff changeset
136
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
137 <sect2 id="plugin-ids-examples">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
138 <title>Examples of Well-Chosen Plugin IDs</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
139 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
140 The following is a list of well-chosen Plugin IDs listing a few good examples.
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
141
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
142 <table>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
143 <title>Examples</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
144 <tgroup cols="2">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
145 <colspec colwidth="*" colnum="1" align="left"/>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
146 <colspec colwidth="*" colnum="2" align="left"/>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
147 <thead>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
148 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
149 <entry>id</entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
150 <entry>description</entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
151 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
152 </thead>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
153 <tbody>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
154 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
155 <entry><literal>"gtk-amc_grim-guifications"</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
156 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
157 This is the plugin ID for the Guifications 2.x plugin.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
158 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
159 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
160 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
161 <entry><literal>"gtk-rlaager-album"</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
162 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
163 This is the plugin ID for the Album plugin, which is now part of the
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
164 Purple Plugin Pack. Its ID follows the rules because its life started prior
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
165 to its inclusion in the Plugin Pack.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
166 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
167 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
168 <row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
169 <entry><literal>"core-rlaager-irchelper"</literal></entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
170 <entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
171 This is the plugin ID for the IRC Helper plugin, which is now part of the
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
172 Purple Plugin Pack. Its ID follows the rules because its life started prior
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
173 to its inclusion in the Plugin Pack.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
174 </entry>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
175 </row>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
176 </tbody>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
177 </tgroup>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
178 </table>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
179 </para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
180 </sect2>
7335
6e5ba33ea062 [gaim-migrate @ 7923]
Christian Hammond <chipx86@chipx86.com>
parents:
diff changeset
181
35490
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
182 <sect2 id="plugin-ids-plugin-db">
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
183 <title>Plugin Database</title>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
184 <para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
185 Although it doesn't exist yet, in time there will be a plugin database
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
186 on the Pidgin website, where users can download and install new plugins.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
187 Plugins will be accessed by your plugin ID, which is one reason why it
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
188 must be unique.
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
189 </para>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
190 </sect2>
1c4efce838f6 gtk-doc-ify C-HOWTO, plugin-i18n, plugin-ids, plugin-signals
Ankit Vani <a@nevitus.org>
parents: 33955
diff changeset
191 </chapter>

mercurial