blob: ede051df5fe19e53abfc7701647eecebf48bf75c [file] [log] [blame]
Daniel Veillard249d7bb2003-03-19 21:02:29 +00001<?xml version="1.0"?>
Daniel Veillard336a8e12005-08-07 10:46:19 +00002<!DOCTYPE article [
Daniel Veillard249d7bb2003-03-19 21:02:29 +00003<!ENTITY version "1.0.53">
4<!ENTITY mdash "--">
5<!ENTITY hellip "...">
Daniel Veillardcdc82732005-07-08 15:04:06 +00006<!ENTITY copy "&#x00A9;"> <!-- COPYRIGHT SIGN -->
Daniel Veillard249d7bb2003-03-19 21:02:29 +00007 <!-- 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>
481PUBLIC "-//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>
485PUBLIC "-//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
505V1.1//EN"[]>]]>
506 </programlisting>
507 </para>
508 <para>
509 Books:
510 <programlisting>
511<![CDATA[<!DOCTYPE Book PUBLIC "-//GNOME//DTD DocBook PNG Variant
512V1.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
1000Documentation 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
1021Components ####### -->
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]
1395Name=Gnumeric spreadsheet
1396Exec=gnumeric
1397Icon=gnome-gnumeric.png
1398Terminal=0
1399Type=Application
1400</programlisting>]]>
1401 </programlisting>
1402 which produces
1403 <programlisting>
1404[Desktop Entry]
1405Name=Gnumeric spreadsheet
1406Exec=gnumeric
1407Icon=gnome-gnumeric.png
1408Terminal=0
1409Type=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>
1422make: *** No rule to make target `love'. Stop.
1423</screen>]]>
1424 </programlisting>
1425 which produces
1426 <screen>
1427<prompt>bash$</prompt><userinput>make love</userinput>
1428make: *** 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"
1699url="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>
2051One line for each 'topic'.
2052
2053Two columns, as defined by perl -e 'split(/\s+/,$aline,2)'
2054
2055First column is the HTML file (and optional section) for the topic,
2056relative to the app's help file dir.
2057
2058Second 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>
2063gnumeric.html Gnumeric manual
2064function-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>
2086GnomeUIInfo 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>
2138gchar *tmp;
2139tmp = gnome_help_file_find_file ("module", "page.html");
2140if (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 */
2219applet_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>
2238applet_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
2483GDP 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>