more updates for libxml2 2.5.10
[TestXSLT.git] / libxml2 / test / relaxng / docbook_0.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3     "../dtd/4.1.2/docbookx.dtd" [
4 <!ENTITY version "1.0.53">
5 <!ENTITY mdash  "--">
6 <!ENTITY hellip "...">
7         <!-- replace version above with actual application version number-->
8         <!--  Template Version: 1.0.1  (do not remove this line) -->
9
10
11
12 <!ENTITY APPLET-TEMPLATE-1x-SHELL SYSTEM
13 "templates/applet_template_1-applet.sgml.cdata">
14 <!ENTITY APPLET-TEMPLATE-1x SYSTEM
15 "templates/applet_template_1.sgml.cdata">
16 ]>
17
18 <!--  Version: 1.0.1  -->
19
20 <article id="index">
21   <articleinfo>
22
23     <authorgroup>
24
25       <author>
26         <firstname>David</firstname>
27         <surname>Mason</surname>
28         <affiliation>
29           <orgname>Red Hat, Inc.</orgname>
30           <address>
31             <email>dcm@redhat.com</email>
32           </address>
33         </affiliation>
34       </author>
35
36       <author>
37         <firstname>Daniel</firstname>
38         <surname>Mueth</surname>
39         <affiliation>
40           <address>
41             <email>d-mueth@uchicago.edu</email>
42           </address>
43         </affiliation>
44       </author>
45
46       <author>
47         <firstname>Alexander</firstname>
48         <surname>Kirillov</surname>
49         <affiliation>
50           <address>
51             <email>kirillov@math.sunysb.edu</email>
52           </address>
53         </affiliation>
54       </author>
55
56     </authorgroup>
57
58     <releaseinfo>
59       This is a pre-release!
60     </releaseinfo>
61     
62     <revhistory>
63       <revision>
64         <revnumber>
65           0.99
66         </revnumber>
67         <date>
68          04.10.2000
69         </date>
70       </revision>
71     </revhistory>
72     
73     <copyright>
74       <year>2000</year>
75       <holder>Red Hat, Inc., Daniel Mueth, and Alexander Kirillov</holder>
76     </copyright>
77
78     <legalnotice>
79      <para>
80       Permission is granted to copy, distribute and/or modify this
81       document under the terms of the <citetitle>GNU Free Documentation
82       License</citetitle>, Version 1.1 or any later version published
83       by the Free Software Foundation with no Invariant Sections, no
84       Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy
85       of the <citetitle>GNU Free Documentation License</citetitle> from
86       the Free Software Foundation by visiting <ulink type="http"
87       url="http://www.fsf.org">their Web site</ulink> or by writing to:
88       Free Software Foundation, Inc., 59 Temple Place - Suite 330,
89       Boston, MA 02111-1307, USA.
90      </para>
91      <para>
92       Many of the names used by companies to distinguish their products and
93       services are claimed as trademarks. Where those names appear in any
94       GNOME documentation, and those trademarks are made aware to the members
95       of the GNOME Documentation Project, the names have been printed in caps
96       or initial caps.
97      </para>
98     </legalnotice>
99
100     <title>The GNOME Handbook of Writing Software Documentation</title>
101
102   </articleinfo>
103   
104   <!-- ################# Introduction ############### -->
105
106   <sect1 id="intro">
107     <title>Introduction</title>
108
109     <!-- ####### Introduction | The GNOME Documentation Project ####### -->
110
111     <sect2 id="gdp">
112       <title>The GNOME Documentation Project</title>
113
114       <sect3 id="goals">
115         <title>Goals</title>
116         <para>
117           The GNOME Documentation Project (GDP) aims to provide GNOME
118           and GNOME applications with a complete, intuitive, and clear
119           documentation system.  At the center of the GDP is the
120           <application>GNOME Help Browser</application>, which
121           presents a unified interface to GNOME-specific documentation
122           as well as other Linux documentation such as man pages and
123           texinfo documents. The GNOME Help System provides a
124           comprehensive view of documentation on a machine by
125           dynamically assembling the documentation of GNOME
126           applications and components which are installed. The GDP is
127           responsible for writing numerous GNOME-related documents,
128           both for developers and for users.  Developer documentation
129           includes <ulink url="http://developer.gnome.org/doc/API/"
130           type="http">APIs for the GNOME libraries</ulink>, <ulink
131           url="http://developer.gnome.org/doc/whitepapers/"
132           type="http"><citetitle>GNOME White
133           Papers</citetitle></ulink>, GNOME developer <ulink
134           url="http://developer.gnome.org/doc/tutorials/"
135           type="http">tutorials</ulink>, the <ulink
136           url="http://developer.gnome.org/doc/FAQ/"
137           type="http"><citetitle>GNOME Developer
138           FAQ</citetitle></ulink>, the <ulink
139           url="http://developer.gnome.org" type="http">GNOME
140           Developer's Website</ulink>, and <citetitle>GNOME
141           Handbook</citetitle>'s, such as the one you are reading.
142           User documentation include the <ulink
143           url="http://www.gnome.org/learn/"
144           type="http"><citetitle>GNOME User's
145           Guide</citetitle></ulink>, the <ulink
146           url="http://www.gnome.org/learn/"
147           type="http"><citetitle>GNOME FAQ</citetitle></ulink>, and
148           GNOME application documentation.  Most GNOME applications
149           have their own manual in addition to context sensitive help.
150         </para>
151       </sect3>
152
153       <sect3 id="joining">
154        <title>Joining the GDP</title>
155        <para>
156          Documenting GNOME and all the numerous GNOME applications is
157          a very large project.  The GDP is always looking for people
158          to help write, update, and edit documentation.  If you are
159          interested in joining the GDP team, you should join the
160          <ulink url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
161          <citetitle>gnome-doc-list mailing list</citetitle> </ulink>.
162          Read <xref linkend="gettingstarted" />, for help selecting a
163          project to work on.  Feel free to introduce yourself on the
164          gnome-doc-list mailing list and indicate which project you
165          intend to work on, or else ask for suggestions of important
166          documents which need work done. You may also want to join the
167          #docs IRC channel on irc.gnome.org to meet other GDP members
168          and discuss any questions you may have.  For a list of GDP
169          projects and members, see the
170          <ulink url="http://developer.gnome.org/projects/gdp">
171            <citetitle>GDP Website</citetitle></ulink>.
172        </para>
173       </sect3>
174
175       <sect3 id="collaborating">
176        <title>Collaborating with the GDP</title>
177        <para>
178         GNOME developers, packagers, and translators may not be
179         writing GNOME documentation but will want to understand how
180         the GNOME documentation system works and will need to
181         collaborate with GDP members.  This document should help to
182         outline the structure of how the GNOME documentation system
183         works.  Developers who do not write the documentation for
184         their applications are encouraged to find a GDP member to
185         write the documentation.  This is best done by sending an
186         email to the <ulink
187         url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
188         <citetitle>gnome-doc-list mailing list</citetitle> </ulink>
189         describing the application, where it can be downloaded from,
190         and that the developer(s) would like a GDP member to write
191         documentation for the application. The #docs IRC channel on
192         irc.gnome.org is another option for contacting GDP members.
193        </para>
194       </sect3>
195     </sect2>
196
197     <!-- ####### Introduction | Notation and Conventions  ####### -->
198
199     <sect2 id="notation">
200       <title>Notation and Conventions</title>
201       <para>
202         This Handbook uses the following notation:
203         <informaltable frame="none">
204           <tgroup cols="2">
205             <tbody>
206               <row>
207                 <entry>
208                   <filename class="directory">/usr/bin</filename>
209                 </entry>
210                 <entry>
211                   Directory
212                 </entry>
213               </row>
214               <row>
215                 <entry>
216                   <filename>foo.sgml</filename>
217                 </entry>
218                 <entry>
219                   Filename
220                 </entry>
221               </row>
222               <row>
223                 <entry>
224                   <command>command</command>
225                 </entry>
226                 <entry>
227                   Command or text that would be typed.
228                 </entry>
229               </row>
230               <row>
231                 <entry>
232                   <command><replaceable>replaceable</replaceable></command>
233                 </entry>
234                 <entry>
235                   "Variable" text that can be replaced.
236                 </entry>
237               </row>
238               <row>
239                 <entry>
240                   <literal>Program or Doc Code</literal>
241                 </entry>
242                 <entry>Program or document code</entry>
243               </row>
244             </tbody>
245           </tgroup>
246         </informaltable>
247       </para>
248     </sect2>
249
250     <!-- ####### Introduction | About This Handbook  ####### -->
251
252     <sect2 id="about">
253       <title>About This Handbook</title>
254       <para>
255        This Handbook is a guide for both writing documentation for
256        GNOME components and applications and for properly binding and
257        packaging documentation into GNOME applications.
258       </para>
259       <para>
260        This Handbook, like all GNOME documentation, was written in
261        DocBook(SGML) and is available in several formats including
262        SGML, HTML, PostScript, and PDF.  For the latest version, see
263        <ulink
264        url="http://developer.gnome.org/projects/gdp/handbook.html"> 
265        <citetitle>Getting The GNOME Handbook of Writing Software
266        Documentation</citetitle> </ulink>.  Alternately, one may
267        download it anonymously from GNOME CVS under <filename
268        class="directory">gnome-docu/gdp</filename>.
269       </para>
270     </sect2>
271   </sect1>
272
273 <!-- ################# Getting Started  ############### -->
274
275   <sect1 id="gettingstarted">
276     <title>Getting Started Writing GNOME Documentation</title>
277
278 <!--####### Getting Started | Selecting A Document ####### -->
279
280     <sect2 id="selecting">
281       <title>Selecting A Document</title>
282     
283       <sect3 id="know">
284         <title>Document Something You Know</title>
285         <para>
286           The most frequently asked question of new contributors who
287           join the GDP is "which document should I start
288           with?". Because most people involved are volunteers, we do
289           not <emphasis>assign</emphasis> projects and applications to
290           write documents for. The first step is all yours - you must
291           decide what about GNOME interests you most and find out if
292           it has complete documents or not.
293         </para>
294         <para>
295           It is also important to spend some time with GNOME to make
296           sure you are familiar enough with it to be
297           <emphasis>authoritative</emphasis>  in your writing. The
298           best way to do this is to just sit down and play with GNOME
299           as much as possible before starting to write.
300         </para>
301         <para>
302           The easiest way to get started is to improve existing
303           documentation. If you notice some inaccuracies or omissions
304           in the documentation, or you think that you can explain the
305           material more clearly, just send your suggestions to the
306           author of the original documentation or to the GNOME
307           documentation project at <email>docs@gnome.org</email>.
308         </para>
309       </sect3>
310       
311       <sect3 id="doctable">
312         <title>The GNOME Documentation Status Table</title>
313         <para>
314           The <citetitle>GDP Documentation Status Table</citetitle>
315           (<citetitle>DocTable</citetitle>) (<ulink
316           url="http://www.gnome.org/gdp/doctable/"
317           type="http">http://www.gnome.org/gdp/doctable/</ulink>) is a
318           web page which tracks the status of all the various
319           documentation components of GNOME.  These components include
320           application documentation, internal GNOME component
321           documentation, user documentation, and developer
322           documentation.  For each documentation item, it tracks the
323           current status of the documentation, who is working on the
324           particular document, where the documentation can be found,
325           and provides a forum for the discussion of each item.
326         </para>
327         <para>
328           You should use the <citetitle>DocTable</citetitle> to help
329           you select a documentation item which needs work done.  Once
330           you have selected an item to work on, please register
331           yourself as an author so that other authors do not duplicate
332           your work and may contact you to help or offer suggestions.
333           Also be sure to keep the status icons up-to-date  so that
334           the GDP team can easily identify which items need additional
335           help.  The <citetitle>DocTable</citetitle> also allows
336           people to make announcements and suggestions and to discuss
337           issues in the comments section.
338         </para>
339         <note>
340          <title>Note</title>
341          <para>
342           Note that the information in the
343           <citetitle>DocTable</citetitle> may not always be up-to-date
344           or accurate.  When you assign yourself to documenting an
345           application, make sure you find out the latest status of
346           documentation by contacting the application author.  
347          </para>
348         </note>
349       </sect3>
350     </sect2>
351
352 <!-- ####### Getting Started | Installing And Using DocBook ####### -->
353
354     <sect2 id="docbook">
355       <title>Installing and Using DocBook</title>
356       <para>
357         All documentation for the GNOME project is written in SGML
358         using the DocBook DTD. There are many advantages to using
359         this for documentation, not least of which is the single
360         source nature of SGML. To contribute to the GDP you should
361         learn to use DocBook.
362       </para>
363       <note>
364         <title>NOTE</title>
365         <para>
366           To get started writing for the GDP you do not need to rush
367           out and learn DocBook - if you feel it is too much to handle
368           for now, you can submit plain ASCII text to the <ulink
369           url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
370           <citetitle>gnome-doc-list mailing list</citetitle>
371           </ulink>and a volunteer will mark it up for you. Seeing your
372           document marked up will also be a great way for you to start
373           learning DocBook.
374         </para>
375       </note>
376       <sect3 id="installingdocbook">
377         <title>Installing DocBook</title>
378         <para>
379           Download and install the following <ulink
380           url="ftp://sourceware.cygnus.com:/pub/docbook-tools/"
381           type="ftp">DocBook Tools packages</ulink>: jade, docbook,
382           jadetex, sgml-common, and stylesheets. (RPM users should note
383           that jade is platform dependent (eg. i386), while the other packages
384           are in the <filename class="directory">noarch</filename>
385           directory.) You can find more 
386           information on DocBook Tools <ulink url="
387           http://sourceware.cygnus.com/docbook-tools/"
388           type="http">here</ulink>.
389         </para>
390         <para>
391           If you are an <application>Emacs</application> user you may
392           want to grab the psgml package as well. This is a major mode
393           for editing sgml files in <application>Emacs</application>.
394         </para>
395       </sect3>
396       
397       <sect3 id="gdpstylesheets">
398         <title>GDP Stylesheets</title>
399         <para>
400           The GDP uses its own DocBook stylesheets.  To use the GDP
401           stylesheets, you should download the file
402           <filename>gdp-both.dsl</filename> from the <filename
403           class="directory">gnome-docu/gdp/dsssl</filename> module in
404           CVS (or from <ulink
405           url="http://developer.gnome.org/projects/gdp/stylesheets.html">
406           GDP Custom DSSSL Stylesheet</ulink>)and copy it
407 <!--      into <filename
408           class="directory">/usr/lib/sgml/stylesheets</filename>. You
409           will need to point DocBook Tools to this stylesheet with the
410           <command><option>-d</option></command> option:
411           <command>db2html -d /usr/lib/sgml/stylesheets/gdp-both.dsl
412           <replaceable>foo.sgml</replaceable></command>. (Creating an
413           alias to include this option and path is convenient.)
414           Alternately, you could overwrite
415           <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>
416           with <filename>gdp-both.dsl</filename>.
417 -->
418           over the file
419           <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>.
420           Alternately, you can download and install the
421           <ulink url="http://people.redhat.com/dcm/software.html"
422           type="http">gnome-doc-tools package</ulink> which will set
423           up the stylesheets as well as the DTD discussed below.
424         </para>
425
426 <!--        <note>
427           <para>
428             The current version of the DocBook Tools command
429             <command>db2ps</command> does not have a
430             <command><option>-d</option></command> option. In order to
431             create PostScript output, you must overwrite
432             <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>
433             with <filename>gdp-both.dsl</filename>.
434           </para>
435         </note>
436 -->
437       </sect3>
438       
439       <sect3 id="gdpdtd">
440         <title>GDP DTD (PNG Image Support)</title>
441         <para>
442           Due to some license issues involved with the creation of
443           gifs, the GNOME Documentation Project has decided to use the
444           PNG image format for all images in GNOME documentation. You
445           can read more about the issues involved with gifs at <ulink
446           url="http://www.gnu.org/philosophy/gif.html"
447           type="http">http://www.gnu.org/philosophy/gif.html</ulink>.
448         </para>
449         <para>
450           The current DocBook DTD(3.1) does not include support for
451           embedding PNG images in your documents.  Since the GDP uses
452           many screenshots in its documentation, we use our own
453           variation on the DocBook DTD which has PNG image support.
454           We encourage everybody to use this DTD instead of the
455           default DocBook DTD since your source document header and
456           your output document appearance subtly vary between the two
457           DTD's.  To install the GDP custom DTD with PNG image support
458           by hand:
459         </para>
460         <itemizedlist mark="opencircle">
461           <listitem>
462             <para>
463               Download <ulink
464               url="http://www.labs.redhat.com/png/png-support.html">the
465               GDP DocBook DTD for PNG support</ulink> and install it
466               where you keep your DTD's. (On Red Hat use <filename
467               class="directory">/usr/lib/sgml/</filename>.) Note that
468               the 3.0 DTD is missing support for the
469               <sgmltag>&lt;legalnotice></sgmltag> tag, so it is
470               recommended that you use version 3.1
471             </para>
472           </listitem>
473           <listitem override="bullet">
474             <para>
475               Add the new DTD to your SGML CATALOG file.  The location
476               of your SGML CATALOG file may vary depending upon your
477               distribution. (On Red Hat it is usually in
478               /usr/lib/sgml/CATALOG.) Add the following line to this
479               file:
480               <programlisting>
481 PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.0//EN" "png-support-3.0.dtd"
482               </programlisting> 
483               If you are using the 3.1 DTD, use:
484               <programlisting>
485 PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN" "png-support-3.1.dtd"
486               </programlisting> 
487             </para>
488           </listitem>
489         </itemizedlist>
490         <para>
491           Alternately, you can download and install the
492           <ulink url="http://people.redhat.com/dcm/software.html"
493           type="http">gnome-doc-tools package</ulink> which will set
494           up the custom stylesheets and DTD for you.
495         </para>
496         <para>
497           To include PNG files in your documents, you will need to
498           indicate that you are using this special DTD.  To do
499           this, use the following headers:
500         </para>
501         <para>
502           Articles:
503           <programlisting>
504 <![CDATA[<!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant
505 V1.1//EN"[]>]]>
506           </programlisting>
507         </para>
508         <para>
509           Books:
510           <programlisting>
511 <![CDATA[<!DOCTYPE Book PUBLIC "-//GNOME//DTD DocBook PNG Variant
512 V1.1//EN"[]>]]>
513           </programlisting>
514         </para>
515
516       </sect3>
517       
518       <sect3 id="editors">
519         <title>Editors</title>
520         <para>
521           There are many editors on Linux and UNIX systems available
522           to you. Which editor you use to work on the sgml documents
523           is completely up to you, as long as the editor is able to
524           preserve sgml and produce the source in a format that is
525           readable by everyone.
526         </para>
527         <para>
528           Probably the two most popular editors available are
529           <application>Emacs</application> and
530           <application>vi</application>. These and other editors are
531           used regularly by members of the GDP. Emacs has a major
532           mode, psgml, for editing sgml files which can save you time
533           and effort in adding and closing tags. You will find the
534           psgml package in DocBook Tools, which is the standard set of
535           tools for the GDP. You may find out more about DocBook Tools
536           in <xref linkend="installingdocbook" />.
537         </para>
538       </sect3>
539       
540       <sect3 id="make-output">
541         <title>Creating Something Useful with your Docs</title>
542         <para>
543           The tools available in DocBook Tools allow you to convert
544           your sgml document to many different formats including html
545           and Postscript. The primary tool used to do the conversion
546           is an application called <application>Jade</application>. In
547           most cases you will not have to work directly with
548           <application>Jade</application>; Instead,  you will use the
549           scripts provided by DocBook Tools.
550         </para>
551         <para>
552           To preview your DocBook document, it is easiest to convert
553           it to <filename>html</filename>. If you have installed the
554           DocBook tools described above, all you have to do is to run
555           the command <prompt>$</prompt><command>db2html
556           mydocument.sgml</command>. If there are no sgml syntax
557           errors, this will create a directory <filename
558           class="directory">mydocument</filename> and place the
559           resulting html files in it. The title page of the document
560           will typically be
561           <filename>mydocument/index.html</filename>.  If you have
562           screenshots in your document, you will have to copy these
563           files into the <filename
564           class="directory">mydocument</filename> directory by
565           hand. You can use any web browser to view your document.
566           Note that every time you run <command>db2html</command>, it
567           creates the <filename
568           class="directory">mydocument</filename> directory over, so
569           you will have to copy the screenshots over each time.
570         </para>
571         <para>
572           You can also convert your document to PostScript by running
573           the command <prompt>$</prompt><command>db2ps
574           mydocument.sgml</command>, after which you can print out or
575           view the resulting .ps file.  
576         </para>
577         <note>
578           <title>NOTE</title>
579           <para>
580             The html files you get will not look quite the same as the
581             documentation distributed with GNOME unless you have the
582             custom stylesheets installed on your machine. DocBook
583             Tools' default stylesheets will produce a different look
584             to your docs. You can read more about the GDP stylesheets
585             in <xref linkend="gdpstylesheets" />.
586           </para>
587         </note>
588       </sect3>
589       
590       <sect3 id="jadeimages">
591         <title>Images in DocBook Tools</title>
592         <para>
593           If your document uses images you will need to take note of a
594           few things that should take place in order for you to make
595           use of those images in your output.
596         </para>
597         <para>
598           The DocBook Tools scripts and applications are smart enough
599           to know that when you are creating html you will be using
600           PNG files and when you are creating Postscript you will be
601           using EPS files (you must use EPS with Postscript).
602         </para>
603         <para>
604           Thus, you should never explicitly
605           include the extension of the image file, since DocBook
606           Tools will automatically insert it for you. For example:
607         </para>
608         <programlisting>
609 <![CDATA[
610 <figure>
611  <title>My Image</title>
612  <screenshot>
613   <screeninfo>Sample GNOME Display</screeninfo>
614   <graphic  format="png" fileref="myfile" srccredit="me">
615   </graphic>
616  </screenshot>
617 </figure>
618 ]]>     </programlisting>
619         <para>
620           You will notice in this example that the file
621           <filename>myfile.png</filename> was referred to as simply
622           <filename>myfile</filename>. Now when you run
623           <command>db2html</command> to create an html file, it will
624           automatically look for <filename>myfile.png</filename> in
625           the directory.
626         </para>
627         <para>
628           If you want to create PostScript ouput, you will need to create an
629           EPS version of your image file to be displayed in the
630           PostScript file. There is a simple script available which
631           allows you to change a PNG image into an EPS file
632           easily. You can download this file - img2eps - from <ulink
633           url="http://people.redhat.com/dcm/sgml.html"
634           type="html">http://people.redhat.com/dcm/sgml.html</ulink>
635           (look for the img2eps section).  Note that this script is
636           included in the gnome-doc-tools package, so if you are using
637           this package, you should already have
638           <command>img2eps</command> on you system.
639         </para>
640       </sect3>
641       
642       <sect3 id="moredocbookinfo">
643         <title>Learning DocBook</title>
644         <para>
645           There are many resources available to help you learn DocBook.
646           The following resources on the web are useful for learning
647           DocBook:
648         </para>
649         <itemizedlist mark="bullet">
650           <listitem>
651             <para>
652               <ulink url="http://www.docbook.org"
653               type="http">http://www.docbook.org</ulink>  - Norman
654               Walsh's <citetitle>DocBook: The Definitive
655               Guide</citetitle>.  Online O'Reilly book on using
656               DocBook. Contains an excellent element reference. May be
657               too formal for a beginner.
658             </para>
659           </listitem>
660           <listitem>
661             <para>
662               <ulink
663               url="http://www.oswg.org/oswg-nightly/oswg/en_US.ISO_8859-1/articles/DocBook-Intro/docbook-intro/index.html"
664               type="http">A Practical Introduction to DocBook</ulink>
665               - The Open Source Writers Group's introduction to using
666               DocBook. This is an excellent HOW-TO type article on
667               getting started.
668             </para>
669           </listitem>
670           <listitem>
671             <para>
672               <ulink
673               url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro/docbook-intro.html"
674               type="http">Getting Going with DocBook: Notes for
675               Hackers</ulink> - Mark Galassi's introduction to DocBook
676               for hackers. This has to be one of the first
677               introductions to DocBook ever - still as good as it ever
678               was.
679             </para>
680           </listitem>
681           <listitem>
682             <para>
683               <ulink type="http" url="http://www.freebsd.org/tutorials/docproj-primer/">
684               FreeBSD Documentation Project Primer for New
685               Contributors</ulink> - FreeBSD documentation project
686               primer. Chapter 4.2 provides a very good introduction to
687               writing documentation using DocBook. Note that it also
688               describes some custom extensions of DocBook;
689               fortunately, they are clearly marked as such.
690             </para>
691           </listitem>
692         </itemizedlist>
693         <para>
694           Norman Walsh's book is also available in print.
695         </para>
696         <para>
697           The following sections of this document are designed to help
698           documentation authors write correct and consistent DocBook:
699         </para>
700         <itemizedlist mark="bullet">
701           <listitem>
702             <para>
703               <xref linkend="docbookbasics" /> - Descriptions of
704               commonly used DocBook tags.
705             </para>
706           </listitem>
707         </itemizedlist>
708         <para>
709           You may also discuss specific DocBook questions with GDP
710           members on the #docs IRC channel at irc.gnome.org and on the
711           gnome-doc-list mailing list.
712         </para>
713       </sect3>
714     </sect2>
715    
716 <!-- ####### Getting Started | GDP Document Examples ####### -->
717 <!--
718     <sect2 id="examples">
719       <title>GDP Document Examples</title>
720       <para>
721         Examples of various types of GNOME documents are found in
722         <xref linkend="examples" />.  There is also an example GNOME
723         application with documentation called
724         <application>gnome-hello</application> in GNOME cvs.
725       </para>
726     </sect2>
727 -->
728 <!-- ####### Getting Started | GDP Document Templates ####### -->
729
730     <sect2 id="gdptemplates">
731       <title>GDP Document Templates</title>
732       <para>
733         Templates for various types of GNOME documents are found in
734         <xref linkend="templates" />.  They are kept in CVS in
735         gnome-docu/gdp/templates. The easiest source to get them from
736         is probably the <ulink
737         url="http://developer.gnome.org/projects/gdp/templates.html" 
738         type="http">GDP
739         Document Templates</ulink> web page, which is typically kept
740         completely up-to-date with CVS and has a basic description of
741         each file from CVS.
742       </para>
743     </sect2>
744
745 <!-- ####### Getting Started | Screenshots ####### -->
746
747     <sect2 id="screenshots">
748       <title>Screenshots</title>
749       <para>
750         Most GNOME documents will have screenshots of the particular
751         applet, application, GNOME component, or widget being
752         discussed.  As discussed above in <xref linkend="gdpdtd"/> you
753         will need to install the special GDP DocBook DTD which
754         supports PNG images, the format used for all images in GNOME
755         documentation. For the basic DocBook structure used to insert
756         images in a document, see <xref linkend="jadeimages"/> above.
757       </para>
758       <sect3 id="screenshotappearance">
759         <title>Screenshot Appearance</title>
760         <para>
761           For all screenshots of windows that typically have border
762           decorations (e.g. applications and dialogs, but not applets
763           in a <interface>panel</interface>), GDP standards dictate
764           the appearance of the window.  (This is to minimize possible
765           confusion to the reader, improve the appearance of GNOME
766           documents, and guarantee the screenshot is readable when
767           printed.) All screenshots should be taken with the SawFish
768           (formerly known as Sawmill) window manager using the
769           MicroGui theme and Helvetica 12pt font. (A different window
770           manager can be used provided the MicroGui theme is available
771           for this window manager and the appearance is identical to
772           that when using the SawFish window manager.) The default
773           GTK+ theme(gtk) and font (Helvetica 12 pt) should be used
774           for all screenshots.  If you are unable to provide
775           screenshots in this form, you should create screenshots as
776           you wish them to appear and send them to the
777           <ulink url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
778           <citetitle>gnome-doc-list mailing list</citetitle> </ulink>
779           requesting a GDP member reproduce these screenshots in the
780           correct format and email them to you.
781         </para>
782       </sect3>
783       <sect3 id="screenshottools">
784         <title>Screenshot Tools</title>
785         <para>
786           There are many tools for taking screenshots in
787           GNOME/Linux. Perhaps the most convenient is the
788           <application>Screen-Shooter Applet</application>. Just click
789           on the window icon in the applet and then on the window you
790           would like to take a screenshot of. (Note that
791           at the time of this writing, PNG images taken by
792           screenshooter do not appear properly in
793           <application>Netscape</application> or the
794           <application>GNOME Help Browser</application>.  You
795           should save your screenshot as a GIF and
796           then use <command>convert filename.gif
797           filename.png</command>.) For applets
798           in a <interface>Panel</interface>,
799           <application>xv</application> can be used to crop the
800           screenshot to only include the relevant portion of the
801           <interface>Panel</interface>. Note that
802           <application>xv</application> and 
803           <application>gimp</application> can both be used for taking
804           screenshots, cropping screenshots, and converting image
805           formats. 
806         </para>
807       </sect3>
808       <sect3 id="screenshotfiles">
809         <title>Screenshot Files</title>
810         <para>
811           Screenshots should be kept in the main documentation
812           directory with your SGML file for applets, or should be
813           kept in a directory called "figs" for application and other
814           documentation.  After you use <command>db2html</command> to
815           convert your SGML file to HTML (see <xref
816           linkend="make-output"/>), you will need to copy your
817           screenshots (either the individual PNG files for applet
818           documentation, or the whole "figs" directory for other
819           documentation) into the newly created HTML directory.  Note
820           that every time you use <command>db2html</command> the HTML
821           directory is erased and rewritten, so do not store your only
822           copy of the screenshots in that directory.  If you wish to
823           create PostScript or PDF output, you will need to manually
824           convert the PNG images to EPS as described in <xref
825           linkend="jadeimages"/>, but will not need to copy these
826           images from their default location, as they are included
827           directly into the output(PostScript of PDF) file.
828         </para>
829       </sect3>
830     </sect2>
831
832
833 <!-- ####### Getting Started | Application Bugs ####### -->
834
835     <sect2 id="applicationbugs">
836       <title>Application Bugs</title>
837       <para>
838         Documentation authors tend to investigate and test applets and
839         applications more thoroughly than most 
840         users.  Often documentation authors will discover one or
841         more bugs in the software.  These bugs vary from small ones,
842         such as mis-spelled words or missing
843         <interface>About</interface> dialogs in the menu, to large
844         ones which cause the applet to crash.  As all users, you
845         should be sure to report these bugs so that application
846         developers know of them and can fix them.  The easiest way to
847         submit a bug report is by using the <application>Bug
848         Buddy</application> applet which is part of the gnome-applets
849         package.  
850       </para>
851     </sect2>
852
853
854 <!-- ####### Getting Started | Using CVS  ####### -->
855
856     <sect2 id="cvs">
857       <title>Using CVS</title>
858       <para>
859         CVS (Concurrent Versions System) is a tool that allows
860         multiple developers to concurrently work on a set of
861         documents, keeping track of the modifications made by each
862         person.  The files are stored on a server and each developer
863         checks files out, modifies them, and then checks in their
864         modified version of the files.  Many GNOME programs and
865         documents are stored in CVS.  The GNOME CVS server allows
866         users to anonymously check out CVS files. Most GDP members
867         will need to use anonymous CVS to download the most up-to-date
868         version of documentation or programs.  Modified documents will
869         typically be emailed to the the application developer. Core
870         GDP members may also be granted login CVS privileges so they
871         may commit modified files directly to CVS.
872       </para>
873
874       <sect3 id="anonymouscvs">
875         <title>Anonymous CVS</title>
876         <para>
877           To anonymously check out documents from CVS, you must first
878           log in.  From the bash shell, you should set your CVSROOT
879           shell variable with <command>  export
880           CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'</command>
881           and then login with <command>cvs login</command>(there is no
882           password, just hit return). As an example, we will use the
883           "gnome-docu/gdp" module which contains this and several
884           other documents. To check these documents out for the first
885           time, type <command>cvs -z3 checkout
886           gnome-docu/gdp</command>. After you have this document
887           checked out and you would like to download any updates on
888           the CVS server, use <command>cvs -z3 update -Pd</command>.
889         </para>
890       </sect3>
891
892       <sect3 id="logincvs">
893         <title>Login CVS</title>  <para>  If you have been given a
894         login for the GNOME CVS server,  you may commit your file
895         modifications to CVS.  Be sure to read the following section
896         on CVS etiquette before making any commits to CVS.  To log in
897         to the CVS server as user
898         <command><replaceable>username</replaceable></command> with a
899         password, you must first set your CVSROOT shell variable with
900         <command> export
901         CVSROOT=':pserver:<replaceable>username</replaceable>@cvs.gnome.org:/cvs/gnome'</command>.
902         Log in with <command>cvs login</command> and enter your
903         password. You may check out and update modules as described
904         above for anonymous CVS access.  As a login CVS user, you may
905         also check modified versions of a file into the CVS server.
906         To check
907         <command><replaceable>filename</replaceable></command> into
908         the CVS server, type <command>cvs -z3 commit
909         <replaceable>filename</replaceable></command>. You will be
910         given a vi editor window to type in a brief log entry,
911         summarizing your changes.  The default editor can be changed
912         using the <varname>EDITOR</varname> environment variable or
913         with the <command><option>-e</option></command> option. You
914         may also check in any modifications to files in the working
915         directory and subdirectories using <command>cvs -z3
916         commit</command>.  To
917         add a new file to the CVS server, use <command>cvs -z3 add
918         <replaceable>filename</replaceable></command>, followed by the
919         commit command.
920         </para>
921       </sect3>
922
923       <sect3 id="cvsetiquette">
924         <title>CVS Etiquette</title>
925         <para>
926           Because files in CVS are typically used and modified by
927           multiple developers and documentation authors, users should
928           exercise a few simple practices out of courtesy towards the
929           other CVS users and the project leader.  First, you should
930           not make CVS commits to a package without first discussing
931           your plans with the project leader.  This way, the project
932           leader knows who is modifying the files and generally, what
933           sort of changes/development is being done.  Also, whenever a
934           CVS user commits a file to CVS, they should make an entry in
935           the CVS log and in the <filename>ChangeLog</filename> so
936           that other users know who is making modifications and what
937           is being modified.  When modifying files created by others,
938           you should follow the indentation scheme used by the initial
939           author.
940         </para>
941       </sect3>
942     </sect2>
943   </sect1>
944   
945 <!-- ################# The GNOME Documentation System###############
946 -->
947
948   <sect1 id="gnomedocsystem">
949     <title>The GNOME Documentation System</title>
950
951 <!-- ####### The GNOME Documentation System | The GNOME Help Browser
952 ####### -->
953     
954     <sect2 id="gnomehelpbrowser">
955       <title>The GNOME Help Browser</title>
956       <para>
957         At the core of the GNOME help system is the <application>GNOME
958         Help Browser</application>. The <application>Help
959         Browser</application> provides a unified interface to several
960         distinct documentation systems on Linux/Unix systems: man
961         pages, texinfo pages, Linux Documentation Project(LDP)
962         documents, GNOME application documentation, and other GNOME
963         documents.
964       </para>
965       <para>
966         The <application>GNOME Help Browser</application> works by
967         searching standard directories for documents which are to be
968         presented.  Thus, the documentation that appears in the GHB is
969         specific to each computer and will typically only represent
970         software that is installed on the computer.
971       </para>
972     </sect2>
973
974 <!-- ####### The GNOME Documentation System | The GNOME Help Browser
975 ####### -->
976
977     <sect2 id="gnomehelpbrowser2">
978       <title>The GNOME Help Browser (GNOME-2.0)</title> <para> In
979       GNOME 2.0, the <application>GNOME Help Browser</application>
980       will be replaced by <application>Nautilus</application>.
981       Nautilus will be the file manager/graphical shell for GNOME 2.0
982       and will also implement a more sophisticated help system than
983       that used by the <application>GNOME Help Browser</application>
984       used in GNOME 1.0.  It will read and display DocBook files
985       directly, avoiding the need for duplicating documents in both
986       DocBook and HTML formats.  Its display engine for DocBook will
987       be much faster than running <application>jade</application> to
988       convert to HTML for rendering.  Because it uses the original
989       DocBook source for documentation, it will be possible to do more
990       sophisticated searching using the meta information included in
991       the documents.  And since Nautilus is a virtual file system
992       layer which is Internet-capable, it will be able to find and
993       display documents which are on the web as well as those on the
994       local file system. For more information on
995       <application>Nautilus</application>, visit the #nautilus IRC
996       channel on irc.gnome.org.  </para>
997     </sect2>
998
999 <!-- ####### The GNOME Documentation System | GNOME On-The-Fly
1000 Documentation Generation  ####### -->
1001     
1002     <sect2 id="gnomehelponthefly">
1003       <title>Dynamic Document Synthesis(GNOME-2.0)</title>
1004       <para>
1005         GNOME uses the documentation presented by all the various
1006         GNOME components and applications installed on the system to
1007         present a complete and customized documentation environment
1008         describing only components which are currently installed on a
1009         users system.  Some of this documentation, such as the manuals
1010         for applets, will be combined in such a way that it appears to
1011         be a single document.
1012       </para>
1013       <para>
1014         By using such a system, you can be sure that any GNOME app you
1015         install that has documentation will show up in the index,
1016         table of contents, any search you do in the help browser.
1017       </para>
1018     </sect2>
1019     
1020 <!-- ####### The GNOME Documentation System | The GNOME Documentation
1021 Components  ####### -->
1022
1023     <sect2 id="gnomehelpcomponents">
1024       <title>The GNOME Documentation Components</title>
1025
1026       <sect3 id="applicationmanualsintro">
1027         <title>Application Manuals</title>
1028         <para>
1029           Every GNOME application should have an application manual.
1030           An application manual is a document specific to the
1031           particular application which explains the various windows
1032           and features of the application.  Application Manuals
1033           typically use screenshots (PNG format) for clarity.  Writing
1034           application manuals is discussed in more detail in <xref
1035           linkend="writingapplicationmanuals" /> below.
1036         </para>
1037       </sect3>
1038
1039       <sect3 id="applicationhelpintro">
1040         <title>Application Help</title>
1041         <para>
1042           Applications should have a <guibutton>Help</guibutton>
1043           button on screens on which users may need help.  These
1044           <guibutton>Help</guibutton> buttons should pull up the
1045           default help browser, determined by the
1046           <varname>ghelp</varname> URL Handler (configured using the
1047           <application>Control Center</application>), typically the
1048           <application>GNOME Help Browser</application>.  The help
1049           browser should show either the first page of the application
1050           manual, or else the relevant page thereof. Application help
1051           is described in more detail in <xref
1052           linkend="applicationhelpbuttons" /> below.
1053         </para>
1054       </sect3>
1055
1056       <sect3 id="contextsensitivehelpintro">
1057         <title>Application Context Sensitive Help (coming in
1058         GNOME-2.0)</title>
1059         <para>
1060           Context sensitive help is a system which will allow the user
1061           to query any part (button, widget, etc.) of an application
1062           window.  This is done by either entering a CS Help mode by
1063           clicking on an icon or by right clicking on the application
1064           part and selecting "What's This" or whatever is decided on
1065           at the time.  Context sensitive help is described in more
1066           detail in <xref linkend="writingcontextsensitivehelp" />
1067           below.
1068         </para>
1069       </sect3>
1070
1071       <sect3 id="userguide">
1072         <title>The GNOME User Guide</title>
1073         <para>
1074           The <citetitle>GNOME User Guide</citetitle> describes the
1075           GNOME desktop environment and core components of GNOME such
1076           as the <application>panel</application> and
1077           <application>control center</application>. In GNOME 1.x this
1078           was the main and only source of documentation. In GNOME 2.0
1079           this will become a document for the web and for printing
1080           that is derived from various parts chosen in the system that
1081           are necessary for the new user to understand.
1082         </para>
1083       </sect3>
1084
1085       <sect3 id="userdocs">
1086         <title>User Documents</title>
1087         <para>
1088           Aside from the <citetitle>GNOME User Guide</citetitle>,
1089           there are several other documents to help GNOME users learn
1090           GNOME, including the <citetitle>GNOME FAQ</citetitle>,
1091           <citetitle>GNOME Installation and Configuration
1092           Guide</citetitle>, and the <citetitle>GNOME Administrators
1093           Guide</citetitle>.
1094         </para>
1095       </sect3>
1096
1097       <sect3 id="developerdocs">
1098         <title>Developer Documents</title>
1099         <para>
1100           There are many White Papers, Tutorials, HOWTO's and FAQ's to
1101           make programming GNOME and GNOME applications as easy as
1102           possible.
1103         </para>
1104         <para>
1105           API documentation is also available for the GNOME libraries. This is
1106           detailed documentation of the code that is used to build GNOME
1107           apps. You can keep up with the GNOME API docs on the <ulink
1108           url="http://developer.gnome.org/doc/API/" type="http">GNOME API
1109           Reference</ulink> page.
1110         </para>
1111       </sect3>
1112
1113       <sect3 id="projectdocs">
1114         <title>Project Documents</title>
1115         <para>
1116           Some GNOME projects have documentation to maintain
1117           consistency in their product and to help new contributors
1118           get up to speed quickly. Among these are the GDP documents,
1119           such as the one you are reading now.
1120         </para>
1121       </sect3>
1122     </sect2>
1123   </sect1>
1124   
1125   
1126 <!-- ################# DocBook Basics ############### -->
1127
1128   <sect1 id="docbookbasics">
1129     <title>DocBook Basics </title>  
1130 <!-- ####### DocBook Basics | Introduction to DocBook ####### -->
1131
1132     <sect2 id="introtodocbook">
1133       <title>Introduction to DocBook</title>
1134       <para>
1135         To understand DocBook, a basic understanding of SGML is
1136         helpful. SGML stands for Standard General Markup Language and
1137         is one of the first markup languages every created. HTML is
1138         actually derived from SGML and XML is a subset of SGML.  SGML
1139         uses what is called a Document Type Definition to specify
1140         <emphasis>elements</emphasis> which are contained between
1141         brackets, &lt; and >. Text is marked by both beginning and
1142         ending elements, for example in the DocBook DTD, one denotes a
1143         title with <sgmltag>&lt;title></sgmltag>The
1144         Title<sgmltag>&lt;/title></sgmltag>.
1145       </para>
1146       <para>
1147         The DTD (in the case of the GDP, DocBook) defines rules for how the
1148         elements can be used. For example, if one element can only be used when
1149         embedded within another, this is defined in the DTD.
1150       </para>
1151       <para> 
1152         An SGML file is just a plain ASCII file containing the text
1153         with the markup specified above. To convert it  to some easily
1154         readable format, you need special tools. The GDP uses <emphasis>DocBook
1155         Tools</emphasis>, a free package of utilities for working with DocBook
1156         which includes <emphasis>Jade</emphasis>, which does the SGML/DSSL
1157         parsing. You can read more about DocBook Tools in <xref
1158         linkend="installingdocbook" />. 
1159       </para>
1160       <para>
1161         The final appearance of the output (e.g. PostScript or HTML)
1162         is determined by a
1163         <emphasis>stylesheet</emphasis>. Stylesheets are files,
1164         written in a special language (DSSSL &mdash; Document Style
1165         Semantics and Specification Language), which  specify the
1166         appearance of various DocBook elements, for example,
1167         what fonts to use for titles and various inline elements, page
1168         numbering style, and much more. DocBook tools come with a
1169         collection of stylesheets (Norman Walsh's modular
1170         stylesheets); GNOME Document Project uses some customized
1171         version of this stylesheets &mdash; see <xref
1172         linkend="gdpstylesheets"/>.   
1173       </para>
1174       <para>
1175         The advantage of specifying the <emphasis>structure</emphasis>
1176         of a document with SGML instead of specifying the
1177         <emphasis>appearance</emphasis> of the document with a typical
1178         word processor, or with html, is that the resulting document
1179         can be processed in a variety of ways using the structural
1180         information.  Whereas formatting a document for appearance
1181         assumes a medium (typically written text on a standard-sized
1182         piece of paper), SGML can be processed to produce output for a
1183         large variety of media such as text, postscript, HTML,
1184         Braille, audio, and potentially many other formats.
1185       </para>
1186       <para>
1187         Using 'content' as the elements to define the text of a document also
1188         allows for search engines to make use of the actual elements to make a
1189         "smarter search". For example, if you are searching for all documents
1190         written by the author "Susie" your search engine could be made smart
1191         enough to only search &lt;author> elements, making for a faster and more
1192         accurate search.
1193       </para>
1194       <para>
1195         Since the overall appearance of the output is determined not by the DTD
1196         or the SGML document, but rather by a stylesheet, the appearance of a
1197         document can be easily changed just by changing the stylesheet. This
1198         allows everyone in the project to create documents that all look the
1199         same.
1200       </para>
1201       <para>
1202         As stated before, the GDP uses the DocBook DTD.  For a list of
1203         introductory and reference resources on DocBook, see <xref
1204         linkend="resources" />.  The following sections also provide
1205         convenient instructions on which markup tags to use in various
1206         circumstances.  Be sure to read <xref linkend="conventions" />
1207         for GDP documentation-specific guidelines.
1208       </para>
1209     </sect2>
1210     
1211  <!-- ######  DocBook Basics | XML and SGML       ########--> 
1212  <sect2 id="xml">
1213       <title>XML and SGML</title>
1214
1215       <para> In not so distant future (probably before GNOME 2.0),
1216       DocBook itself and GNOME Documentation project will migrate from
1217       SGML to XML. This transition should be relatively painless:
1218       (almost) all DocBook tags will remain the same. However, XML has
1219       stricter syntax rules than SGML; thus, some constructions which
1220       are valid in SGML will not be valid in XML. Therefore, to be
1221       ready for this transistion, it is <emphasis>strongly
1222       advised</emphasis> that the documentation writers conform to XML
1223       syntax rules. Here are most important differences:
1224       </para>
1225         
1226       <variablelist>
1227           <varlistentry>
1228             <term> <emphasis>Minimization</emphasis></term> 
1229             <listitem>
1230             
1231             <para>
1232               It is possible with some implementations of SGML to use
1233               minimizations to close elements in a document by using
1234               &lt;/>, for example:
1235               <literal><sgmltag>&lt;title></sgmltag>The
1236                 Title<sgmltag>&lt;/></sgmltag></literal>. This is not
1237               allowed in XML. You can use <command>sgmlnorm</command> command,
1238               included in DocBook Tools package, to expand minimized tags;
1239               if you are using <application>Emacs</application> with psgml
1240               mode, you can also use menu command
1241           <menuchoice>
1242              <guimenu>Modify</guimenu>
1243              <guimenuitem>Normalize</guimenuitem>
1244           </menuchoice>.
1245          </para> 
1246             </listitem>
1247             </varlistentry>
1248           <varlistentry>
1249             <term> <emphasis>Self-closing tags</emphasis></term> 
1250             <listitem>
1251  
1252          <para>
1253             Also, in SGML some tags are allowed not to have closing
1254             tags.  For example, it is legal for
1255             <sgmltag>&lt;xref></sgmltag> not to have a closing tag: 
1256             <literal><sgmltag>&lt;xref 
1257                    linkend="someid"></sgmltag></literal>. In
1258             XML, it is illegal; instead, you should use  
1259             <literal><sgmltag>&lt;xref 
1260                    linkend="someid"/></sgmltag></literal> (note the
1261             slash!).
1262           </para> 
1263   </listitem>
1264   </varlistentry>
1265
1266         <varlistentry>
1267             <term> <emphasis>Case sensitive tags</emphasis></term> 
1268             <listitem>
1269             <para>
1270               In XML, unlike SGML, tags are case-senstive
1271               <sgmltag>&lt;title></sgmltag> and
1272               <sgmltag>&lt;TITLE></sgmltag> are different tags!
1273               Therefore, please always use lowercase tags (except for
1274               things like <literal>DOCTYPE, CDATA</literal> and
1275               <literal>ENTITY</literal>, which are not DocBook tags). 
1276             </para>
1277           </listitem>
1278         </varlistentry>
1279
1280
1281
1282 </variablelist> 
1283 </sect2>
1284
1285
1286
1287     <!-- ####### DocBook Basics | Structure Elements ####### -->
1288
1289     
1290     <sect2 id="structure"> <title> Structure Elements</title>
1291
1292       <sect3 id="section">
1293         <title>Sections and paragraphs</title>
1294         <para>
1295           Top-level element of a book body must be
1296           <sgmltag>&lt;chapter></sgmltag>; it may contain one or more
1297           <sgmltag>&lt;sect1></sgmltag>, each of them may contain
1298           <sgmltag>&lt;sect2></sgmltag> and so on up to
1299           <sgmltag>&lt;sect5></sgmltag>. The top-level element of an
1300           article body is always
1301           <sgmltag>&lt;sect1></sgmltag>. Regardless of which elements
1302           you use, give each structural element a unique id, so that
1303           you can link to it. For usage example, see the template.
1304         </para>
1305         <para> Please try to avoid using deeply nested sections; for
1306           most situations, <sgmltag>&lt;sect1></sgmltag> and
1307           <sgmltag>&lt;sect2></sgmltag> should be sufficient. If not,
1308           you probably should split your <sgmltag>&lt;sect1></sgmltag>
1309           into several smaller ones.
1310         </para>
1311         <para> Use the tag <sgmltag>&lt;para></sgmltag> for
1312           paragraphs, even if there is only one paragraph in a
1313           section&mdash;see template for examples.
1314         </para>
1315       </sect3>
1316
1317       <sect3 id="notes">
1318         <title>Notes, Warnings, And Tips</title>
1319         <para>
1320           For notes, tips, warnings, and important information, which
1321           should be set apart from the main text (usually as a
1322           paragraph with some warning sign on the margin), use tags
1323           <sgmltag>&lt;note></sgmltag>, <sgmltag>&lt;tip></sgmltag>,
1324           <sgmltag>&lt;warning></sgmltag>,
1325           <sgmltag>&lt;important></sgmltag> respectively. For example:
1326           <programlisting>
1327 <![CDATA[
1328 <tip>
1329  <title>TIP</title>
1330  <para>
1331   To speed up program compilation, use <application>gcc</application>
1332   compiler with Pentium optimization.
1333  </para>
1334 </tip>]]> </programlisting>  produces
1335         </para>
1336         <tip id="extip">
1337           <title>TIP</title>
1338           <para>
1339             To speed up program compilation, use
1340             <application>gcc</application> compiler with Pentium
1341             optimization.  </para>
1342         </tip>
1343         <para>
1344           Note that this should not be inside a
1345           <sgmltag>&lt;para></sgmltag> but between paragraphs.
1346         </para>
1347       </sect3>
1348       <sect3 id="figures">
1349         <title> Screenshots and other figures</title>
1350         <para>
1351           To include screenshots and other figures, use the following
1352           tags:
1353           
1354           <programlisting>
1355 <![CDATA[
1356 <figure id="shot1">
1357  <title>Screenshot</title>
1358  <screenshot>
1359   <screeninfo>Screenshot of a program</screeninfo>
1360   <graphic format="PNG"  fileref="figures/example_screenshot" srccredit="ME">
1361   </graphic>
1362  </screenshot>
1363 </figure>]]>
1364           </programlisting>
1365           replacing <filename>example_screenshot</filename> with the
1366           actual file name (without extension). The result will look like this:
1367           
1368           <figure id="shot1">
1369             <title>Screenshot</title>
1370             <screenshot>
1371               <screeninfo>Screenshot of a program</screeninfo>
1372               <graphic format="PNG"
1373                        fileref="figures/example_screenshot" srccredit="ME"/>
1374               
1375             </screenshot>
1376           </figure>
1377         </para>
1378         <note>
1379           <title>NOTE</title>
1380           <para>
1381             Notice in this example that the screenshot file name does
1382             not include the file type extension &mdash; to find out
1383             why, please read <xref linkend="jadeimages" />.
1384           </para>
1385         </note>          
1386       </sect3>
1387       <sect3 id="listing">
1388         <title>Program listings and terminal session</title> <para>
1389           To show a file fragment&mdash;for example, program
1390           listing&mdash;use <sgmltag>&lt;programlisting></sgmltag> tag:
1391           <programlisting>
1392 <![CDATA[
1393 <programlisting>
1394 [Desktop Entry] 
1395 Name=Gnumeric spreadsheet
1396 Exec=gnumeric 
1397 Icon=gnome-gnumeric.png 
1398 Terminal=0
1399 Type=Application
1400 </programlisting>]]>
1401           </programlisting>
1402           which produces
1403           <programlisting>
1404 [Desktop Entry] 
1405 Name=Gnumeric spreadsheet 
1406 Exec=gnumeric
1407 Icon=gnome-gnumeric.png 
1408 Terminal=0 
1409 Type=Application
1410           </programlisting>
1411           As a matter of fact, all examples in this document were
1412           produced using <sgmltag>&lt;programlisting></sgmltag>.
1413         </para>
1414         <para>
1415           To show a record of terminal session&mdash;i.e., sequence of
1416           commands entered at the command line&mdash;use
1417           <sgmltag>&lt;screen></sgmltag> tag:
1418           <programlisting>
1419 <![CDATA[
1420 <screen>
1421 <prompt>bash$</prompt><userinput>make love</userinput> 
1422 make: *** No rule to make target `love'. Stop.
1423 </screen>]]>
1424           </programlisting>
1425           which produces
1426           <screen>
1427 <prompt>bash$</prompt><userinput>make love</userinput>  
1428 make: *** No rule to make target `love'.  Stop.
1429           </screen>
1430           Note the use of tags <sgmltag>&lt;prompt></sgmltag> and
1431           <sgmltag>&lt;userinput></sgmltag> for marking system prompt
1432           and commands entered by user.
1433           <note>
1434             <title>NOTE</title>
1435             <para>
1436               Note that both <sgmltag>&lt;programlisting></sgmltag>
1437               and <sgmltag>&lt;screen></sgmltag> preserve linebreaks,
1438               but interpret SGML tags (unlike LaTeX
1439               <markup>verbatim</markup> environment). Take a look at
1440               the source of this document to see how you can have SGML
1441               tags literally shown but not interpreted,
1442             </para>
1443           </note>
1444         </para>
1445       </sect3>
1446       <sect3 id="lists">
1447         <title> Lists</title>
1448         <para>
1449           The most common list types  in DocBook are
1450           <sgmltag>&lt;itemizedlist></sgmltag>,
1451           <sgmltag>&lt;orderedlist></sgmltag>, and 
1452           <sgmltag>&lt;variablelist></sgmltag>.
1453         </para>
1454         <variablelist>
1455           <varlistentry>
1456             <term> <sgmltag>&lt;itemizedlist></sgmltag></term> 
1457             <listitem><para> 
1458                 This is the simplest unnumbered list, parallel to
1459             <sgmltag>&lt;ul></sgmltag> in HTML. Here is an example: 
1460                 <programlisting>
1461 <![CDATA[
1462 <itemizedlist>
1463   <listitem>
1464     <para>
1465       <guilabel>Show backup files</guilabel> &mdash; This will
1466       show any backup file that might be on your system.
1467     </para>
1468   </listitem>
1469   <listitem>
1470     <para>
1471       <guilabel>Show hidden files</guilabel> &mdash; This will
1472       show all "dot files" or files that begin with a dot.  This
1473       files typically include configuration files and directories.
1474     </para>
1475   </listitem>
1476   <listitem>
1477     <para>
1478       <guilabel>Mix files and directories</guilabel> &mdash; This
1479       option will  display files and directories in the order you
1480       sort them instead of 
1481       always having directories shown above files.
1482     </para>
1483    </listitem>
1484 </itemizedlist> 
1485 ]]>
1486                 </programlisting>
1487                 and output:
1488                 </para>
1489                 <itemizedlist>
1490                   <listitem>
1491                     <para>
1492                       <guilabel>Show backup files</guilabel> &mdash;
1493                       This will show any backup file that might be on
1494                       your system.
1495                     </para>
1496                   </listitem>
1497
1498                   <listitem>
1499                     <para>
1500                       <guilabel>Show hidden files</guilabel> &mdash;
1501                       This will show all "dot files" or files that
1502                       begin with a dot.  This files typically include
1503                       configuration files and directories.
1504                     </para>
1505                   </listitem>
1506
1507                   <listitem>
1508                     <para>
1509                       <guilabel>Mix files and directories</guilabel>
1510                       &mdash; This option will display files and
1511                       directories in the order you sort them instead
1512                       of always having directories shown above files.
1513                     </para>
1514                   </listitem>
1515                 </itemizedlist>
1516               <para> Note the use of <sgmltag>&amp;mdash;</sgmltag>
1517               for long dash (see <xref linkend="specsymb" />). Also,
1518               please note that the result looks much nicer because the
1519               terms being explained (<guilabel>Show backup
1520               files</guilabel>, etc.) are set in a different font. In
1521               this case, it was achieved by using <link
1522               linkend="gui"><sgmltag>&lt;guilabel></sgmltag></link>
1523               tag. In other cases, use appropriate tags such as
1524               <link linkend="gui"><sgmltag>&lt;guimenuitem></sgmltag></link>,
1525               <link
1526               linkend="filenames"><sgmltag>&lt;command></sgmltag></link>,
1527               or &mdash; if none of
1528               this applies &mdash; use
1529               <link linkend="gui"><sgmltag>&lt;emphasis></sgmltag></link>.
1530               </para>
1531             </listitem>
1532           </varlistentry>
1533           <varlistentry>
1534             <term> <sgmltag>&lt;orderedlist></sgmltag></term> 
1535             <listitem><para>
1536                 This list is completely analogous to
1537                 <sgmltag>&lt;itemizedlist></sgmltag> and has the same
1538                 syntax, but  it produces numbered list. By default,
1539                 this list uses Arabic numerals for numbering entries;
1540                 you can override this using <sgmltag>numeration</sgmltag>,
1541                 for example <sgmltag>&lt;orderedlist
1542                   numeration="lowerroman"></sgmltag>. Possible values of
1543                 these attribute are <sgmltag>arabic</sgmltag>,
1544                 <sgmltag>upperalpha</sgmltag>,
1545                 <sgmltag>loweralpha</sgmltag>,
1546                 <sgmltag>upperroman</sgmltag>,
1547                 <sgmltag>lowerroman</sgmltag>.
1548               </para></listitem>
1549           </varlistentry>
1550
1551           <varlistentry>
1552             <term> <sgmltag>&lt;variablelist></sgmltag></term>
1553             <listitem><para> This list is used when each entry is
1554             rather long, so it should be formatted as a block of text
1555             with some subtitle, like a small subsection.  The
1556             <sgmltag>&lt;variablelist></sgmltag> is more complicated
1557             than itemizedlists, but for larger blocks of text, or when
1558             you're explaining or defining something, it's best to use
1559             them.  Their greatest advantage is that it's easier for a
1560             computer to search.  The lines you are reading now were
1561             produced by <sgmltag>&lt;variablelist></sgmltag>. The
1562             source looked liked this:
1563                 <programlisting>
1564 <![CDATA[
1565 <variablelist>
1566   <varlistentry>
1567     <term> <sgmltag>&lt;itemizedlist></sgmltag></term> 
1568     <listitem><para> 
1569         This is the simplest unnumbered list, parallel to
1570         <sgmltag>&lt;ul></sgmltag> in HTML. Here is an example:...
1571     </para></listitem>
1572     </varlistentry>
1573     <varlistentry>               
1574         <term> <sgmltag>&lt;orderedlist></sgmltag></term>
1575      <listitem><para>   
1576         This list is completely analogous to
1577         <sgmltag>&lt;itemizedlist></sgmltag> 
1578     </para></listitem>
1579     </varlistentry>
1580     <varlistentry>               
1581         <term> <sgmltag>&lt;variablelist></sgmltag></term>
1582      <listitem><para>   
1583                 This list is used when each entry is rather long,...
1584     </para></listitem>
1585     </varlistentry>
1586 </variablelist>        
1587 ]]>
1588                 </programlisting>               
1589                 </para>
1590             </listitem>
1591           </varlistentry>
1592         </variablelist>
1593         <para>
1594         Lists can be nested; in this case, the stylesheets
1595         are smart enough to change the numeration (for
1596         <sgmltag>&lt;orderedlist></sgmltag>) or marks of each entry
1597         (in  <sgmltag>&lt;itemizedlist></sgmltag>) for sub-lists
1598         </para>
1599       </sect3>
1600
1601     </sect2>
1602
1603 <!-- ####### DocBook Basics | Inline Elements ####### -->
1604
1605     <sect2 id="inline">
1606       <title>Inline Elements</title>
1607
1608       <sect3 id="gui">
1609         <title>GUI elements</title>
1610         <itemizedlist>
1611           <listitem>
1612             <para>
1613               <sgmltag>&lt;guibutton></sgmltag> &mdash; used for
1614               buttons, including checkbuttons and radio buttons
1615             </para>
1616           </listitem>
1617           
1618           <listitem>
1619             <para>
1620               <sgmltag>&lt;guimenu></sgmltag>, 
1621               <sgmltag>&lt;guisubmenu></sgmltag> &mdash;used for 
1622               top-level menus and submenus
1623               respectively, for example <literal><![CDATA[
1624               <guisubmenu>Utilities</guisubmenu> submenu of the
1625               <guimenu>Main Menu</guimenu>]]></literal>
1626             </para>
1627           </listitem>
1628           
1629           <listitem>
1630             <para>
1631               <sgmltag>&lt;guimenuitem></sgmltag>&mdash;an entry in a
1632               menu
1633             </para>
1634           </listitem>
1635           
1636           <listitem>
1637             <para>
1638               <sgmltag>&lt;guiicon></sgmltag>&mdash;an icon
1639             </para>
1640           </listitem>
1641           
1642           <listitem>
1643             <para>
1644               <sgmltag>&lt;guilabel></sgmltag>&mdash;for items which have
1645               labels, like tabs, or bounding boxes. 
1646             </para>
1647           </listitem>
1648           <listitem>
1649             <para>
1650               <sgmltag>&lt;interface></sgmltag>&mdash; for most everything
1651               else... a window, a dialog box, the Panel, etc.
1652             </para>
1653           </listitem>
1654         </itemizedlist>
1655         <para>
1656           If you need to refer to a sequence of menu choices, such as
1657           <menuchoice>
1658             <guimenu>Main Menu</guimenu>
1659             <guisubmenu>Utilities</guisubmenu> <guimenuitem>GNOME
1660             terminal</guimenuitem>
1661           </menuchoice>
1662           there is a special construction for this, too:
1663           <programlisting>
1664 <![CDATA[
1665 <menuchoice>
1666  <guimenu>Main Menu</guimenu> <guisubmenu>Utilities</guisubmenu>
1667  <guimenuitem>GNOME terminal</guimenuitem> </menuchoice>]]>
1668           </programlisting>
1669         </para>
1670       </sect3>
1671
1672       <sect3 id="links">
1673         <title>Links and references</title>
1674         <para>
1675           To refer to another place in the same document, you can use
1676           tags <sgmltag>&lt;xref></sgmltag> and
1677           <sgmltag>&lt;link></sgmltag>. The first of them
1678           automatically inserts the full name of the element you refer
1679           to (section, figure, etc.), while the second just creates a
1680           link (in HTML output). Here is an example:
1681           <programlisting>
1682 <![CDATA[An example of a <link linkend="extip">tip</link> was given in
1683 <xref linkend="notes" />.  ]]>
1684           </programlisting>
1685           which produces: An example of a <link
1686           linkend="extip">tip</link> was given in  <xref
1687           linkend="notes" />.
1688         </para>
1689         <para>
1690           Here <sgmltag>notes</sgmltag> and <sgmltag>extip</sgmltag>
1691           are the id attributes of <xref linkend="notes" /> and of the
1692           example of a tip in it.
1693         </para>
1694         <para>  To produce a link  to an external source, such as a
1695           Web page or a local file, use <sgmltag>&lt;ulink></sgmltag>
1696           tag, for example:
1697           <programlisting>
1698 <![CDATA[ To find more about GNOME, please visit <ulink type="http"
1699 url="http://www.gnome.org">GNOME Web page</ulink> ]]>
1700           </programlisting>
1701           which produces:  To find more about GNOME, please visit
1702           <ulink type="http" url="http://www.gnome.org">The GNOME Web
1703           Site</ulink> You can use any of the standard URL types, such
1704           as <literal>http, ftp, file, telnet, mailto</literal> (in
1705           most cases, however, use of <literal>mailto</literal> is
1706           unnecessary&mdash;see discussion of
1707           <sgmltag>&lt;email></sgmltag> tag).
1708         </para>
1709       </sect3>
1710
1711       <sect3 id="filenames">  <title>Filenames, commands, and other
1712         computer-related things</title>
1713         <para>
1714           Here are some tags used to describe operating system-related
1715           things:  
1716         </para>
1717         <itemizedlist>
1718           <listitem>
1719             <para>  <sgmltag>&lt;filename></sgmltag> &mdash; used
1720               for filenames,
1721               e.g.<sgmltag>&lt;filename></sgmltag>
1722                     foo.sgml
1723                   <sgmltag>&lt;/filename></sgmltag> 
1724               produces: <filename>foo.sgml</filename>.
1725             </para>
1726           </listitem>
1727           <listitem>
1728             <para>  <sgmltag>&lt;filename
1729               class="directory"></sgmltag> &mdash; used for
1730               directories, e.g.<sgmltag>&lt;filename
1731               class="directory"></sgmltag>/usr/bin
1732                   <sgmltag>&lt;/filename></sgmltag>
1733               produces: <filename
1734               class="directory">/usr/bin</filename>.
1735             </para>
1736           </listitem>
1737           <listitem>
1738             <para>
1739               <sgmltag>&lt;application></sgmltag> &mdash; used for
1740               application names,
1741               e.g. <sgmltag>&lt;application></sgmltag>Gnumeric
1742               <sgmltag>&lt;/application></sgmltag> produces:
1743               <application>Gnumeric</application>.
1744             </para>
1745           </listitem>
1746           <listitem>
1747             <para>
1748               <sgmltag>&lt;envar></sgmltag> &mdash; used for
1749               environment variables, e.g. 
1750               <sgmltag>&lt;envar></sgmltag>PATH<sgmltag>&lt;/envar></sgmltag>. 
1751             </para>
1752           </listitem>
1753   
1754           <listitem>
1755             <para>
1756               <sgmltag>&lt;command></sgmltag> &mdash; used for
1757               commands entered on command line, e.g.
1758               <sgmltag>&lt;command></sgmltag>make install
1759               <sgmltag>&lt;/command></sgmltag> produces:
1760               <command>make install</command>.
1761             </para>
1762           </listitem>
1763           <listitem>
1764             <para>
1765               <sgmltag>&lt;replaceable></sgmltag> &mdash; used for
1766               replaceable text, e.g.
1767               <sgmltag>&lt;command></sgmltag>db2html<sgmltag>&lt;replaceable></sgmltag>
1768               foo.sgml
1769               <sgmltag>&lt;/replaceable></sgmltag><sgmltag>&lt;/command></sgmltag>
1770               produces: <command>db2html
1771               <replaceable>foo.sgml</replaceable></command>.
1772             </para>
1773           </listitem>
1774         </itemizedlist>  
1775       </sect3>
1776
1777       <sect3 id="keys">   
1778         <title>Keyboard input</title> 
1779         <para> To mark up text input by the user, use
1780         <sgmltag>&lt;userinput></sgmltag>.
1781         </para>
1782         <para>  To mark keystrokes such as shortcuts and other
1783           commands, use <sgmltag>&lt;keycap></sgmltag>. 
1784           This is used for marking up what is printed on the top 
1785           of the physical key on the keyboard. There are a couple of
1786           other tags for keys, too: <sgmltag>&lt;keysym&gt;</sgmltag>
1787           and <sgmltag>&lt;keycode&gt;</sgmltag>. However you are
1788           unlikely to need these for most documentation. For reference,
1789           <sgmltag>&lt;keysym&gt;</sgmltag> is for the <quote>symbolic
1790           name</quote> of a key. <sgmltag>&lt;keycode&gt;</sgmltag> is
1791           for the <quote>scan code</quote> of a key. These are not
1792           terms commonly required in <acronym>GNOME</acronym> documentation,
1793           although <sgmltag>&lt;keysym&gt;</sgmltag> is useful for marking
1794           up control codes.
1795        </para>
1796        <para>
1797           To mark up a combination of keystrokes, use the
1798           <sgmltag>&lt;keycombo></sgmltag> wrapper:
1799           <programlisting>
1800 <![CDATA[
1801 <keycombo>
1802  <keycap>Ctrl</keycap>
1803  <keycap>Alt</keycap>
1804  <keycap>F1</keycap>
1805 </keycombo>]]>
1806           </programlisting>
1807         </para>
1808         <para>
1809           Finally, if you want to show a shortcut for some menu
1810           command, here are the appropriate tags (rather long):
1811           <programlisting>
1812 <![CDATA[
1813 <menuchoice>
1814  <shortcut>
1815   <keycombo><keycap>Ctrl</keycap><keycap>q</keycap></keycombo>
1816  </shortcut> 
1817  <guimenuitem> Quit</guimenuitem> 
1818 </menuchoice>]]>
1819           </programlisting>
1820           which produces simply
1821           <menuchoice>
1822             <shortcut>   <keysym>Ctrl-q</keysym> </shortcut>
1823             <guimenuitem> Quit</guimenuitem>
1824           </menuchoice>
1825         </para>
1826       </sect3>
1827
1828       <sect3 id="email">
1829         <title>E-mail addresses</title> <para>  To mark up e-mail
1830         address, use <sgmltag>&lt;email></sgmltag>:
1831           <programlisting>
1832 <![CDATA[ The easiest way to get in touch with me is by e-mail
1833 (<email>me@mydomain.com</email>)]]>
1834           </programlisting>
1835           which produces: The easiest way to get in touch with me is
1836           by e-mail  (<email>me@mydomain.com</email>) Note that
1837           <sgmltag>&lt;email></sgmltag> automatically produces a link
1838           in html version.
1839         </para>
1840       </sect3>
1841
1842       <sect3 id="specsymb">
1843         <title> Special symbols </title>
1844         <para> 
1845           DocBook also provides special means for entering
1846         typographic symbols which can not be entered directly
1847         form the keyboard (such as copyright sign). This is done using
1848         <emphasis>entities</emphasis>, which is SGML analogue of
1849         macros, or commands, of LaTeX. They generally have the form 
1850           <sgmltag>&amp;entityname;</sgmltag>. Note that the semicolon
1851         is required. 
1852         </para>
1853         <para>
1854           here is partial list of most commonly used enitites:
1855         </para>
1856         <itemizedlist>
1857           <listitem><para>
1858              <sgmltag>&amp;amp;</sgmltag> &mdash; ampersend (&amp;)
1859           </para></listitem>
1860           <listitem><para>
1861              <sgmltag>&amp;lt;</sgmltag> &mdash; left angle bracket (&lt;)
1862           </para></listitem>
1863           <listitem><para>
1864              <sgmltag>&amp;copy;</sgmltag> &mdash; copyright sign (&copy;)
1865           </para></listitem>
1866           <listitem><para>
1867              <sgmltag>&amp;mdash;</sgmltag> &mdash; long dash (&mdash;)
1868           </para></listitem>
1869           <listitem><para>
1870              <sgmltag>&amp;hellip;</sgmltag> &mdash; ellipsis (&hellip;)
1871           </para></listitem>
1872         </itemizedlist>
1873         <para>
1874           Note that the actual look of the resulting symbols depends
1875           on the fonts used by your browser; for example, it might
1876           happen that long dash (<sgmltag>&amp;mdash;</sgmltag>) looks
1877           exactly like the usual dash (-). However, in the PostScript
1878           (and thus, in print) the output will look markedly better if
1879           you use appropriate tags. 
1880         </para>
1881       </sect3>
1882     </sect2>
1883   </sect1>
1884   
1885 <!-- ################# GDP Documentation Conventions ############### -->
1886  
1887   <sect1 id="conventions">
1888     <title>GDP Documentation Conventions </title> 
1889
1890 <!-- ####### GDP Documentation Conventions | All Documentation ####### -->
1891
1892     <sect2 id="conventionsalldocs">
1893       <title>Conventions for All GDP Documentation</title>
1894       <sect3 id="xmlcomp">
1895         <title> XML compatibility </title>
1896         <para>
1897           All GNOME documentation  should conform to XML syntax
1898           requirements, which are stricter than SGML ones &mdash; see
1899           <xref linkend="xml" /> for more informaion.
1900         </para>
1901       </sect3> 
1902
1903       <sect3 id="authorsnames"> 
1904         <title> Authors' names</title>
1905         <para> 
1906           All GNOME documentation should contain the names of both the
1907           application authors and documentation authors, as well as a
1908           link to the application web page (if it exists) and
1909           information for bug submission &mdash; see templates for an
1910           example. 
1911           </para>
1912       </sect3>
1913     </sect2>
1914
1915 <!-- ####### GDP Documentation Conventions | All Documentation ####### -->
1916
1917     <sect2 id="conventionsappdocs">
1918       <title>Conventions for Application Documentation</title>
1919
1920       <sect3 id="applicationversionid">
1921         <title>Application Version Identification</title>
1922         <para>
1923           Application documentation should identify the version of the
1924           application for which the documentation is written:
1925           <programlisting>
1926 <![CDATA[
1927 <sect1 id="intro">
1928  <title>Introduction</title>
1929  <para>
1930   blah-blah-blah This document describes version 1.0.53 of gfoo.
1931  </para>
1932 </sect1>]]>
1933           </programlisting>
1934         </para>
1935       </sect3>
1936       <sect3 id="license">
1937         <title> Copyright information </title> 
1938         <para> Application
1939         documentation should contain a copyright notice, stating the
1940         licensing terms. It is suggested that you use the GNU Free
1941         Documentation License.  You could also use some other license
1942         allowing free redistribution, such as GPL or Open Content
1943         license.  If documentation uses some trademarks (such as UNIX,
1944         Linux, Windows, etc.), proper legal junk should also be
1945         included (see templates).
1946         </para>
1947       </sect3>
1948       <sect3 id="license2">
1949        <title>Software license</title>
1950        <para> 
1951          All GNOME applications must contain information about the
1952        license (for software, not for documentation), either in the
1953        "About" box or in the manual. 
1954        </para>
1955       </sect3>
1956
1957       <sect3 id="bugtraq">
1958         <title> Bug reporting</title>   
1959         <para> 
1960           Application documentation should give an address for
1961         reporting bugs and for submitting comments about the
1962         documentaion (see templates for an example). 
1963        </para>
1964       </sect3>
1965     </sect2>
1966   </sect1>
1967   
1968 <!-- ################# Writing Application Manuals ###############-->
1969   
1970   <sect1 id="writingapplicationmanuals">
1971     <title>Writing Application and Applet Manuals</title>
1972     <para>
1973        Every GNOME application or applet should have a manual specific
1974       to that particular application. This manual should be a complete
1975       and authoritative guide.  The manual should describe what the
1976       program does and how to use it.  Manuals will typically describe
1977       each window or panel presented to the user using screenshots (in
1978       PNG format only) when appropriate.  They should also describe
1979       each feature and preference option available.
1980     </para>
1981     <note>
1982       <title>Documentation Availability</title>
1983       <para>
1984         Applications and applets should not rely on documentation
1985         which is only available on the internet.  All manuals and
1986         other documentation should be packaged with the application or
1987         applet and be made available to the user through the standard
1988         GNOME help system methods described below.
1989       </para>
1990     </note>
1991     <para> Application manuals should be based on the template in
1992     <xref linkend="template1" />.  Applet manuals should be based on
1993     the templates in <xref linkend="template2-1x" /> for GNOME
1994     versions 1.x and the templates in <xref linkend="template2-2x" />
1995     for GNOME versions 2.x.
1996     </para>
1997     <note>
1998       <title>Manuals For Large Applications</title>
1999       <para>
2000         Manuals for very large applications, such as GNOME Workshop
2001         components should be a <sgmltag>&lt;book></sgmltag> (and thus
2002         use <sgmltag>&lt;chapter></sgmltag> for each primary section)
2003         , instead of <sgmltag>&lt;article></sgmltag> which most
2004         applications use(with each primary section being a
2005         <sgmltag>&lt;sect1></sgmltag>).
2006       </para>
2007     </note>
2008     <note>
2009       <title>Applet Manuals in GNOME 2.0</title>
2010       <para>
2011         Note that applet manuals in GNOME 2.0 are treated in a special
2012         way.  The manuals for all applets are merged into a single
2013         virtual document by Nautilus.  For this reason, the header
2014         information for applet manuals is omitted and the  first
2015         section of each applet is
2016         <sgmltag>&lt;sect1></sgmltag>. Applet manuals will typically
2017         have several sections, each of which is
2018         <sgmltag>&lt;sect2></sgmltag>.
2019       </para>
2020     </note>
2021     <para>
2022       Application manuals should be made available by having a
2023       "Manual" entry in the <guimenu>Help</guimenu> pull-down menu
2024       at the top of the 
2025       application, as described in <xref linkend="listingdocsinhelpmenu" />.
2026       Applets should make their manuals available by
2027       right-clicking on the applet. 
2028     </para>
2029   </sect1>
2030   
2031
2032 <!-- ############### Listing Documents in the Help Menu ############# -->
2033
2034   <sect1 id="listingdocsinhelpmenu">
2035     <title>Listing Documents in the Help Menu</title>
2036
2037     <note>
2038       <title>Developer Information</title>
2039       <para>
2040         This section is for developers.  Documentation authors
2041         generally do not need to know this material.
2042       </para>
2043     </note>
2044     <para>
2045       Typically the application manual and possibly additional help
2046       documents will be made available to the user under the
2047       <guimenu>Help</guimenu> menu at the top right of the
2048       application. To do this, you must first write a
2049       <filename>topic.dat</filename> file. The format for this file is:
2050       <programlisting>
2051 One line for each 'topic'.
2052
2053 Two columns, as defined by perl -e 'split(/\s+/,$aline,2)'
2054
2055 First column is the HTML file (and optional section) for the topic,
2056 relative to the app's help file dir.
2057
2058 Second column is the user-visible topic name.
2059       </programlisting>
2060       For example, <application>Gnumeric</application>'s
2061       <filename>topic.dat</filename> file is:
2062       <programlisting>
2063 gnumeric.html   Gnumeric manual
2064 function-reference.html Gnumeric function reference
2065       </programlisting>
2066       When the application is installed, the
2067       <filename>topic.dat</filename> file should be placed in the
2068       <filename
2069       class="directory">$prefix/share/gnome/help/<replaceable>appname</replaceable>/C/</filename> directory
2070       where <replaceable>appname</replaceable> is replaced by the
2071       application's name.  The application documentation (converted
2072       from SGML into HTML with <command>db2html</command>) should be
2073       placed in this directory too.
2074     </para>
2075     <note>
2076       <para>
2077        If the help files are not present in the correct directory, the
2078        menu items will NOT appear when the program is run. 
2079       </para>
2080     </note>
2081     <para>
2082       The <filename>topic.dat</filename> file is used by the GNOME
2083       menu building code to generate the <guimenu>Help</guimenu>
2084       menu. When you define your menu:  
2085 <programlisting>
2086 GnomeUIInfo helpmenu[] = {
2087               {GNOME_APP_UI_ITEM, 
2088                N_("About"), N_("Info about this program"),
2089                about_cb, NULL, NULL, 
2090                GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ABOUT,
2091                0, 0, NULL},
2092                GNOMEUIINFO_SEPARATOR,
2093                GNOMEUIINFO_HELP("<emphasis>appname</emphasis>"),
2094                GNOMEUIINFO_END
2095         };
2096 </programlisting>
2097       the line specifying <varname>GNOMEUIINFO_HELP</varname> causes
2098       GNOME to create a menu entry which is tied to the documentation
2099       in the directory mentioned above. Also, all the topics in the
2100       <filename>topic.dat</filename> file will get menu entries in the
2101       <guimenu>Help</guimenu> menu. When the user selects any of these
2102       topics from the <guimenu>Help</guimenu> menu, a help browser
2103       will be started with the associated HTML documentation.
2104     </para>
2105   </sect1>
2106
2107
2108 <!-- ################# Application Help Buttons ############### -->
2109
2110   <sect1 id="applicationhelpbuttons">
2111     <title>Application Help Buttons</title>
2112
2113     <note>
2114       <title>Developer Information</title>
2115       <para>
2116         This section is for developers.  Documentation authors
2117         generally do not need to know this material.
2118       </para>
2119     </note>
2120     <para>
2121       Most GNOME applications will have <guibutton>Help</guibutton>
2122       buttons.  These are most often seen in Preference windows. (All
2123       Preference windows should have <guibutton>Help</guibutton>
2124       buttons.) Most <guibutton>Help</guibutton> buttons will connect
2125       to the application manual, although some may connect to special
2126       documents.  Because the <guibutton>Help</guibutton> buttons do
2127       not generally have their own special documentation, the
2128       documentation author(s) do not need to do very much.  However,
2129       the application author must be careful to guarantee that the
2130       application correctly opens the help documentation when the
2131       <guibutton>Help</guibutton> buttons are pressed.  
2132     </para>
2133     <para>
2134       To make the Help buttons call the correct document in the GNOME Help
2135       Browser the developer should add code based on the following example:
2136     </para>
2137     <programlisting>
2138 gchar *tmp;
2139 tmp = gnome_help_file_find_file ("module", "page.html");
2140 if (tmp) {
2141   gnome_help_goto(0, tmp);
2142   g_free(tmp);
2143 }
2144     </programlisting>
2145     <note>
2146       <title>NOTE</title>
2147       <para>
2148         The example above is in the C language, please refer to other
2149         documentation or forums for other GNOME language bindings.
2150       </para>
2151     </note>
2152  </sect1>
2153
2154 <!-- ################# Packaging Applet Documentation ############### -->
2155
2156   <sect1 id="packagingappletdocs">
2157     <title>Packaging Applet Documentation</title>
2158     <sect2 id="appletfiles">
2159       <title>Applet Documentation Files</title>
2160       <para>
2161         In GNOME 2.0 each applet will have its own documentation
2162         installed separately, and the GNOME 2.0 help
2163         browser (<application>Nautilus</application>) will dynamically
2164         merge the applet documents into a single virtual book
2165         called <citetitle>GNOME Applets</citetitle>. During the
2166         transitionary stage between GNOME 1.0 and GNOME 2.0, each
2167         applet in the gnome-applets package has its own manual(stored
2168         with the applet in CVS), but they are merged together manually
2169         to create the <citetitle>GNOME Applets</citetitle> book before
2170         distribution.  Telsa 
2171         <email>hobbit@aloss.ukuu.org.uk</email> is the maintainer of
2172         this document.  Applet documentation should be sent to Telsa
2173         (or placed in CVS) who will make sure they are correctly
2174         packaged with the applets.  The applet author should be
2175         contacted to modify the menu items and help buttons to bind to
2176         the applet documentation if necessary.
2177       </para>
2178       <para>
2179         Images which are part of the applet documentation should be in
2180         PNG format and should reside in the same directory as the SGML
2181         document file in CVS(gnome-applets/APPLETNAME/help/C).
2182       </para>
2183       <para>
2184         Applets which are not part of the gnome-applets package must
2185         package their documentation with the particular applet
2186         package. They should use the same applet template as other
2187         applets.  However, the <sgmltag>&lt;xref></sgmltag> links to
2188         the introductory chapter of the <citetitle>GNOME
2189         Applets</citetitle>  book must be removed (as the 1.x
2190         <application>GNOME Help Browser</application> does not allow
2191         you to create links between separate documents) and replaced
2192         with suitable text.  Note that since this document is not part
2193         of the <citetitle>GNOME Applets</citetitle> book, you must
2194         remember to add <sgmltag>&lt;legalnotice></sgmltag> and
2195         <sgmltag>&lt;copyright></sgmltag> sections.
2196       </para>
2197     </sect2>
2198
2199     <sect2 id="appletmenu">
2200       <title>Adding Documentation to an Applet Menu</title>
2201       <note>
2202         <title>Developer Information</title>
2203         <para>
2204           This section is for developers.  Documentation authors
2205           generally do not need to know this material.
2206         </para>
2207       </note> 
2208       <para>
2209         Applets should have <guimenu>About</guimenu> and
2210         <guimenu>Manual</guimenu> menu items, typically as the first
2211         and second top-most items in the menu respectively.  This
2212         section describes how the developer creates these menu items
2213         and links them to the documentation.
2214       </para>
2215       <para>
2216         To add an applet's manual to its applet menu, use:
2217 <programlisting>
2218 /* add an item to the applet menu */
2219 applet_widget_register_callback(APPLET_WIDGET(applet), "manual",
2220 _("Manual"), &amp;open_manual, NULL);
2221 </programlisting>
2222         Here the second argument is an arbitrary name for the
2223         callback, the third argument is the label which will appear
2224         when the user right clicks on the applet, and the fourth
2225         argument is the callback function.
2226       </para>
2227       <para>
2228         You will need to write a simple callback function to open the
2229         help browser to the appropriate document.  This is done using
2230         the <function>gnome_help_file_find_file</function> function,
2231         as described in <xref linkend="applicationhelpbuttons" />.
2232       </para>
2233       <para>
2234         You will also want to add an <guimenu>About</guimenu> menu
2235         item to the applet's menu.  This is a
2236         stock menu item and is done:
2237 <programlisting>
2238 applet_widget_register_stock_callback (APPLET_WIDGET(applet), "about",
2239        GNOME_STOCK_MENU_ABOUT, _("About"), &amp;my_applet_cb_about,
2240        NULL);
2241 </programlisting>
2242       </para>
2243       <para>
2244         More information can be found at <ulink type="http"
2245         url="http://developer.gnome.org/doc/tutorials/applet/index.html">Writing
2246         GNOME panel applets using the GTK+/GTK-- widget set</ulink>.
2247       </para>
2248     </sect2>
2249  </sect1>
2250
2251
2252 <!-- ################# Writing Context Sensitive Help ###############
2253 -->
2254
2255   <sect1 id="writingcontextsensitivehelp">
2256     <title>Writing Context Sensitive Help (coming in GNOME-2.0)</title>
2257     <para>
2258       Context sensitive help, also known as "pop-up" help, will allow
2259       a user to obtain help information about specific buttons or
2260       parts of an application.
2261     </para>
2262     <para>
2263       Context sensitive help is still under development and not all
2264       the details are available at this time. However, the basics can
2265       be shown here so that you can understand how the system will
2266       work.
2267     </para>
2268     <para>
2269       The Context Sensitive Help system is designed to allow the
2270       developer to give an id to a particular portion of the User
2271       Interface, for example, a button. Once the interface is complete
2272       a Perl script can then be run against the interface code to
2273       create a "map" file. This map file allows the developer or
2274       writer to associate particular paragraph sections from an XML
2275       document to the interface items.
2276     </para>
2277     <para>
2278       The XML used for the document is a small XML DTD that is being
2279       developed to use the same tags (albeit, much fewer) as DocBook
2280       so that writers do not have to re-learn a new DTD.
2281     </para>
2282     <para>
2283       Once the document is written and map file is complete, when the
2284       user launches context sensitive help on the interface (either by
2285       pressing a button and then clicking on the interface item they
2286       want information on, or by right mouse clicking on the interface
2287       item and selecting a pop-up menu item like "What's This") a
2288       small transient window will appear with brief but detailed
2289       information on the interface item.
2290     </para>
2291   </sect1>
2292
2293 <!-- ################# Referring to Other GNOME Documentation
2294 ############# -->
2295
2296   <sect1 id="referring">
2297     <title>Referring to Other GNOME Documentation (coming in
2298     GNOME-2.0)</title>
2299     <para>
2300       In the GNOME 2.0 Help System, you will be able to create links
2301       from one document to another.  The exact mechanism for doing
2302       this is in development.
2303     </para>
2304   </sect1>
2305   
2306   
2307 <!-- ################# Basics of Documentation Style ############### -->
2308
2309   <sect1 id="basics">
2310     <title>Basics of Documentation Style</title>
2311     <para>
2312        Most people have never enjoyed reading a software manual, and
2313        they probably never will.  Many times, they'll read the
2314        documentation only when they run into problems, and they'll be
2315        frustrated and upset before they even read a word.  On the
2316        other hand, some readers will read the manual all the way
2317        through, or at least look at the introduction before they
2318        start. Your document might serve as a reference for an expert
2319        or a guide to a beginner, and it must have enough depth to
2320        satisfy the first without overwhelming the second.  Ideally, it
2321        will serve beginners as they <emphasis>become</emphasis>
2322        experts. Remember, your goal is to produce <emphasis>complete,
2323        intuitive and clear</emphasis> documentation.
2324     </para>
2325     <para>
2326        In order to write useful documentation, you'll have to know who
2327        your audience is likely to be.  Then, you can look for the
2328        problems they're likely to run into, and solve them.  It will
2329        also help if you focus on the tasks users will perform, and
2330        group features accordingly, rather than simply describing
2331        features at random.  
2332     </para>
2333
2334 <!--  *********** Basics of Documentation Style: planning -->
2335
2336     <sect2 id="styleplanning">
2337       <title>Planning</title>
2338       <para>
2339          Begin documenting by learning how to use the application and
2340          reading over any existing documentation.  Pay attention to
2341          places where your document will differ from the template.  It
2342          may help to develop a document skeleton: a valid XML or SGML
2343          document that has little or no content.  For very large
2344          applications, you will need to make significant departures
2345          from the templates, since you'll be using the
2346          <sgmltag>&lt;book></sgmltag> tag instead of
2347          <sgmltag>&lt;chapter></sgmltag> or
2348          <sgmltag>&lt;article></sgmltag>.
2349       </para>
2350     </sect2>
2351
2352
2353 <!-- ####### Basics of Documentation Style | Balance ####### -->
2354     <sect2 id="balance">
2355       <title>Achieving a Balanced Style</title>
2356
2357       <para> 
2358          Just as you need to juggle expert and novice readers,
2359          you'll have to juggle a number of other extremes as you write:
2360          <itemizedlist>
2361           <listitem>
2362             <para>
2363               Documents should be complete, yet concise.  You should
2364               describe every feature, but you'll have decide how much
2365               detail is really necessary.  It's not, for example,
2366               necessary to describe every button and form field in a
2367               dialog box, but you should make sure that your readers
2368               know how to bring up the dialog and what it does.  If
2369               you spend fewer words on the obvious, you can spend more
2370               time clarifying the ambiguous labels and explaining
2371               items that are more complex.
2372             </para>
2373           </listitem>
2374           <listitem>
2375             <para>
2376               Be engaging and friendly, yet professional. Games
2377               documents may be less formal than productivity
2378               application documents (people don't
2379               <emphasis>use</emphasis> games, they
2380               <emphasis>play</emphasis> them), but all of them should
2381               maintain a standard of style which holds the reader's
2382               interest without resorting to jokes and untranslatable
2383               allusions or puns.
2384            </para>
2385           </listitem>
2386           
2387           <listitem>
2388             <para>
2389               Examples, tips, notes, and screenshots are useful to
2390               break up long stretches of text, but too many can get in
2391               the way, and make your documents too choppy to read.
2392               It's good to provide a screenshot of any dialog windows
2393               a user might run into, but if a dialog box has several
2394               tabs, it's not usually necessary to have one for each.
2395            </para>
2396           </listitem>
2397
2398           <listitem>
2399             <para>
2400               The GDP strives to have all of its documentation conform
2401               to certain standards of style and content, but every
2402               document (and every writer) is different.  You will need
2403               to use your judgement, and write documents to fit with
2404               the rest of the project, without compromising the
2405               individual needs of your subject, or your own
2406               individuality as a writer.
2407            </para>
2408           </listitem>
2409
2410         </itemizedlist>
2411        </para>
2412     </sect2>
2413
2414
2415 <!-- ####### Basics of Documentation Style | Structure ####### -->
2416
2417     <sect2 id="stylestructure">
2418       <title>Structure</title>
2419       <para>
2420          In general, you won't have to worry too much about structure,
2421          because the templates provide you with an excellent example.
2422          As a general rule, try to follow that structural example.
2423          That means using links, hierarchical nesting, and, if
2424          necessary, a glossary or index.  You probably won't need to
2425          use every available structural tag, but take advantage of
2426          what DocBook provides you.
2427       </para>
2428       <para>
2429          As to linking, there's some disagreement about whether to use
2430          <sgmltag>&lt;xref></sgmltag> <sgmltag>&lt;link></sgmltag>
2431          when you make links within your documents.  You'll have to
2432          decide, based on the different ways that they are presented
2433          in output, which is more appropriate given the context.
2434          Regardless of which you use, you should not forget to use
2435          them.  Help your readers find information that relevant to
2436          the issue at hand.
2437       </para>
2438       <para>
2439          The table of contents will be generated automatically, but
2440          you will probably have to develop your own index if you wish
2441          to have one.  The Nautilus Help Browser will have new, and
2442          currently unknown, indexing capabilities, so index style and
2443          structure are still under discussion.  The GNOME User's Guide
2444          will contain a glossary in its next versions; unless you're
2445          writing a<sgmltag>&lt;book></sgmltag>, it will probably be best to
2446          contribute to that rather than developing your own.
2447       </para>
2448     </sect2>
2449 <!-- ####### Basics of Documentation Style | Grammar & Spelling ####### -->
2450
2451     <sect2 id="stylegrammar">
2452       <title>Grammar and Spelling</title>
2453       <para>
2454         Nobody expects you to be perfect; they just expect the
2455         documentation for their software to be error-free.  That means
2456         that, in the same way that developers look for bugs and accept
2457         bug reports, writers must check for errors in their documents.
2458         Poor grammar, bad spelling, and gross technical errors in
2459         draft documents are fine.  However, if those problems show up
2460         in a "real" release, they can count against the credibility of
2461         GNOME and Linux.  They'll also make you look bad.
2462       </para>
2463       <para>
2464         There is no substitute for a human proofreader; use a
2465         spell-check program, then read it over yourself, and then find
2466         someone else to help you.  Other GDP members are, of course,
2467         willing and able to help you, but non-writers are often at
2468         least as helpful.
2469       </para>
2470       <para>
2471         Proofreading documents is both a also a good way to
2472         familiarize yourself with documentation, and it certainly
2473         makes you valuable to the GDP. Help other writers proof their
2474         documents, and they will help you with yours.
2475       </para>
2476     </sect2>
2477   </sect1>
2478   
2479 <!-- ################# Teamwork ############### -->
2480
2481   <sect1 id="teamwork">
2482     <title>Teamwork</title>  <!-- ####### Teamwork | Working With The
2483 GDP Team ####### -->
2484
2485     <sect2 id="teamworkgdp">
2486       <title>Working With The GDP Team</title>
2487       <para>
2488         The GDP team is a valuable resource for any documentation
2489         author.  GDP members can answer most questions documentation
2490         authors have during the course of their work. It is also
2491         important to make sure you are not duplicating work of other
2492         GDP members by visiting the <citetitle>GDP Documentation
2493         Status Table</citetitle> (<ulink
2494         url="http://www.gnome.org/gdp/doctable/"
2495         type="http">http://www.gnome.org/gdp/doctable/</ulink>) and
2496         assigning a documentation item to yourself.  This table also
2497         provides a forum for making suggestions and announcements for
2498         each documentation item.  The best way to get in touch with
2499         GDP members is on the #docs IRC channel at irc.gnome.org or
2500         else by emailing the <ulink type="http"
2501         url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
2502         <citetitle>gnome-doc-list mailing list</citetitle></ulink>.
2503       </para>
2504       <para>
2505         After an author has finished a document (or even a draft
2506         version of the document), it is a good idea to ask a member of
2507         the GDP team to read the document, checking it for grammar,
2508         proper DocBook markup, and clarity.  One may typically find
2509         another author to do this by either asking on the #docs IRC
2510         channel at irc.gnome.org or by emailing the <ulink type="http"
2511         url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
2512         <citetitle>gnome-doc-list mailing list</citetitle></ulink>.
2513       </para>
2514     </sect2>
2515
2516 <!-- ####### Teamwork | Working With Developers ####### -->
2517
2518     <sect2 id="teamworkdevelopers">
2519       <title>Working With Developers</title>
2520       <para>
2521         Writing documentation typically involves a certain amount of
2522         interaction with the developers of GNOME or the application
2523         which is being documented.  Often a document author will need
2524         to ask the developer technical questions during the course of
2525         writing a document. After the document is finished, it is good
2526         idea to ask the developer to read the document to make sure it
2527         is technically correct.  The documentation author should also
2528         make sure that the application author correctly binds and
2529         packages the documentation with the application.
2530       </para>
2531     </sect2>
2532
2533 <!-- ####### Teamwork | Working With Users #######
2534
2535     <sect2 id="teamworkusers">
2536       <title>Working With Users</title>
2537       <para>
2538         Some document authors may wish to get feedback on their
2539         documents directly from users.  This may be done by ...
2540       </para>
2541     </sect2>-->
2542   </sect1>
2543   
2544 <!-- ################# Finishing a Document ############### -->
2545
2546   <sect1 id="finishing">
2547     <title>Finishing A Document</title>
2548
2549 <!-- ####### Finishing a Document | Editting the Document ####### -->
2550
2551     <sect2 id="editting">
2552       <title>Editing The Document</title>
2553       <para>
2554         When the document is finished, the document should be edited
2555         by another member of the GDP for spelling, clarity, and
2556         DocBook markup. It should also be read by an application
2557         author to make sure the document is technically accurate.
2558       </para>
2559     </sect2>
2560
2561 <!-- ####### Finishing a Document | Submitting the Document ####### -->
2562
2563     <sect2 id="submitting">
2564       <title>Submitting The Document</title>
2565       <para>
2566         After the document has been edited and checked for technical
2567         accuracy, it is ready to be combined with the application or
2568         documentation package.  This is typically done by passing the
2569         document to the application or package developer.  In some
2570         cases, the documents can be committed directly into CVS,
2571         however this should only be done after obtaining permission to
2572         make CVS commits from the developer.  Note that in many cases,
2573         the application may need to be modified to correctly link to
2574         the documentation.  The packaging system (tarballs and binary
2575         packages) may also need to be modified to include the
2576         documentation in the package.  Generally, this should be done
2577         by the developers.
2578       </para>
2579       <para>
2580         The final step is to email the GNOME Translation Team at
2581         <email>gnome-i18n@nuclecu.unam.mx</email> to notify them that
2582         there is a new document for them to translate.
2583       </para>
2584     </sect2>
2585   </sect1>
2586   
2587 <!-- ################# Resources ############### -->
2588
2589   <sect1 id="resources">
2590     <title>Resources</title> 
2591 <!-- ####### Resources | Resources on the Web ####### -->
2592
2593     <sect2 id="resourcesweb">
2594       <title>Resources On The Web</title> <para>  The <ulink
2595       type="http" url="http://developer.gnome.org/projects/gdp/">GNOME
2596       Documentation Project Web page</ulink> lists current GDP 
2597       projects and members.
2598       </para>
2599       <para>
2600         The <ulink url="http://www.gnome.org/gdp/doctable/"
2601         type="http">GDP Documentation Status Table</ulink> tracks the
2602         status of all the various documentation components of GNOME.
2603       </para>
2604       <para>
2605         Norman Walsh's  <ulink url="http://www.docbook.org"
2606         type="http"> <citetitle>DocBook: The Definitive
2607         Guide</citetitle></ulink> in an excellent book on DocBook,
2608         available both online and in print.
2609       </para>
2610     </sect2>
2611
2612 <!-- ####### Resources | Books ####### -->
2613
2614     <sect2 id="resourcesbooks">
2615       <title>Books</title>
2616       <para>
2617         Docbook: The Definitive Guide is available in both printed
2618         form and on the web at:
2619         <ulink url="http://www.docbook.org/tdg/index.html">
2620         <citetitle>Docbook: The Definitive Guide</citetitle>
2621         </ulink>
2622       </para>
2623     </sect2>
2624
2625 <!-- ####### Resources | Mailing Lists ####### -->
2626
2627     <sect2 id="mailinglists">
2628       <title>Mailing Lists</title>
2629       <para>
2630         The <emphasis>gnome-docs-list</emphasis> mailing list is the
2631         main discussion area for all contributors to the GNOME
2632         Documentation Project. You can find out how to subscribe to
2633         this list on <ulink
2634         url="http://www.gnome.org/resources/mailing-lists.html"
2635         type="http">GNOME Mailing Lists</ulink>.  This is a rather
2636         low-volume list, so you will not be flooded with messages.
2637       </para>
2638     </sect2>
2639
2640 <!-- ####### Resources | IRC ####### -->
2641
2642     <sect2 id="irc">
2643       <title>IRC</title>
2644       <para>
2645         Internet Relay Chat (IRC) is a fast and easy way to get in
2646         touch with other GDP members.  There are generally at least a
2647         few members here who can answer questions or discuss
2648         documentation issues.  The IRC channel is #docs at
2649         irc.gnome.org.
2650       </para>
2651     </sect2>
2652   </sect1>
2653   
2654 <!-- ################# Example Docs ###############
2655
2656   <appendix id="exampledocs">
2657     <title>Example Docs</title> 
2658
2659 ####### Example Docs | Example 1: Application Manual ####### 
2660
2661     <sect1 id="ex1">
2662       <title>Example 1: Application Manual</title>
2663       <programlisting>
2664 <![CDATA[ (Put sgml here.)]]> </programlisting>
2665     </sect1>
2666
2667 ####### Example Docs | Example 2: Applet Manual ####### 
2668
2669     <sect1 id="ex2">
2670       <title>Example 2: Applet Manual</title>
2671       <programlisting>
2672 <![CDATA[(Put sgml here.)]]> </programlisting>
2673     </sect1>
2674
2675 ##### Example Docs | Example 3: Application Context Sensitive Help ####
2676
2677     <sect1 id="ex3">
2678       <title>Example 3: Application Context Sensitive Help</title>
2679       <programlisting>
2680 <![CDATA[(Put sgml here.)]]> </programlisting>
2681     </sect1>
2682
2683 ####### Example Docs | Example 4: Complete Application: gnome-hello  #######
2684
2685     <sect1 id="ex4">
2686       <title>Example 4: Complete Application: gnome-hello</title>
2687       <programlisting>
2688 <![CDATA[(Put sgml here.)]]> </programlisting>
2689     </sect1>
2690
2691 ####### Example Docs | Example 5: Tutorial #######
2692
2693     <sect1 id="ex5">
2694       <title>Example 5: Tutorial</title>
2695       <programlisting>
2696 <![CDATA[(Put sgml here.)]]> </programlisting>
2697     </sect1>
2698   </appendix>-->
2699   
2700 <!-- ################# Document Templates ############### -->
2701
2702   <appendix id="templates">
2703     <title>Document Templates</title> 
2704 <!-- ####### Document Templates | Templates 1: Application Manual ####### -->
2705
2706     <sect1 id="template1">
2707       <title>Template 1: Application Manual</title>
2708       <para>
2709         The following template should be used for all application
2710         manuals.  You can always get the latest copy of this
2711         template from  <ulink type="http"
2712         url="http://developer.gnome.org/projects/gdp/templates.html">GDP
2713         Documentation Templates</ulink>.
2714         <programlisting>
2715
2716 <![CDATA[
2717 <!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
2718         <!-- if not using PNG graphic, replace reference above with
2719              .....PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
2720          -->
2721 <!ENTITY version "1.0.53">
2722         <!-- replace version above with actual application version number-->
2723         <!--  Template Version: 1.0.1  (do not remove this line) -->
2724 ]>
2725
2726
2727 <!-- This is a GNOME documentation template, designed by the GNOME
2728   Documentation Project Team. Please use it for writing GNOME
2729   documentation, making obvious changes. In particular, all the words
2730   written in UPPERCASE (with the exception of GNOME) should be
2731   replaced. As for "legalnotice", please leave the reference
2732   unchanged.
2733
2734   Remember that this is a guide, rather than a perfect model to follow
2735   slavishly. Make your manual logical and readable.  And don't forget
2736   to remove these comments in your final documentation!  ;-)
2737   -->
2738
2739 <!-- =============Document Header ============================= -->
2740
2741 <article id="index"> <!-- please do not change the id -->
2742
2743   <artheader>
2744     <title>MY-GNOME-APP</title>
2745     <copyright>
2746       <year>2000</year>
2747       <holder>ME-THE-AUTHOR</holder>
2748     </copyright>
2749
2750   <!-- translators: uncomment this:
2751
2752   <copyright>
2753    <year>2000</year>
2754    <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
2755   </copyright>
2756
2757    -->
2758
2759   <!-- do not put authorname in the header except in copyright - use
2760   section "authors" below -->
2761
2762     <legalnotice>
2763       <para>
2764         Permission is granted to copy, distribute and/or modify this
2765         document under the terms of the <citetitle>GNU Free
2766         Documentation License</citetitle>, Version 1.1 or any later
2767         version published by the Free Software Foundation with no
2768         Invariant Sections, no Front-Cover Texts, and no Back-Cover
2769         Texts. You may obtain a copy of the <citetitle>GNU Free
2770         Documentation License</citetitle> from the Free Software
2771         Foundation by visiting <ulink type="http"
2772         url="http://www.fsf.org">their Web site</ulink> or by writing
2773         to: Free Software Foundation, Inc., 59 Temple Place - Suite
2774         330, Boston, MA 02111-1307, USA.
2775       </para>
2776       <para>
2777         Many of the names used by companies to distinguish their
2778         products and services are claimed as trademarks. Where those
2779         names appear in any GNOME documentation, and those trademarks
2780         are made aware to the members of the GNOME Documentation
2781         Project, the names have been printed in caps or initial caps.
2782       </para>
2783     </legalnotice>
2784
2785   <!-- this is the version of manual, not application --> 
2786     <releaseinfo>
2787        This is version 1.0 of MY-GNOME-APP manual.
2788     </releaseinfo>
2789
2790   </artheader>
2791
2792  <!-- ============= Document Body ============================= -->
2793
2794  <!-- ============= Introduction ============================== -->
2795   <sect1 id="intro">
2796     <title>Introduction</title>
2797
2798     <para>
2799      <application>MY-GNOME-APP</application> is an application which
2800      proves mathematical theorems.  It has all the basic features
2801      expected from a mathematical theorem prover, as well as a number
2802      of advanced ones, such as proof by confusion.  In fact, many of
2803      the proofs produced by <application>MY-GNOME-APP</application>
2804      are so complex that they are capable of proving almost anything
2805      with a virtually null likelihood of being disproven.  It also has
2806      the very popular predecessor of proof by confusion, proof by
2807      dialog, first implemented by Plato.
2808     </para>
2809     <para>
2810       It also allows you to save and print theorem proofs and to add
2811       comments to the proofs it produces.
2812     </para>
2813
2814     <para>
2815       To run <application>MY-GNOME-APP</application>, select
2816       <menuchoice>
2817         <guisubmenu>SUBMENU</guisubmenu>
2818         <guimenuitem>MY-GNOME-APP</guimenuitem>
2819       </menuchoice>
2820       from the <guimenu>Main Menu</guimenu>, or type
2821       <command>MYGNOMEAPP</command> on the command line.
2822   </para>
2823
2824     <para>
2825       <application>MY-GNOME-APP</application> is included in the
2826       <filename>GNOME-PACKAGE</filename> package, which is part of the
2827       GNOME desktop environment. This document describes version
2828       &version; of <application>MY-GNOME-APP</application>.
2829     </para>
2830   </sect1>
2831
2832
2833  <!-- ================ Usage ================================ -->
2834  <!-- This section should describe basic usage of the application. -->
2835
2836   <sect1 id="usage">
2837     <title>Using MY-GNOME-APP</title>
2838     <para>
2839       <application>MY-GNOME-APP</application> can be used to produce a
2840       perfect proof of <emphasis>any</emphasis> mathematical theorem
2841       (provided, of course, that this theorem is correct), thus
2842       providing for new users an easy-to-use graphical interface to
2843       modern mathematics. This section describes basic usage of
2844       <application>MY-GNOME-APP</application>.
2845     </para>
2846
2847     <!-- ========= Basic Usage =========================== -->
2848     <sect2 id="mainwin">
2849       <title>Basic usage</title>
2850       <para>
2851         Starting <application>MY-GNOME-APP</application> opens the
2852         <interface>Main window</interface>, shown in <xref
2853         linkend="mainwindow-fig">. The window is at first empty.
2854
2855         <!-- ==== Figure ==== -->
2856         <figure id="mainwindow-fig">
2857           <title>MY-GNOME-APP Main Window</title>
2858           <screenshot>
2859             <screeninfo>MY-GNOME-APP Main Window</screeninfo>
2860             <graphic fileref="SCREENSHOT" format="png" srccredit="ME">
2861             </graphic>
2862           </screenshot>
2863         </figure>
2864     <!-- ==== End of Figure ==== -->
2865       </para> 
2866
2867
2868  <!-- For this app, one could put "proving" or "edit" (probably even
2869       both of them) as sect2's seperate from the main window
2870       section. Since they were both so closely involved with the main
2871       window, I decided to have them as sect3's isntead. Judgement
2872       call. -->
2873
2874       <sect3 id="proving">
2875         <title>Proving a Theorem</title>
2876         <para>
2877           To get a proof of a theorem, select
2878           <menuchoice>
2879             <guisubmenu>File</guisubmenu>
2880             <guimenuitem>New</guimenuitem>
2881           </menuchoice>,
2882             which will
2883             bring up the <interface>New Proof</interface> dialog box.
2884             Enter the statement of the theorem in the
2885             <guilabel>Theorem statement</guilabel> field, select your
2886             desired proof type from the drop-down menu, and and press
2887             <guibutton>Prove!</guibutton>.
2888         </para>
2889         <para>
2890           If <application>MY-GNOME-APP</application> cannot prove the
2891           theorem by the method you have chosen, or if you have not
2892           selected a proof type at all,
2893           <application>MY-GNOME-APP</application> will attempt to
2894           choose the one that it thinks is most conclusive.  In order,
2895           it will attempt to prove the theorem with the following techniques: 
2896      
2897                 <variablelist>
2898             <varlistentry>
2899               <term>Deduction</term>
2900               <listitem>
2901                 <para>
2902                   This is a proof method that is generally accepted
2903                   for full credit by Logic professors.
2904                 </para>
2905               </listitem>
2906             </varlistentry>
2907             <varlistentry>
2908             <term>Induction</term>
2909             <listitem>
2910               <para>
2911                 This logical style will also earn you full credit on
2912                 your homework.
2913              </para>
2914             </listitem>
2915             </varlistentry>
2916             <varlistentry>
2917               <term>Dialog</term>
2918               <listitem>
2919               <para>
2920                 This logical method is best for Philosophy classes,
2921                 and will probably only merit partial credit on Logic
2922                 or Mathematics homework.
2923               </para>
2924             </listitem>
2925             </varlistentry>
2926             <varlistentry>
2927               <term>Confusion</term>
2928               <listitem>
2929               <para>
2930                 Suitable only for political debates, battles of wits
2931                 against the unarmed, and Philosophy classes focusing
2932                 on the works of Kant. Use with caution.
2933               </para>
2934               </listitem>
2935             </varlistentry>
2936           </variablelist>
2937           </para>
2938
2939    <!-- You might want to include a note, warning, or tip, e.g. -->
2940         
2941         <warning>
2942           <title>Proving Incorrect Theorms</title>
2943           <para>
2944             <application>MY-GNOME-APP</application> cannot prove
2945             incorrect theorems. If the theorem you have entered is not
2946             demonstrably true, you will get a message to that effect
2947             in the main window.  To disprove a theorem, ask
2948             <application>MY-GNOME-APP</application> to prove its
2949             logical inverse.
2950           </para>
2951         </warning>
2952       </sect3>
2953       <sect3 id="editing">
2954         <title>Editing Proofs</title>
2955         <para>
2956           Once you have proven the theorem, it will be displayed in
2957           the <interface>main window</interface>.  There, you can read
2958           it over, choose text styles for different portions of it,
2959           and make comments on it. This section will guide you through
2960           that process.
2961         </para>
2962         <para>
2963           To alter text styles, first select the statement you wish to
2964           change by clicking on it once.  You can select several
2965           statements by Then, choose the style you want to apply from
2966           the <guisubmenu>Style</guisubmenu> submenu of the
2967           <guimenu>Edit</guimenu> menu.
2968           <application>MY-GNOME-APP</application> will convert the
2969           text to that style.
2970         </para>
2971         <para>
2972           You can also enter comments on a statement by selecting that
2973           statement, and then beginning to type.  Comments will appear
2974           after the statement you have selected.
2975         </para>
2976
2977         <note>
2978           <title>Altering The Proofs Themselves</title>
2979           <para>
2980             <application>MY-GNOME-APP</application> does not allow you
2981             to alter a proof it has produced itself.  You can, save
2982             your proof as a plain text file (using the
2983             <guimenuitem>Save as...</guimenuitem> menu), and alter it
2984             that way.  Be aware, however, that
2985             <application>MY-GNOME-APP</application> uses its own file
2986             format for saved proofs, and cannot re-open a file unless
2987             it is in the .mga format.
2988           </para>
2989         </note>
2990       </sect3>
2991
2992
2993   <!-- If there are other functions performed from the main window,
2994        they belong here.   -->
2995
2996     </sect2>
2997  
2998     <!-- ========================================================= 
2999       Additional Sect2's should describe additional windows, such as
3000       larger dialog boxes, or functionality that differs significantly
3001       from the most immediate functions of the application. Make the
3002       structure logical.
3003       =============================================================  -->
3004
3005
3006     <sect2 id="toolbar">
3007       <title>Toolbar</title>
3008       <para>
3009         The toolbar (shown in <xref linkend="figure-usage-toolbar">)
3010         provides access to several commonly used routines.
3011         <figure id="figure-usage-toolbar">
3012           <title>MY-GNOME-APP Toolbar</title>
3013           <screenshot>
3014             <screeninfo>MY-GNOME-APP Toolbar</screeninfo>
3015             <graphic fileref="usage-toolbar.png" format="png"></graphic>
3016           </screenshot>
3017         </figure>
3018         <variablelist>
3019           <varlistentry>
3020             <term>New</term>
3021             <listitem>
3022               <para>
3023                 Brings up the <interface>New Theorem</interface>
3024                 dialog.
3025               </para>
3026             </listitem>
3027           </varlistentry>
3028           <varlistentry>
3029             <term>Open</term>
3030             <listitem>
3031               <para>
3032                  Open an exisiting theorem you want to prove, or a
3033                  completed proof you wish to print or format.
3034                </para>
3035             </listitem>
3036           </varlistentry>
3037           <varlistentry>
3038             <term>Save</term>
3039             <listitem>
3040               <para>
3041                  Save the current theorem permanently in a
3042                  file.
3043                </para>
3044             </listitem> 
3045           </varlistentry>
3046         </variablelist>
3047        </para>
3048     </sect2>
3049     <!-- ========= Menus =========================== --> 
3050
3051     <sect2 id="menubar">
3052
3053        <!-- Describing the menubar ensures comprehensive feature
3054        coverage. Nest itemizedlists inside variablelists so that each
3055        menu is easily located by indexing software. Proper indentation
3056        makes it easier! -->
3057
3058       <title>Menus</title>
3059       <para>
3060         The menu bar, located at the top of the <interface>Main
3061         Window</interface>, contains the following menus:
3062        </para>
3063       <variablelist>
3064         <varlistentry>
3065           <term><guimenu>File</guimenu></term>
3066           <listitem>
3067             <para>
3068                This menu contains:
3069                <itemizedlist>
3070                 <listitem>
3071                   <para>
3072                     <menuchoice>
3073                       <shortcut>
3074                         <keycap>F3</keycap>
3075                       </shortcut>
3076                       <guimenuitem>Open</guimenuitem>
3077                      </menuchoice>
3078                      &mdash; This opens a file which is saved on your computer.
3079                    </para>
3080                 </listitem>
3081                 <listitem>
3082                   <para>
3083                      <menuchoice>
3084                       <shortcut>
3085                         <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo>
3086                       </shortcut>
3087                       <guimenuitem>Save</guimenuitem>
3088                     </menuchoice>
3089                     &mdash; This saves your file.
3090                   </para>
3091                 </listitem>
3092                 <listitem>
3093                   <para>
3094                      <menuchoice>
3095                       <shortcut>
3096                         <keycombo><keycap>Ctrl</keycap><keycap>W</keycap></keycombo>
3097                       </shortcut>
3098                       <guimenuitem>Close</guimenuitem>
3099                     </menuchoice>
3100                     &mdash; This closes your file.
3101                   </para>
3102                 </listitem>
3103                 <listitem>
3104                   <para>
3105                     <menuchoice>
3106                       <shortcut>
3107                         <keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo>
3108                       </shortcut>
3109                       <guimenuitem>Exit</guimenuitem>
3110                     </menuchoice>
3111                     &mdash; This quits the application.
3112                   </para>
3113                 </listitem>
3114               </itemizedlist>
3115           </para>
3116           </listitem>
3117         </varlistentry>
3118         
3119         <varlistentry>
3120           <term><guimenu>Edit</guimenu></term>
3121           <listitem>
3122             <para>
3123            This menu contains:
3124            <itemizedlist>
3125                 <listitem>
3126                   <para>
3127                     <menuchoice>
3128                       <shortcut>
3129                         <keycombo><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>
3130                       </shortcut>
3131                       <guimenuitem>Cut</guimenuitem>
3132                     </menuchoice>
3133                     &mdash; This removes any text or data which is selected and
3134                     places it in the buffer.
3135                   </para>
3136                 </listitem>
3137                 <listitem>
3138                   <para>
3139                     <menuchoice>
3140                       <shortcut>
3141                         <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>
3142                       </shortcut>
3143                       <guimenuitem>Copy</guimenuitem>
3144                     </menuchoice>
3145                     &mdash; This copies any text or data which is selected into
3146                     the buffer.
3147                   </para>
3148                 </listitem>
3149                 <listitem>
3150                   <para>
3151                    <menuchoice>
3152                       <shortcut>
3153                         <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo>
3154                       </shortcut>
3155                       <guimenuitem>Paste</guimenuitem>
3156                     </menuchoice>
3157                     &mdash; This pastes any text or data which is copied into
3158                     the buffer.
3159                 </para>
3160                 </listitem>
3161                 <listitem>
3162                   <para>
3163                      <guimenuitem>COMMAND1&hellip;</guimenuitem>
3164                      &mdash; This opens the <interface>COMMAND1</interface>
3165                      dialog, which is used to ....
3166                   </para>
3167                 </listitem>
3168                 <listitem>
3169                   <para>
3170                     <guimenuitem>COMMAND2</guimenuitem>
3171                     &mdash; This ....
3172                   </para>
3173                 </listitem>
3174               </itemizedlist>
3175             </para>
3176           </listitem>
3177         </varlistentry>
3178         
3179
3180         <varlistentry>
3181           <term><guimenu>Settings</guimenu></term>
3182           <listitem>
3183             <para>
3184            This menu contains:
3185            <itemizedlist>
3186                 <listitem>
3187                   <para>
3188               <guimenuitem>Preferences&hellip;</guimenuitem>
3189                &mdash; This opens the <link
3190                linkend="prefs"><interface>Preferences
3191                Dialog</interface></link>, which allows you to configure
3192                many settings.
3193              </para>
3194                 </listitem>
3195                 <listitem>
3196                   <para>
3197                     <guimenuitem>COMMAND3</guimenuitem> &mdash;
3198                     This command does something.
3199                    </para>
3200                 </listitem>
3201               </itemizedlist>
3202             </para>
3203           </listitem>
3204         </varlistentry>
3205         
3206         <varlistentry>
3207           <term><guimenu>Help</guimenu></term>
3208           <listitem>
3209             <para>
3210               This menu contains:
3211                <itemizedlist>
3212                 <listitem>
3213                   <para>
3214                      <guimenuitem>Manual</guimenuitem> &mdash; This
3215                       opens the <application>GNOME Help
3216                       Browser</application> and displays this manual.
3217                   </para>
3218                 </listitem>
3219                 
3220                 <listitem>
3221                   <para>
3222                     <guimenuitem>About</guimenuitem> &mdash; This
3223                     opens the <interface>About</interface> dialog
3224                     which shows basic information about
3225                     <application>MY-GNOME-APP</application>, such as
3226                     the author's name, the application version number,
3227                     and the URL for the application's Web page if one
3228                     exists.
3229                   </para>
3230                 </listitem>
3231               </itemizedlist>
3232             </para>
3233           </listitem>
3234         </varlistentry>
3235       </variablelist>
3236     </sect2>
3237   </sect1>
3238
3239
3240
3241  <!-- ============= Customization ============================= -->
3242
3243  <sect1 id="prefs">
3244   <title>Customization</title>
3245   <para>
3246    To change the application settings, select
3247    <menuchoice>
3248     <guimenu>Settings</guimenu>
3249     <guimenuitem>Preferences...</guimenuitem>
3250    </menuchoice>.  This opens the
3251    <interface>Preferences</interface> dialog, shown in <xref
3252    linkend="preferences-fig">.
3253   </para>
3254
3255   <figure id="preferences-fig">
3256    <title>Preferences Dialog</title>
3257    <screenshot>
3258     <screeninfo>Preferences Dialog</screeninfo>
3259     <graphic fileref="SCREENSHOT" format="png"
3260      srccredit="ME">
3261     </graphic>
3262    </screenshot>
3263   </figure>
3264
3265   <para>
3266    The properties in the <guilabel>PREFSTABNAME</guilabel> tab are:
3267    
3268    <!--many people use itemizedlists in cases like this. Variablelists
3269    are more appropriate -->
3270
3271       <variablelist>
3272         <varlistentry>
3273           <term> <guilabel>Default Text Style</guilabel></term>
3274           <listitem>
3275             <para>
3276               Select the default text style for statements in your
3277               proof.  You can still change the style for individual
3278               proofs or sections of a proof at a later date.
3279             </para>
3280           </listitem>
3281         </varlistentry>
3282         <varlistentry>
3283           <term>(Configuration Item Label)</term>
3284           <listitem>
3285             <para>
3286              (Description of Configuration)
3287              </para>
3288           </listitem>
3289         </varlistentry>
3290         <varlistentry>
3291           <term>(Configuration Item Label)</term>
3292           <listitem>
3293             <para>
3294              (Description of Configuration)
3295              </para>
3296           </listitem>
3297         </varlistentry>
3298       </variablelist>
3299     </para>
3300
3301     <para>
3302      The properties in the <guilabel>SECONDTABNAME</guilabel> tab are:
3303        <variablelist>
3304         <varlistentry>
3305           <term>(Configuration Item Label)</term>
3306           <listitem>
3307             <para>
3308              (Description of Configuration)
3309              </para>
3310           </listitem>
3311         </varlistentry>
3312         <varlistentry>
3313           <term>(Configuration Item Label)</term>
3314           <listitem>
3315             <para>
3316              (Description of Configuration)
3317              </para>
3318           </listitem>
3319         </varlistentry>
3320       </variablelist>
3321     </para>
3322
3323   <para>
3324     After you have made all the changes you want, click on
3325     <guibutton>OK</guibutton> to apply the changes and close the
3326     <interface>Properties</interface> dialog. To cancel the changes
3327     and return to previous values, click the
3328     <guibutton>Close</guibutton> button.
3329   </para>
3330
3331  </sect1>
3332
3333
3334  <!-- ============= Various Sections ============================= -->
3335
3336  <!-- Here you should add, if necessary, several more sect1's,
3337  describing other windows (besides the main one), file formats,
3338  preferences dialogs,  etc. as appropriate. Try not to make any of
3339  these sections too long. -->
3340
3341
3342  <!-- ============= Bugs ================================== -->
3343  <!-- This section should describe known bugs and limitations of
3344       the program if there are any - please be frank and list all
3345       problems you know of. -->
3346  <sect1 id="bugs">
3347   <title>Known Bugs and Limitations</title>
3348   <para>
3349    This application has no known bugs.
3350   </para>
3351  </sect1>
3352
3353
3354 <!-- ============= Authors ================================ -->
3355
3356  <sect1 id="authors">
3357   <title>Authors</title>
3358   <para>
3359    <application>MY-GNOME-APP</application> was written by GNOME-HACKER
3360    (<email>hacker@gnome.org</email>). To find more information about
3361    <application>MY-GNOME-APP</application>, please visit the <ulink
3362    url="http://www.my-gnome-app.org" type="http">MY-GNOME-APP Web
3363    page</ulink>.  Please send all comments, suggestions, and bug
3364    reports to the <ulink url="http://bugs.gnome.org" type="http">GNOME
3365    bug tracking database</ulink>. (Instructions for submitting bug
3366    reports can be found <ulink
3367    url="http://bugs.gnome.org/Reporting.html" type="http">
3368    on-line</ulink>.)  You can also use <application>Bug Report
3369    Tool</application> (<command>bug-buddy</command>), available in the
3370    <guisubmenu>Utilities</guisubmenu> submenu of <guimenu>Main
3371    Menu</guimenu>, for submitting bug reports.
3372   </para>
3373
3374   <para>
3375    This manual was written by ME
3376    (<email>MYNAME@MYADDRESS</email>). Please send all comments and
3377    suggestions regarding this manual to the <ulink type="http"
3378    url="http://developer.gnome.org/projects/gdp">GNOME Documentation 
3379    Project</ulink> by sending an email to 
3380    <email>docs@gnome.org</email>. You can also add your comments online 
3381    by using the <ulink type="http" 
3382    url="http://www.gnome.org/gdp/doctable/">GNOME Documentation Status
3383    Table</ulink>.
3384   </para>
3385
3386   <!-- For translations: uncomment this:
3387
3388   <para>
3389    Latin translation was done by ME
3390    (<email>MYNAME@MYADDRESS</email>). Please send all  comments  and
3391    suggestions regarding this translation to SOMEWHERE.
3392   </para>
3393
3394   -->
3395
3396  </sect1>
3397
3398
3399  <!-- ============= Application License ============================= -->
3400
3401  <sect1 id="license">
3402   <title>License</title>
3403   <para>
3404    This program is free software; you can redistribute it and/or
3405    modify it under the terms of the <citetitle>GNU General Public
3406    License</citetitle> as published by the Free Software Foundation;
3407    either version 2 of the License, or (at your option) any later
3408    version.
3409   </para>
3410   <para>
3411    This program is distributed in the hope that it will be useful, but
3412    WITHOUT ANY WARRANTY; without even the implied warranty of
3413    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3414    <citetitle>GNU General Public License</citetitle> for more details.
3415   </para>
3416   <para>
3417    A copy of the <citetitle>GNU General Public License</citetitle> is
3418    included as an appendix to the <citetitle>GNOME Users
3419    Guide</citetitle>.  You may also obtain a copy of the
3420    <citetitle>GNU General Public License</citetitle> from the Free
3421    Software Foundation by visiting <ulink type="http"
3422    url="http://www.fsf.org">their Web site</ulink> or by writing to
3423    <address>
3424     Free Software Foundation, Inc.
3425     <street>59 Temple Place</street> - Suite 330
3426     <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
3427     <country>USA</country>
3428    </address>
3429   </para>
3430  </sect1>
3431 </article>
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441 ]]>
3442
3443
3444 </programlisting>
3445       </para>
3446     </sect1>
3447
3448 <!-- ####### Document Templates | Templates 2-1.x: Applet Manual ####### -->
3449
3450     <sect1 id="template2-1x">
3451       <title>Template 2: Applet Manual For GNOME 1.x</title>
3452       <para>
3453         The following templates should be used for all applet
3454         manuals in GNOME 1.x releases.  You can always get the latest
3455         copy of these templates from  <ulink type="http"
3456         url="http://developer.gnome.org/projects/gdp/templates.html">GDP
3457         Documentation Templates</ulink>.  Note that the template
3458         consists of two files; the first file calls the second as an
3459         entity. You should name the first file
3460         <filename><replaceable>appletname</replaceable>-applet.sgml</filename>
3461         and the second file should be named
3462         <filename><replaceable>appletname</replaceable>.sgml</filename>,
3463         where
3464         <filename><replaceable>appletname</replaceable></filename> is
3465         the name of the applet.
3466         <programlisting>
3467
3468 <![CDATA[
3469 <!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
3470  <!entity APPLETNAME.sgml SYSTEM "applet_template_1.sgml">
3471         <!--  Template Version: 1.0.1  (do not remove this line) -->
3472 ]>
3473
3474 <!-- This is a GNOME documentation template, designed by the GNOME
3475   Documentation Project Team. Please use it for writing GNOME
3476   documentation, making obvious changes. In particular, all the words
3477   written in UPPERCASE (with the exception of GNOME) should be
3478   replaced. As for "legalnotice", please leave the reference
3479   unchanged,make sure to add/remove trademarks to the list as
3480   appropriate for your document.
3481
3482   Please don't forget to remove these comments in your final documentation,
3483   thanks ;-).
3484 -->
3485
3486 <article id="index"> <!-- please do not change the id -->
3487
3488  <!-- ============= Document Header ============================= -->
3489  <artheader> 
3490   <title>APPLETNAME Applet</title>
3491   <copyright>
3492    <year>2000</year>
3493    <holder>YOURFULLNAME</holder>
3494   </copyright>
3495
3496   <!-- translators: uncomment this:
3497
3498   <copyright>
3499    <year>2000</year>
3500    <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
3501   </copyright>
3502
3503    -->
3504
3505   <!-- do not put authorname in the header except in copyright - use
3506   section "authors" below -->
3507
3508   <legalnotice>
3509    <para>
3510     Permission is granted to copy, distribute and/or modify this
3511     document under the terms of the <citetitle>GNU Free Documentation
3512     License</citetitle>, Version 1.1 or any later version published
3513     by the Free Software Foundation with no Invariant Sections, no
3514     Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy
3515     of the <citetitle>GNU Free Documentation License</citetitle> from
3516     the Free Software Foundation by visiting <ulink type="http"
3517     url="http://www.fsf.org">their Web site</ulink> or by writing to:
3518     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3519     Boston, MA 02111-1307, USA.
3520    </para>
3521    <para>
3522     Many of the names used by companies to distinguish their products and
3523     services are claimed as trademarks. Where those names appear in any
3524     GNOME documentation, and those trademarks are made aware to the members
3525     of the GNOME Documentation Project, the names have been printed in caps
3526     or initial caps.
3527    </para>
3528   </legalnotice>
3529
3530   <releaseinfo>
3531    This is version XXX of the APPLETNAME applet manual.
3532   </releaseinfo>
3533  </artheader>
3534
3535  <!-- ============= Document Body ============================= -->
3536
3537  &APPLETNAME.sgml;
3538
3539 </article>
3540
3541
3542 ]]>
3543
3544
3545 </programlisting>
3546         <programlisting>
3547 <![CDATA[
3548         <!--  Template Version: 1.0.1  (do not remove this line) -->
3549
3550  <sect1 id="APPLET">
3551   <title>APPLET Applet</title>
3552
3553   <para>
3554    <application>APPLET</application> applet, shown in <xref
3555    linkend="APPLETapplet-fig">, allows you to &hellip;.  To add this
3556    applet to a <interface>Panel</interface>, 
3557    right-click on the <interface>Panel</interface> and choose
3558    <menuchoice>
3559     <guimenu>Panel</guimenu>
3560     <guisubmenu>Add to panel</guisubmenu>
3561     <guisubmenu>Applet</guisubmenu>
3562     <guisubmenu>SECTION</guisubmenu>
3563     <guimenuitem>APPLET</guimenuitem>
3564    </menuchoice>.
3565   </para>
3566
3567   <figure id="APPLETapplet-fig">
3568    <title>APPLET Applet</title>
3569    <screenshot>
3570     <screeninfo>APPLET Applet</screeninfo>
3571     <graphic format="png" fileref="APPLET_applet" 
3572     srccredit="YOURNAME">
3573     </graphic>
3574    </screenshot>
3575   </figure>
3576
3577   <!-- ============= Usage  ================================ -->
3578   <sect2 id="APPLET-usage">
3579    <title>Usage</title>
3580    <para>
3581     (Place a short description of how to use the applet here.)
3582    </para>
3583
3584    <para>
3585     Right-clicking on the applet brings up a menu containing the
3586     following items:
3587     <itemizedlist>
3588
3589      <listitem>
3590       <para>
3591        <guimenuitem>Properties&hellip;</guimenuitem> &mdash;
3592        opens the <link linkend="APPLET-prefs">
3593        <guilabel>Properties</guilabel></link> dialog.
3594       </para>
3595      </listitem>
3596
3597      <listitem>
3598       <para>
3599        <guimenuitem>Help</guimenuitem> &mdash;
3600        displays this document.
3601       </para>
3602      </listitem>
3603
3604      <listitem>
3605       <para>
3606        <guimenuitem>About&hellip;</guimenuitem> &mdash;
3607        shows basic information about <application>APPLET
3608        Applet</application>, including the applet's version and the
3609        author's name.
3610       </para>
3611      </listitem>
3612
3613     </itemizedlist>
3614    </para>
3615   </sect2>
3616
3617
3618   <!-- ============= Customization ============================= -->
3619   <sect2 id="APPLET-prefs">
3620     <title>Customization</title>
3621     <para>
3622       You can customize <application>APPLET</application>
3623       applet by right-clicking on it and choosing
3624       <guimenuitem>Properties&hellip;</guimenuitem>. This will open the
3625       <interface>Properties</interface> dialog(shown in <xref
3626       linkend="APPLET-settings-fig">), which allows you to
3627       change various settings.
3628     </para>
3629
3630     <figure id="APPLET-settings-fig">
3631      <title>Properties dialog</title>
3632      <screenshot>
3633       <screeninfo>Properties dialog</screeninfo>
3634       <graphic format="png" fileref="APPLET_settings"
3635       srccredit="YOURNAME">
3636       </graphic>
3637      </screenshot>
3638     </figure>
3639
3640     <para>
3641      The properties are:
3642      <itemizedlist>
3643
3644       <listitem>
3645        <para>
3646         (Configuration Item Label) &mdash; If this button is
3647         checked&hellip;(description)
3648        </para>
3649       </listitem>
3650
3651       <listitem>
3652        <para>
3653         (Configuration Item Label) &mdash; Selecting this
3654         button&hellip;(description)
3655        </para>
3656       </listitem>
3657
3658       <listitem>
3659        <para>
3660         (Configuration Item Label) &mdash; Enter the name of
3661         &hellip;(description)
3662        </para>
3663       </listitem>
3664      </itemizedlist>
3665     </para>
3666
3667     <para> 
3668       After you have made all the changes you want, click on
3669       <guibutton>OK</guibutton> to apply the changes and close the
3670       <interface>Properties</interface> dialog. To cancel the changes
3671       and return to previous values, click the
3672       <guibutton>Close</guibutton> button.
3673     </para>
3674   </sect2>
3675
3676
3677   <!-- ============= Bugs ================================== -->
3678   <!-- This section should describe known bugs and limitations of
3679        the program if there are any - please be frank and list all
3680        problems you know of -->
3681   <sect2 id="bugs">
3682    <title>Known Bugs and Limitations</title>
3683    <para>
3684     This applet has no known bugs.
3685    </para>
3686   </sect2>
3687
3688
3689   <!-- ============= Authors ================================ -->
3690
3691   <sect2 id="authors">
3692    <title>Authors</title>
3693    <para>
3694     <application>APPLET</application> was written by GNOME-HACKER
3695     (<email>hacker@gnome.org</email>).  Please send all comments,
3696     suggestions, and bug 
3697     reports to the <ulink url="http://bugs.gnome.org" type="http">GNOME
3698     bug tracking database</ulink>. (Instructions for submitting bug
3699     reports can be found <ulink
3700     url="http://bugs.gnome.org/Reporting.html" type="http">
3701     on-line</ulink>.  You can also use <application>Bug Report
3702     Tool</application> (<command>bug-buddy</command>), available in the
3703     <guisubmenu>Utilities</guisubmenu> submenu of <guimenu>Main
3704     Menu</guimenu>, for submitting bug reports.
3705    </para>
3706
3707    <para>
3708     This manual was written by ME
3709     (<email>MYNAME@MYADDRESS</email>). Please send all comments and
3710     suggestions regarding this manual to the <ulink type="http"
3711     url="http://developer.gnome.org/projects/gdp">GNOME Documentation
3712     Project</ulink>  by sending an email to
3713     <email>docs@gnome.org</email>. You can also submit comments online
3714     by using the <ulink type="http"
3715     url="http://www.gnome.org/gdp/doctable/">GNOME Documentation
3716     Status Table</ulink>.
3717    </para>
3718
3719    <!-- For translations: uncomment this:
3720
3721    <para>
3722     Latin translation was done by ME
3723     (<email>MYNAME@MYADDRESS</email>). Please send all  comments  and
3724     suggestions regarding this translation to SOMEWHERE.
3725    </para>
3726
3727    -->
3728
3729   </sect2>
3730
3731
3732   <!-- ============= Application License ============================= -->
3733
3734   <sect2 id="license">
3735    <title>License</title>
3736    <para>
3737     This program is free software; you can redistribute it and/or
3738     modify it under the terms of the <citetitle>GNU General Public
3739     License</citetitle> as published by the Free Software Foundation;
3740     either version 2 of the License, or (at your option) any later
3741     version.
3742    </para>
3743    <para>
3744     This program is distributed in the hope that it will be useful, but
3745     WITHOUT ANY WARRANTY; without even the implied warranty of
3746     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3747     <citetitle>GNU General Public License</citetitle> for more details.
3748    </para>
3749    <para>
3750     A copy of the <citetitle>GNU General Public License</citetitle> is
3751     included as an appendix to the <citetitle>GNOME Users
3752     Guide</citetitle>.  You may also obtain a copy of the
3753     <citetitle>GNU General Public License</citetitle> from the Free
3754     Software Foundation by visiting <ulink type="http"
3755     url="http://www.fsf.org">their Web site</ulink> or by writing to
3756     <address>
3757      Free Software Foundation, Inc.
3758      <street>59 Temple Place</street> - Suite 330
3759      <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
3760      <country>USA</country>
3761     </address>
3762    </para>
3763   </sect2>
3764
3765  </sect1>
3766
3767
3768
3769
3770 ]]>
3771
3772
3773
3774 </programlisting>
3775       </para>
3776     </sect1>
3777
3778 <!-- ####### Document Templates | Templates 2-2.x: Applet Manual ####### -->
3779
3780     <sect1 id="template2-2x">
3781       <title>Template 2: Applet Manual For GNOME 2.x</title>
3782       <para>
3783         The following templates should be used for all applet
3784         manuals in GNOME 2.x releases.  You can always get the latest
3785         copy of these templates from  <ulink type="http"
3786         url="http://developer.gnome.org/projects/gdp/templates.html">GDP
3787         Documentation Templates</ulink>.
3788       </para>
3789       <para>
3790         Note that this template consists of two files.  The first file
3791         is an introductory chapter. You should not modify this
3792         chapter. The second file is the actual applet document, which
3793         you should modify to describe the applet you are documenting.
3794         You can name the first file whatever you like, such as
3795         <filename>gnome-applets.sgml</filename>.  Name the second file
3796         according to the applet's name:
3797         <filename><replaceable>appletname</replaceable>-applet.sgml</filename>.
3798         Make sure you update the entity
3799         at the top of the shell document to reflect the new name of
3800         the applet document.
3801       </para>
3802       <para>
3803         <programlisting>
3804 <![CDATA[
3805 <!DOCTYPE book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
3806 <!ENTITY TEMPLATE-APPLET SYSTEM "gnome-applet-template.sgml.part">
3807
3808 ]>
3809
3810 <book id="gnome-applets">
3811
3812  <bookinfo>
3813   <title>GNOME Applets</title>
3814   <authorgroup>
3815    <author><firstname>Telsa</firstname><surname>Gwynne</surname></author>
3816    <author><firstname>John</firstname><surname>Fleck</surname></author>
3817    <author><firstname>David</firstname><surname>Mason</surname>
3818       <affiliation><orgname>Red Hat, Inc.</orgname></affiliation>
3819     </author>
3820     <author><firstname>Dan</firstname><surname>Mueth</surname></author>
3821     <author><firstname>Alexander</firstname><surname>Kirillov</surname></author>
3822   </authorgroup>
3823   <edition>GNOME Applets version 0.1 for GNOME 1.1.5</edition>
3824   <pubdate>2000</pubdate>
3825   <copyright>
3826    <year>2000</year>
3827    <holder>Telsa Gwynne, John Fleck, Red Hat Inc., Dan Mueth, and
3828     Alexander Kirillov</holder> 
3829   </copyright>
3830   <legalnotice>
3831    <para>
3832     Permission is granted to make and distribute verbatim copies of this
3833     manual provided the copyright notice and this permission notice are
3834     preserved on all copies.
3835    </para>
3836    <para>
3837     Permission is granted to copy and distribute modified versions of
3838     this manual under the conditions for verbatim copying, provided that
3839     the entire resulting derived work is distributed under the terms of a
3840     permission notice identical to this one.
3841    </para>
3842    <para>
3843     Permission is granted to copy and distribute translations of this
3844     manual into another language, under the above conditions for modified
3845     versions, except that this permission notice may be stated in a
3846     translation approved by the Free Software Foundation.
3847    </para>
3848    <para>
3849     Many of the names used by companies to distinguish their products and
3850     services are claimed as trademarks. Where those names appear in any
3851     GNOME documentation, and those trademarks are made aware to the members
3852     of the GNOME Documentation Project, the names have been printed in caps
3853     or initial caps.
3854    </para>
3855   </legalnotice>
3856  </bookinfo>
3857
3858  <!-- #### Introduction ###### -->
3859  <chapter id="applets-intro">
3860   <title>Introduction</title> 
3861
3862   <!-- #### Intro | What Are Applets? ###### -->
3863   <sect1 id="applets-what-are">
3864    <title>What Are Applets?</title> 
3865    <para>
3866     Applets are one of the most popular and useful objects you can add
3867     to your <interface>Panel</interface> to customize your desktop.
3868     An applet is a small application which runs inside a small area of
3869     your <interface>Panel</interface>. Applets have been written for
3870     a wide range of purposes.  Some are very powerful interactive
3871     tools, such as the <application>Tasklist</application> Applet
3872     which allows you to easily 
3873     control all of your main applications.  Others are simple system
3874     monitors, displaying information such as the amount of power left
3875     in the battery on your laptop (see <application>Battery Charge
3876     Monitor</application>) or weather
3877     information(see <application>GNOME Weather</application>).  Some
3878     are simply for amusement(see <application>Fish</application>).
3879    </para>
3880
3881    <para>
3882     Applets are similar to swallowed applications in that both of them
3883     reside within the <interface>Panel</interface>. However, 
3884     swallowed applications are generally applications which were
3885     not designed to run within the <interface>Panel</interface>.
3886     Typically one will swallow an application which already exists in
3887     the main <interface>desktop</interface> area, putting it into your
3888     <interface>Panel</interface>.  The application will continue to
3889     run in the <interface>Panel</interface> until you end the
3890     application or  unswallow it,  placing it back onto the main part of
3891     your desktop when you need to.
3892    </para>
3893
3894    <para>
3895     <figure id="example-applets-fig">
3896      <title>Example Applets</title>
3897      <screenshot>
3898       <screeninfo>Example Applets</screeninfo>
3899        <graphic fileref="example_applets" format="png"
3900        srccredit="muet">
3901        </graphic>
3902      </screenshot>
3903     </figure>
3904     Several example applets are shown in <xref
3905     linkend="example-applets-fig">.  From left to right, they are: (1)
3906     <application>Mixer Applet</application>, which allows you to turn
3907     on/off sound and control its volume by clicking on the applet.  (2)
3908     <application>Sound Monitor</application> Applet, which displays
3909     the current volume of sound being played and allows you to control
3910     various sound features.  (3) <application>GTCD</application>
3911     Applet, a CD player which has all its controls
3912     available in the applet and displays the track and time. (4)
3913     <application>Drive Mount</application> Applet, used to mount and
3914     unmount drives with a single click of the mouse. (5)
3915     <application>Desk Guide</application> which allows you to view
3916     and control multiple virtual screens. (6)
3917     <application>Tasklist</application> Applet which allows you to
3918     control your various windows and applications.
3919    </para>
3920    <para>
3921     There are many other applets to choose from.  The rest of this
3922     chapter will explain the basic information to get you started
3923     adding, moving, and removing applets from your
3924     <interface>Panels</interface> and using them. The following
3925     chapters go through each of the standard GNOME applets describing
3926     them in detail.  There are also additional applets which can be
3927     downloaded off the Web.   See <ulink type="http"
3928      url="http://www.gnome.org/applist/list-martin.phtml">The GNOME
3929     Software Map</ulink> for lists of additional GNOME applications
3930     and applets. 
3931    </para>
3932    <para>
3933     As you read through the the rest of this chapter, you should try
3934     adding and removing applets from your <interface>Panel</interface> and
3935     experiment with them freely.  
3936    </para>
3937   </sect1>
3938
3939   <!-- #### Intro | Adding, Moving, and Removing Applets ###### -->
3940   <sect1 id="applet-add-move-replace">
3941    <title>Adding, Moving, and Removing Applets</title>
3942
3943    <sect2 id="adding-applets">   
3944     <title>Adding Applets to a Panel</title>
3945     <para>
3946      To add an applet to a <interface>Panel</interface>, right-click
3947      on the <interface>Panel</interface> and select 
3948      <menuchoice><guimenu>Panel</guimenu><guisubmenu>Add to panel</guisubmenu>
3949      <guisubmenu>Applet</guisubmenu></menuchoice>. This will show you
3950      the menu of all the applets on your system, divided into
3951      categories. Choosing any applet from this menu will add it to the
3952      <interface>Panel</interface>.
3953     </para>
3954    </sect2>
3955
3956    <sect2 id="moving-applets">
3957     <title>Moving Applets In or Between Panels</title>
3958     <para>
3959      It is easy to move applets in a <interface>Panel</interface> or
3960      between two <interface>Panels</interface>. If you have a
3961      three-button mouse, just move the mouse over the applet, depress
3962      the middle mouse button and drag the applet to its new location,
3963      releasing the middle mouse button when you are finished.  Note
3964      that you can drag applets within a <interface>Panel</interface>
3965      or between two <interface>Panels</interface> this way. If you
3966      don't have a three-button mouse, just 
3967      right-click on the applet and choose
3968      <guimenuitem>Move</guimenuitem>. The cursor will turn into a
3969      cross and the applet will move with your mouse until you press
3970      any mouse button to indicate you are finished moving it.
3971      If, in the course of this movement, it hits
3972      other objects, the behavior depends on the global preferences
3973      you have set for your <interface>Panels</interface> in the
3974      <application>GNOME Control Center</application>: the applet you are
3975      moving can switch places with other objects, "push" all objects
3976      it meets, or "jump" over all other objects without disturbing
3977      them. You can also override the default behavior by holding
3978      <keycap>Shift</keycap> button (for "push" mode),
3979      <keycap>Ctrl</keycap> (for "switched" mode), or
3980      <keycap>Alt</keycap> (for "free" mode, i.e. jumping other other
3981      objects without disturbing them) button while dragging.
3982     </para>
3983     <para>
3984      To change the global Panel preferences, right-click on any applet
3985      or <interface>Panel</interface> and select 
3986      <menuchoice>
3987       <guimenu>Panel</guimenu>
3988       <guimenuitem>Global Preferences...</guimenuitem>
3989      </menuchoice>.
3990      The <guilabel>Default movement mode</guilabel> is set under the
3991      <guilabel>Applets</guilabel> tab.
3992     </para>
3993    </sect2>
3994
3995    <sect2 id="removing-applets">
3996     <title>Removing Applets from a Panel</title> 
3997     <para>  
3998      To remove an applet from a <interface>Panel</interface>,
3999      right-click on the applet and select <guimenuitem>Remove from
4000      panel...</guimenuitem>. 
4001     </para>
4002    </sect2>
4003   </sect1>
4004
4005
4006   <!-- #### Intro | The Right-Click Pop-Up Menu ###### -->
4007   <sect1 id="right-click-pop-up-menu">
4008    <title>The Right-Click Pop-Up Menu</title>
4009    <para>
4010     Clicking the right mouse button on any applet brings up
4011     a <guimenu>pop-up menu</guimenu>. This 
4012     menu always has certain standard menu items in it and
4013     often has additional items which vary depending on the particular
4014     applet. 
4015    </para>
4016    <sect2 id="standard-right-click-items"> 
4017     <title>Standard Pop-Up Items</title>
4018     <para>
4019      All applets should have the following items in their right-click
4020      <guimenu>pop-up menu</guimenu>:
4021      <variablelist>
4022       <varlistentry>
4023        <term>Remove from panel</term>
4024        <listitem>
4025         <para>
4026          The <guimenuitem>Remove from panel</guimenuitem> menu item
4027          removes the applet from the <interface>Panel</interface>. 
4028         </para>
4029        </listitem>
4030       </varlistentry>
4031
4032       <varlistentry>
4033        <term>Move</term>
4034        <listitem>
4035         <para>
4036          After selecting <guimenuitem>Move</guimenuitem>, your mouse
4037          pointer will change appearance (typically to a cross with
4038          arrows in each direction). As you move your mouse, the applet
4039          will move with it.  When you have finished moving the applet,
4040          click any mouse button and the applet will anchor in its
4041          current position.  Note that applets can be moved between two
4042          <interface>Panels</interface> this way.
4043         </para>
4044        </listitem>
4045       </varlistentry>
4046
4047       <varlistentry>
4048        <term>Panel</term>
4049        <listitem>
4050         <para>
4051          The <guisubmenu>Panel</guisubmenu> submenu contains various
4052          items and submenus for adding and removing
4053          <interface>Panels</interface> and applets and for changing
4054          the configuration.
4055         </para>
4056        </listitem>
4057       </varlistentry>
4058
4059       <varlistentry>
4060        <term>About</term>
4061        <listitem>
4062         <para>
4063          The <guimenuitem>About...</guimenuitem> menu item brings up a 
4064          dialogue box containing various information about the applet,
4065          typically including the applet's  name, version, author,
4066          copyright, license and desciption. 
4067         </para>
4068        </listitem>
4069       </varlistentry>
4070
4071       <varlistentry>
4072        <term>Help</term>
4073        <listitem>
4074         <para>
4075          The <guimenuitem>Help</guimenuitem> menu item brings up the help
4076          manual for the applet. 
4077         </para>
4078        </listitem>
4079       </varlistentry>
4080      </variablelist>
4081     </para>
4082    </sect2>
4083
4084    <sect2 id="applet-properties-dialog"> 
4085     <title>The Applet Properties Dialog</title>
4086     <para>
4087      Many applets have customizable properties.  These applets will
4088      have a <guimenuitem>Properties...</guimenuitem> menu item in their
4089      right-click <guimenu>pop-up menu</guimenu> which brings up the
4090      <interface>Properties</interface> dialog where you can alter the 
4091      appearance or behaviour of the applet.
4092      <figure id="example-props-dialog-fig">
4093       <title>An Example Applet Properties Dialog</title>
4094       <screenshot>
4095        <screeninfo>An Example Applets Properties Dialog</screeninfo>
4096        <graphic fileref="applet_props_dialog" format="png"
4097         srccredit="muet">
4098        </graphic>
4099       </screenshot>
4100      </figure>
4101      All <interface>Properties</interface> dialogs have the following
4102      buttons at the bottom of the dialog:
4103      <itemizedlist>
4104       <listitem>
4105        <para>
4106         <guibutton>OK</guibutton> &mdash;
4107         Pressing <guibutton>OK</guibutton> will activate any changes
4108         in the properties you have made and close the
4109         <interface>Properties</interface> dialog.
4110        </para>
4111       </listitem>
4112       <listitem>
4113        <para>
4114         <guibutton>Apply</guibutton> &mdash;
4115         Pressing <guibutton>Apply</guibutton> at any time will
4116         make your changes active without closing the
4117         <interface>Properties</interface> dialog.  This is helpful if
4118         you would like to test the effects of the changes you have
4119         made but may want to continue changing the properties.
4120        </para>
4121       </listitem>
4122       <listitem>
4123        <para>
4124         <guibutton>Close</guibutton> &mdash;
4125         Pressing <guibutton>Close</guibutton> will close the
4126         <interface>Properties</interface> dialog.  Only changes in the
4127         configuration which were previously applied with the
4128         <guibutton>Apply</guibutton> button will persist.  Other
4129         changes will not be made active.
4130        </para>
4131       </listitem>
4132       <listitem>
4133        <para>
4134         <guibutton>Help</guibutton> &mdash;
4135         Pressing <guibutton>Help</guibutton> brings up the manual for
4136         the application, opening it to the page describing the
4137         <interface>Properties</interface> dialog.
4138        </para>
4139       </listitem>
4140      </itemizedlist>
4141     </para>
4142    </sect2>
4143  
4144    <sect2 id="common-right-click-items"> 
4145     <title>Other Common Pop-Up Items</title>
4146     <para>
4147      Many applets also have one or more of the following items in their
4148      right-click pop-up menu:
4149      <variablelist>
4150       <varlistentry>
4151        <term>Run...</term>
4152        <listitem>
4153         <para>
4154          The <guimenuitem>Run...</guimenuitem> menu item generally
4155          invokes a program  which is related to the applet in some way
4156          but which runs in its own window rather than in the
4157          panel. For example: 
4158         </para>
4159         <orderedlist>
4160          <listitem>
4161           <para>
4162            The <application>CPU Load</application> applet, which monitors
4163            what programs are running, has a <guimenuitem>Run
4164            gtop...</guimenuitem>  menu item. Selecting this menu item
4165            starts <application>GTop</application>, which allows you to
4166            view and control programs which are running.
4167           </para>
4168          </listitem>
4169          <listitem>
4170           <para>
4171            The <application>CD Player</application> applet has a
4172            <guimenuitem>Run gtcd...</guimenuitem> menu item which
4173            starts the GNOME <application>CD Player</application> when
4174            selected, which has more capabilities than the applet.
4175           </para>
4176          </listitem>
4177         </orderedlist>
4178        </listitem>
4179       </varlistentry>
4180      </variablelist>
4181     </para>
4182    </sect2>
4183   </sect1>
4184   
4185   <sect1 id="feedback">
4186    <title>Feedback</title>
4187    <sect2 id="reporting-bugs"> 
4188     <title>Reporting Applet Bugs</title>
4189     <para>
4190      GNOME users are encouraged to report bugs to <ulink type="http"
4191      url="http://bugs.gnome.org">The GNOME Bug Tracking
4192      System</ulink>.  The easiest way to submit bugs is to use the
4193      <application>Bug Report Tool</application> program by selecting
4194      <menuchoice>
4195       <guimenu>Main Menu</guimenu> <guisubmenu>Utilities</guisubmenu>
4196       <guimenuitem>Bug Report Tool</guimenuitem> 
4197      </menuchoice>.
4198      Be sure to be complete in describing what you did to cause the
4199      bug to surface and, if possible, describe how the developer can
4200      reproduce the the scenario.
4201     </para>
4202    </sect2>
4203    <sect2 id="documentation-feedback"> 
4204     <title>Providing Feedback</title>
4205     <para>
4206      GNOME users are welcome to provide suggestions for how
4207      applications and documentation can be improved.  Suggestions for
4208      application changes should be submitted using the
4209      <application>Bug Report Tool</application> discussed above.
4210      Suggestions for documentation changes can be emailed directly to
4211      the documentation author (whose email should be included in the
4212      "Authors" section of the document) or by sending an email to
4213      <email>docs@gnome.org</email>. 
4214     </para>
4215    </sect2>
4216    <sect2 id="joining-gnome">  
4217     <title>Joining GNOME</title>
4218     <para>
4219      GNOME is a community project, created by hundreds of programmers,
4220      documentation writers, icon design artists, web masters, and
4221      other people, most of whom work on a volunteer basis.  New GNOME
4222      contributors are always welcome. To join the GNOME team, visit
4223      these web sites: developers &mdash; <ulink type="http"
4224      url="http://developer.gnome.org">The GNOME Development
4225      Site</ulink>, documentation writers &mdash; <ulink type="http"
4226      url="http://developer.gnome.org/projects/gdp">The GNOME Documentation
4227      Project</ulink>, icon design artists &mdash; <ulink type="http"
4228      url="http://gnome-icons.sourceforge.net/">Gnome Icon Web</ulink>,
4229      general &mdash; <ulink type="http"
4230      url="http://developer.gnome.org/helping/">Helping GNOME</ulink>,
4231      or just join the gnome-list email list (see <ulink type="http"
4232      url="http://www.gnome.org/resources/mailing-lists.html">GNOME Mailing
4233      Lists</ulink>) to discuss what you are interested in doing.
4234     </para>
4235    </sect2>
4236   </sect1>
4237  </chapter>
4238
4239  <!-- ############### Template Applets ##################### -->
4240  <chapter id="template-applets">
4241   <title>Template Applets</title>
4242
4243   &TEMPLATE-APPLET
4244
4245  </chapter>
4246
4247 </book>
4248
4249
4250
4251
4252
4253
4254
4255 ]]>
4256         </programlisting>
4257         
4258         <programlisting>
4259 <![CDATA[
4260
4261   <!-- Please replace everywhere below GNOMEAPPLET with the name of -->
4262   <!-- your applet. Most importantly, all id attributes should start -->
4263   <!-- with the name of your applet - this is necessary to avoid name -->
4264   <!-- conflict among different applets --> 
4265   <!-- Please replace YOUR-NAME with your name and YOUR-EMAIL with your email-->
4266   <!-- Please replace HACKER-NAME with the applet author's name and -->
4267   <!-- HACKER-EMAIL with the applet author's email -->
4268
4269   <!-- You should name your file: GNOMEAPPLET-applet.sgml -->
4270   <!-- Screenshots should be in PNG format and placed in the -->
4271   <!-- same directory as GNOMEAPPLET-applet.sgml -->
4272
4273   <!-- Applet docs will be merged into <chapter>'s inside a -->
4274   <!-- <book>. Thus, the indentation below (2 spaces before the <sect1>) is -->
4275   <!-- correct.-->
4276
4277   <!-- Permission is granted to make and distribute verbatim copies of -->
4278   <!-- this manual provided the copyright notice and this permission -->
4279   <!-- notice are  preserved on all copies. -->
4280   <!-- -->
4281   <!-- Permission is granted to copy and distribute modified versions of -->
4282   <!-- this manual under the conditions for verbatim copying, provided -->
4283   <!-- that the entire resulting derived work is distributed under the -->
4284   <!-- terms of a permission notice identical to this one. -->
4285   <!-- -->
4286   <!-- Permission is granted to copy and distribute translations of this -->
4287   <!-- manual into another language, under the above conditions for -->
4288   <!-- modified versions, except that this permission notice may be -->
4289   <!-- stated in a translation approved by the Foundation. -->
4290
4291   <!-- ###############   GNOMEAPPLET   ############### -->
4292   <sect1 id="GNOMEAPPLET">
4293    <title>GNOMEAPPLET Applet</title> 
4294
4295    <para> 
4296     <application>GNOMEAPPLET</application> applet, shown in <xref
4297     linkend="GNOMEAPPLET-fig">, does this and that. To learn how to
4298     add this applet to a <interface>Panel</interface>, see <xref
4299     linkend="adding-applets">. 
4300    </para>
4301   
4302  
4303    <figure id="GNOMEAPPLET-fig">
4304    <title>GNOMEAPPLET</title>
4305    <screenshot>
4306     <screeninfo>GNOMEAPPLET</screeninfo>
4307     <graphic format="png" fileref="GNOMEAPPLET-fig" srccredit="ME">
4308     </graphic>
4309    </screenshot>
4310    </figure>
4311
4312    <sect2 id="GNOMEAPPLET-usage">
4313     <title>Usage</title>
4314     <para>
4315      This applet does nothing. To use it, just
4316      left-click on it and it will instantly do nothing.   
4317     </para>
4318    </sect2>
4319
4320    <sect2 id="GNOMEAPPLET-right-click">
4321     <title>Right-Click Pop-Up Menu Items</title>
4322     <para> 
4323      In addition to the standard menu items (see <xref
4324      linkend="standard-right-click-items">), the right-click pop-up menu has 
4325      the following items: 
4326      <itemizedlist>     
4327       <listitem>
4328        <para>
4329         <guimenuitem>Properties...</guimenuitem> &mdash; This menu
4330         item opens the <interface>Properties</interface> dialog (see
4331         <xref linkend="GNOMEAPPLET-properties">) which allows you to
4332         customize the appearance and behavior of this applet.
4333        </para>
4334       </listitem>
4335       <listitem>
4336        <para>
4337         <guimenuitem>Run Hello World...</guimenuitem> &mdash; This
4338         menu item starts the program <application>Hello
4339         World</application>, used to say "hello" to the world. 
4340        </para>
4341       </listitem>
4342      </itemizedlist>
4343     </para>
4344    </sect2>
4345
4346    <sect2 id="GNOMEAPPLET-properties">
4347     <title>Properties</title>
4348     <para>
4349      You can configure <application>GNOMEAPPLET</application> applet by
4350      right-clicking on the applet and choosing the
4351      <guimenuitem>Properties...</guimenuitem> menu item. This will open the
4352      <interface>Properties</interface> dialog, shown in <xref
4353      linkend="GNOMEAPPLET-properties-fig">.
4354     </para>
4355     <figure id="GNOMEAPPLET-properties-fig">
4356      <title>Properties Dialog</title>
4357      <screenshot>
4358       <screeninfo>Properties Dialog</screeninfo> 
4359       <graphic format="png" fileref="GNOMEAPPLET-properties" srccredit="ME">
4360       </graphic>
4361      </screenshot>
4362     </figure>
4363     
4364     <para> 
4365      To change the color of the applet, click on the
4366      <guibutton>color</guibutton> button. To change other properties,
4367      click on other buttons. 
4368     </para>
4369
4370     <para>
4371      For more information on the <interface>Properties</interface>
4372      dialog, including descriptions of the <guibutton>OK</guibutton>,
4373      <guibutton>Apply</guibutton>, <guibutton>Cancel</guibutton>, and
4374      <guibutton>Help</guibutton> buttons, see <xref
4375      linkend="applet-properties-dialog">.
4376     </para>
4377    </sect2>
4378   
4379    <sect2 id="GNOMEAPPLET-bugs">
4380     <title> Known Bugs and Limitations</title>
4381     <para>
4382      There are no known bugs in the
4383      <application>GNOMEAPPLET</application> applet. 
4384     </para>
4385    </sect2>
4386
4387    <sect2 id="GNOMEAPPLET-authors">
4388     <title>Authors</title>
4389     <para>
4390      This applet was writen by HACKER-NAME
4391      <email>HACKER-EMAIL</email>.  The documentation for this applet
4392      which you are reading now was written by
4393      YOUR-NAME <email>YOUR-EMAIL</email>. For information on submitting
4394      bug reports and suggestions for improvements, see <xref
4395      linkend="feedback">. 
4396     </para>
4397    </sect2>
4398
4399   </sect1>
4400
4401
4402
4403
4404
4405 ]]>
4406
4407
4408 </programlisting>
4409       </para>
4410     </sect1>
4411
4412 <!-- ####### Document Templates | Templates 3: Application Help ####### 
4413
4414     <sect1 id="template3">
4415       <title>Template 2: Application Help</title>
4416       <programlisting>
4417 <![CDATA[(Put sgml here.)]]> </programlisting>
4418     </sect1>
4419
4420 ####### Document Templates | Templates 4: Application Context Sensitive Help #######
4421
4422     <sect1 id="template4">
4423       <title>Template 3: Application Context Sensitive Help</title>
4424       <para>
4425         Context sensitive help is still in development.
4426       </para>
4427     </sect1>
4428
4429 ####### Document Templates | Templates 5: Complete Application: gnome-hello  ####### 
4430
4431     <sect1 id="template5">
4432       <title>Template 4: Complete Application: gnome-hello</title>
4433       <programlisting>
4434 <![CDATA[(Put sgml here.)]]>
4435       </programlisting>  
4436     </sect1>
4437
4438 ####### Document Templates | Templates 6: Tutorial ####### 
4439
4440     <sect1 id="template6">
4441       <title>Template 5: Tutorial</title>
4442       <programlisting>
4443 <![CDATA[(Put sgml here.)]]>
4444       </programlisting>  
4445     </sect1>-->
4446   </appendix>
4447
4448 </article>