This file is indexed.

/usr/share/gtk-doc/html/libpanel-applet/getting-started.concepts.html is in libpanel-applet-doc 1:3.26.0-1ubuntu5.

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
164
165
166
167
168
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Concepts: 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.intro.html" title="Introduction">
<link rel="next" href="getting-started.concepts.applet-instances.html" title="Applet Instances">
<meta name="generator" content="GTK-Doc V1.27 (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.intro.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="getting-started.concepts.applet-instances.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.concepts"></a>Concepts</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="sect1"><a href="getting-started.concepts.html#id-1.3.3.4">Applet Registration</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="getting-started.concepts.html#id-1.3.3.4.3">Panel Applet Files</a></span></dt>
<dt><span class="sect2"><a href="getting-started.concepts.html#getting-started.concepts.applet-types">Applet Types</a></span></dt>
<dt><span class="sect2"><a href="getting-started.concepts.html#getting-started.concepts.applet-factory">Applet Factory</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="getting-started.concepts.applet-instances.html">Applet Instances</a></span></dt>
</dl></div>
<p>
         In order to write an applet it is important to understand the relationships between GNOME Panel and your
         applets. For example, how are applets registered to the GNOME Panel? How does the GNOME Panel instantiate an
         applet?
       </p>
<p>
         On a typical desktop there can be multiple GNOME Panels and each GNOME Panel can have several instances of
         your applet. These different instances are created by an <span class="emphasis"><em>applet factory</em></span> which must be
         registered to the GNOME Panel. Additionally, in order to identify your applet and instantiate the correct
         applet, each applet is identified by an <span class="emphasis"><em>applet type</em></span>.
       </p>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id-1.3.3.4"></a>Applet Registration</h2></div></div></div>
<p>
             To make your applets and the applet factory known to GNOME Panel - so that it can show your
             applet in the list of applets of the "Add to Panel" dialog - and to add applets to the panel, you
             must create a Panel Applet File.
             <a class="link" href="getting-started.install.html#getting-started.install.panel-applet" title="Panel Applet File Syntax">Panel Applet files</a> are introduced in more
             detail later in this document. However it is important for applet authors to understand the relationship
             between <span class="emphasis"><em>the panel applet file</em></span>, <span class="emphasis"><em>the applet factory</em></span>, and the
             <span class="emphasis"><em>applet type</em></span>. Therefore this section contains a short example of a Panel Applet file.
           </p>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="id-1.3.3.4.3"></a>Panel Applet Files</h3></div></div></div>
<p>
                   <a class="link" href="getting-started.install.html#getting-started.install.panel-applet" title="Panel Applet File Syntax">Panel Applet files</a> are
                   <code class="constant">ini</code>-file formatted files that contain the necessary information about your
                   factory and your applet types. The following example listing shows a simple Panel Applet file.
               </p>
<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> 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>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="getting-started.concepts.applet-types"></a>Applet Types</h3></div></div></div>
<p>
                   The applet type is the identifier representing a type of applets to the panel. It is a simple string,
                   like <code class="constant">HelloWorldApplet</code> and is unique per
                   <a class="link" href="getting-started.concepts.html#getting-started.concepts.applet-factory" title="Applet Factory">applet factory</a>.
               </p>
<div class="note"><p>
                       In the example listing above the applet type can be found in the second section title
                       (e.g. <code class="constant">[HelloWorldApplet]</code>, but without the square brackets).
                   </p></div>
</div>
<div class="sect2">
<div class="titlepage"><div><div><h3 class="title">
<a name="getting-started.concepts.applet-factory"></a>Applet Factory</h3></div></div></div>
<p>
                 The applet factory is an implementation detail that is mostly hidden by the Panel Applet Library,
                 but it still appears in a few places such as:
                 </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
                         The <GTKDOCLINK HREF="PANEL-APPLET-OUT-PROCESS-FACTORY:CAPS">
                         <code class="function">PANEL_APPLET_OUT_PROCESS_FACTORY()</code></GTKDOCLINK> macro, which is used to build
                         out process applets. It gets the factory id passed as its first parameter.
                       </p></li>
<li class="listitem"><p>
                         The <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> macro, which is used to build in
                         process applets. It gets the factory id passed as its first parameter.
                       </p></li>
<li class="listitem">
<p>
                         A Panel Applet file, which is used to register applet types and the applet factory to the
                         GNOME Panel. It must contain the same applet factory id as used in the above two macros.
                       </p>
<div class="warning"><p>By default applets are out-process, if you have used the
                                 <code class="function">PANEL_APPLET_IN_PROCESS_FACTORY</code>, then you must add:
                                 <code class="constant">InProces=true</code> to the <code class="constant">[Applet Factory]</code>
                                 section.
                             </p></div>
</li>
</ul></div>
<p>
               </p>
<p>
                   The applet factory is the object that will create a new applet instance when the panel requests a
                   new applet to be created. It is identified with a simple string id, for example
                   <code class="constant">HelloWorldFactory</code>.
               </p>
<div class="note"><p>
                       In the example listing above the applet factory id can be found in the
                       <code class="constant">ID</code>-field of the <code class="constant">[Applet Factory]</code> section.
                   </p></div>
<p>
                   The requests the applet factory will receive from the GNOME Panel specify which type of applet should be created.
                   This is what makes it possible to have more than one applet type in one applet binary. In most cases, however, the
                   applet factory will be specific to only one applet type.
               </p>
<p>
                   There is only one applet factory per applet binary, and it is always running before any applet instance is
                   created by the applet binary. The applet factory is created via one of these two macros:
                   </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p><code class="function">PANEL_APPLET_OUT_PROCESS_FACTORY()</code></p></li>
<li class="listitem"><p><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>
</ul></div>
<p>
               </p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.27</div>
</body>
</html>