~walkerlee/totem/pre-interview

« back to all changes in this revision

Viewing changes to docs/reference/html/totem-plugins.html

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2013-05-26 00:07:51 UTC
  • mfrom: (1.6.1) (24.1.4 experimental)
  • Revision ID: package-import@ubuntu.com-20130526000751-kv8ap3x1di4qq8j2
Tags: 3.8.2-0ubuntu1
* Sync with Debian. Remaining changes: 
* debian/control.in:
  - Drop build-depends on libepc-ui-dev and libgrilo-0.2-dev (in universe)
  - Drop libxtst-dev build-depends so that the (redundant) fake key presses
    for inhibiting the screensaver are disabled (LP: #1007438)
  - Build-depend on libzeitgeist-dev
  - Suggest rather than recommend gstreamer components in universe
  - Add totem-plugins-extra
  - Add XB-Npp-Description and XB-Npp-Filename header to the 
    totem-mozilla package to improve ubufox/ubuntu plugin db integration 
  - Refer to Firefox in totem-mozilla description instead of Iceweasel
  - Don't have totem-mozilla recommend any particular browser
  - Drop obsolete python library dependencies since iplayer is no longer
    included
* debian/totem-common.install, debian/source_totem.py:
  - Install Ubuntu apport debugging hook
* debian/totem-plugins-extra.install:
  - Universe plugins split out of totem-plugins (currently only gromit)
* debian/totem-plugins.install:    
  - Skip the plugins split to -extra and add the zeitgeist plugin
* debian/rules:
  - Build with --fail-missing, to ensure we install everything. 
    + Ignore libtotem.{,l}a since we delibrately don't install these.
  - Re-enable hardening, make sure both PIE and BINDNOW are used
    by setting hardening=+all. (LP: #1039604)
* debian/patches/91_quicklist_entries.patch:
  - Add static quicklist
* debian/patches/92_gst-plugins-good.patch:
  - Build without unnecessary gstreamer1.0-bad dependency
* debian/patches/93_grilo_optional.patch:
  - Allow building without grilo while grilo MIR is still pending
* debian/patches/correct_desktop_mimetypes.patch:
  - Don't list the mimetypes after the unity lists
* debian/patches/revert_shell_menu.patch: 
  - revert the use of a shell menu until indicator-appmenu can handle
    the mixed shell/traditional menus itself
* New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>Writing Totem Plugins</title>
6
 
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7
7
<link rel="home" href="index.html" title="Totem Reference Manual">
8
8
<link rel="up" href="tutorials.html" title="Tutorials">
9
9
<link rel="prev" href="tutorials.html" title="Tutorials">
10
10
<link rel="next" href="core-api.html" title="Core API">
11
 
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
</head>
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
29
29
<td valign="top" align="right"></td>
30
30
</tr></table></div>
31
31
<div class="refsect1">
32
 
<a name="id465708"></a><h2>Introduction</h2>
 
32
<a name="idm270158390064"></a><h2>Introduction</h2>
33
33
<p>Totem is extensible by means of small, dynamically-loadable plugins, which add functionality wanted by some but not others.</p>
34
34
<div class="refsect2">
35
 
<a name="id456205"></a><h3>Locations</h3>
 
35
<a name="idm270158762432"></a><h3>Locations</h3>
36
36
<p>Totem plugins can either be installed in the system path
37
37
                                (e.g. <code class="filename">/usr/lib/totem/plugins/</code>), or in a user's home directory
38
38
                                (e.g. <code class="filename">~/.local/share/totem/plugins/</code>). In either case, each plugin resides in a
41
41
                                directory. This gives the code name of the plugin, as well as some metadata about the plugin such as its human-readable
42
42
                                name, description and author.</p>
43
43
<div class="example">
44
 
<a name="id461435"></a><p class="title"><b>Example 1. Example Plugin Directory</b></p>
 
44
<a name="idm270159524288"></a><p class="title"><b>Example 1. Example Plugin Directory</b></p>
45
45
<div class="example-contents">
46
46
<p>A system-installed plugin called <code class="literal">subtitle-downloader</code> would reside in
47
47
                                        <code class="filename">/usr/lib/totem/plugins/subtitle-downloader</code>, and would (at a
48
48
                                        minimum) have the following files:
49
49
                                        </p>
50
 
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
 
50
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
51
51
<li class="listitem"><code class="filename">subtitle-downloader.plugin</code></li>
52
52
<li class="listitem"><code class="filename">libsubtitle-downloader.so</code></li>
53
53
</ul></div>
62
62
</div>
63
63
<hr>
64
64
<div class="refsect2">
65
 
<a name="id458659"></a><h3>The <code class="filename">.plugin</code> File</h3>
 
65
<a name="idm270159981136"></a><h3>The <code class="filename">.plugin</code> File</h3>
66
66
<p>The file should use the following template:
67
67
                                </p>
68
68
<pre class="programlisting">[Plugin]
85
85
</div>
86
86
<hr>
87
87
<div class="refsect2">
88
 
<a name="id477425"></a><h3>Writing a Plugin</h3>
 
88
<a name="idm270159712992"></a><h3>Writing a Plugin</h3>
89
89
<p>Writing a plugin in C is a matter of creating a new <span class="type"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a></span> which inherits
90
 
                                from <span class="type"><a href="/usr/share/gtk-doc/html/libpeas/PeasExtensionBase.html">PeasExtensionBase</a></span> and which implements
91
 
                                <span class="type"><a href="/usr/share/gtk-doc/html/libpeas/PeasActivatable.html">PeasActivatable</a></span>. The following code will create a simple plugin
 
90
                                from <span class="type">PeasExtensionBase</span> and which implements
 
91
                                <span class="type">PeasActivatable</span>. The following code will create a simple plugin
92
92
                                called <code class="literal">foobar</code>:
93
93
                                </p>
94
94
<div class="example">
95
 
<a name="id463752"></a><p class="title"><b>Example 2. Example Plugin Code</b></p>
 
95
<a name="idm270160044688"></a><p class="title"><b>Example 2. Example Plugin Code</b></p>
96
96
<div class="example-contents">
97
97
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
98
98
    <tbody>
182
182
                                this.</p>
183
183
<p>Any of the API documented in the rest of the Totem API reference can be used by plugins. Python plugins are written in
184
184
                                the same way as C plugins, and are similarly implemented as classes derived from
185
 
                                <span class="type"><a href="/usr/share/gtk-doc/html/libpeas/PeasExtensionBase.html">PeasExtensionBase</a></span> and implementing
186
 
                                <span class="type"><a href="/usr/share/gtk-doc/html/libpeas/PeasActivatable.html">PeasActivatable</a></span>.</p>
 
185
                                <span class="type">PeasExtensionBase</span> and implementing
 
186
                                <span class="type">PeasActivatable</span>.</p>
187
187
</div>
188
188
</div>
189
189
</div>
190
190
<div class="footer">
191
191
<hr>
192
 
          Generated by GTK-Doc V1.18</div>
 
192
          Generated by GTK-Doc V1.18.1</div>
193
193
</body>
194
194
</html>
 
 
b'\\ No newline at end of file'