/usr/share/gtk-doc/html/libpanel-applet/getting-started.install.html is in libpanel-applet-doc 3.20.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Applet Registration, Installation and Build System: Panel Applet Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Panel Applet Reference Manual">
<link rel="up" href="getting-started.html" title="Part II. Getting Started with the Panel Applet library">
<link rel="prev" href="getting-started.settings.html" title="Settings">
<link rel="next" href="getting-started.in-out-process.html" title="Out-of-Process vs In-Process">
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="getting-started.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="getting-started.settings.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="getting-started.in-out-process.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="getting-started.install"></a>Applet Registration, Installation and Build System</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="sect1"><a href="getting-started.install.html#getting-started.install.panel-applet">Panel Applet File Syntax</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="getting-started.install.html#id-1.3.7.5.3">Panel Applet File Example</a></span></dt>
<dt><span class="sect2"><a href="getting-started.install.html#id-1.3.7.5.4">File Format and well known Fields</a></span></dt>
<dt><span class="sect2"><a href="getting-started.install.html#id-1.3.7.5.5">Installation</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="getting-started.in-out-process.html">Out-of-Process vs In-Process</a></span></dt>
<dt><span class="sect1"><a href="getting-started.install.build-system.html">Build system</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="getting-started.install.build-system.html#id-1.3.7.7.2">Configure</a></span></dt>
<dt><span class="sect2"><a href="getting-started.install.build-system.html#id-1.3.7.7.3">Makefiles</a></span></dt>
</dl></dd>
</dl></div>
<p>
Simply installing the applet binary will obviously not be enough. The applet also needs to be registered to the
panel. In order to do this you need to provide a Panel Applet File. Panel Applet files are ini-style text
files with an extension named <code class="constant">.panel-applet</code>.
</p>
<div class="warning"><p>
If you are creating an out-process applet, then you also need to provide a D-Bus service file
to automatically start the binary when the panel wants to create an applet.
</p></div>
<p>
This chapter explains the syntax of <code class="constant">.panel-applet</code> files and gives the necessary
information to setup the build system in order to install all the required parts of the applet on the system.
For the build system part it is assumed that GNU Autotools (e.g. autoconf and automake) are used.
</p>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="getting-started.install.panel-applet"></a>Panel Applet File Syntax</h2></div></div></div>
<p>
The <code class="filename">.panel-applet</code> file is a key file about the applet binary, describing the
<a class="link" href="getting-started.concepts.html#getting-started.concepts.applet-factory" title="Applet Factory">applet factory</a> of the binary and the
<a class="link" href="getting-started.concepts.html#getting-started.concepts.applet-types" title="Applet Types">applet types</a> this factory can create.
</p>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.3.7.5.3"></a>Panel Applet File Example</h3></div></div></div>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9</pre></td>
<td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">[</span>Applet Factory<span class="gtkdoc opt">]</span>
Id<span class="gtkdoc opt">=</span>HelloWorldFactory
Name<span class="gtkdoc opt">=</span>Hello World Applet Factory
Description<span class="gtkdoc opt">=</span>Factory <span class="keyword">for</span> the our example applets
<span class="gtkdoc opt">[</span>HelloWorldApplet<span class="gtkdoc opt">]</span>
Name<span class="gtkdoc opt">=</span>Hello World
Description<span class="gtkdoc opt">=</span>Factory <span class="keyword">for</span> the Hello World example applet
Icon<span class="gtkdoc opt">=</span>hello<span class="gtkdoc opt">-</span>world<span class="gtkdoc opt">-</span>icon</pre></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.3.7.5.4"></a>File Format and well known Fields</h3></div></div></div>
<p>
The file must contain a <code class="constant">Applet Factory</code> group with the following keys:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
<code class="constant">Id</code> (string): the identifier of the applet factory. This must be the same name that will be used as the first parameter to <a class="link" href="libpanel-applet-Panel-Applet-Factory.html#PANEL-APPLET-OUT-PROCESS-FACTORY:CAPS" title="PANEL_APPLET_OUT_PROCESS_FACTORY()"><code class="function">PANEL_APPLET_OUT_PROCESS_FACTORY()</code></a> or <a class="link" href="libpanel-applet-Panel-Applet-Factory.html#PANEL-APPLET-IN-PROCESS-FACTORY:CAPS" title="PANEL_APPLET_IN_PROCESS_FACTORY()"><code class="function">PANEL_APPLET_IN_PROCESS_FACTORY()</code></a>.
</p></li>
<li class="listitem"><p>
<code class="constant">InProcess</code> (boolean, optional): whether the applet should be <a class="link" href="getting-started.in-out-process.html" title="Out-of-Process vs In-Process">in-process or out-of-process</a>. By default, the applet is out-of-process.
</p></li>
<li class="listitem"><p>
<code class="constant">Location</code> (string): the path to the applet binary. Only mandatory if <code class="constant">InProcess</code> is <code class="constant">true</code>.
</p></li>
<li class="listitem"><p>
<code class="constant">Name</code> (localized string, optional): the name of the applet factory. For example: <code class="constant">Hello World Factory</code>.
</p></li>
<li class="listitem"><p>
<code class="constant">Description</code> (localized string, optional): the description of the applet factory. For example: <code class="constant">Factory for the Hello World applet example</code>.
</p></li>
</ul></div>
<p>
For each applet type, it must also contain a group named with the applet type identifier. Such a group must have the following keys:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
<code class="constant">Name</code> (localized string): the name of the applet type. For example: <code class="constant">Hello World</code>.
</p></li>
<li class="listitem"><p>
<code class="constant">Description</code> (localized string, optional): the description of the applet type. For example: <code class="constant">Hello World applet example</code>.
</p></li>
<li class="listitem"><p>
<code class="constant">Icon</code> (string, optional): the icon name of the applet type. For example: <code class="constant">hello-world-icon</code>. It can also be the path to an icon, but this not recommended.
</p></li>
</ul></div>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.3.7.5.5"></a>Installation</h3></div></div></div>
<p>
The <code class="filename">.panel-applet</code> file must be installed in a specific directory to be discoverable by the panel. The exact path of this directory can be queried with <code class="constant">pkg-config</code>:
</p>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1</pre></td>
<td class="listing_code"><pre class="programlisting">pkg<span class="gtkdoc opt">-</span>config <span class="gtkdoc opt">--</span>variable<span class="gtkdoc opt">=</span>libpanel_applet_dir libpanel<span class="gtkdoc opt">-</span>applet</pre></td>
</tr>
</tbody>
</table>
</div>
<p>
The path depends on how GNOME Panel was compiled and installed so it could be different depending on which
Linux distribution is used. Therefore never hard-code the path in your build system but use he above
command instead.
Please see the <a class="link" href="getting-started.install.build-system.html" title="Build system">Build System</a> section for more
information on how install a Panel Applet file with autotools.
</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
</body>
</html>
|