summaryrefslogtreecommitdiff
path: root/test/relaxng/docbook_0.xml
diff options
context:
space:
mode:
Diffstat (limited to 'test/relaxng/docbook_0.xml')
-rw-r--r--test/relaxng/docbook_0.xml4448
1 files changed, 0 insertions, 4448 deletions
diff --git a/test/relaxng/docbook_0.xml b/test/relaxng/docbook_0.xml
deleted file mode 100644
index ede051d..0000000
--- a/test/relaxng/docbook_0.xml
+++ /dev/null
@@ -1,4448 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE article [
-<!ENTITY version "1.0.53">
-<!ENTITY mdash "--">
-<!ENTITY hellip "...">
-<!ENTITY copy "&#x00A9;"> <!-- COPYRIGHT SIGN -->
- <!-- replace version above with actual application version number-->
- <!-- Template Version: 1.0.1 (do not remove this line) -->
-
-
-
-<!ENTITY APPLET-TEMPLATE-1x-SHELL SYSTEM
-"templates/applet_template_1-applet.sgml.cdata">
-<!ENTITY APPLET-TEMPLATE-1x SYSTEM
-"templates/applet_template_1.sgml.cdata">
-]>
-
-<!-- Version: 1.0.1 -->
-
-<article id="index">
- <articleinfo>
-
- <authorgroup>
-
- <author>
- <firstname>David</firstname>
- <surname>Mason</surname>
- <affiliation>
- <orgname>Red Hat, Inc.</orgname>
- <address>
- <email>dcm@redhat.com</email>
- </address>
- </affiliation>
- </author>
-
- <author>
- <firstname>Daniel</firstname>
- <surname>Mueth</surname>
- <affiliation>
- <address>
- <email>d-mueth@uchicago.edu</email>
- </address>
- </affiliation>
- </author>
-
- <author>
- <firstname>Alexander</firstname>
- <surname>Kirillov</surname>
- <affiliation>
- <address>
- <email>kirillov@math.sunysb.edu</email>
- </address>
- </affiliation>
- </author>
-
- </authorgroup>
-
- <releaseinfo>
- This is a pre-release!
- </releaseinfo>
-
- <revhistory>
- <revision>
- <revnumber>
- 0.99
- </revnumber>
- <date>
- 04.10.2000
- </date>
- </revision>
- </revhistory>
-
- <copyright>
- <year>2000</year>
- <holder>Red Hat, Inc., Daniel Mueth, and Alexander Kirillov</holder>
- </copyright>
-
- <legalnotice>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the <citetitle>GNU Free Documentation
- License</citetitle>, Version 1.1 or any later version published
- by the Free Software Foundation with no Invariant Sections, no
- Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy
- of the <citetitle>GNU Free Documentation License</citetitle> from
- the Free Software Foundation by visiting <ulink type="http"
- url="http://www.fsf.org">their Web site</ulink> or by writing to:
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
- </para>
- <para>
- Many of the names used by companies to distinguish their products and
- services are claimed as trademarks. Where those names appear in any
- GNOME documentation, and those trademarks are made aware to the members
- of the GNOME Documentation Project, the names have been printed in caps
- or initial caps.
- </para>
- </legalnotice>
-
- <title>The GNOME Handbook of Writing Software Documentation</title>
-
- </articleinfo>
-
- <!-- ################# Introduction ############### -->
-
- <sect1 id="intro">
- <title>Introduction</title>
-
- <!-- ####### Introduction | The GNOME Documentation Project ####### -->
-
- <sect2 id="gdp">
- <title>The GNOME Documentation Project</title>
-
- <sect3 id="goals">
- <title>Goals</title>
- <para>
- The GNOME Documentation Project (GDP) aims to provide GNOME
- and GNOME applications with a complete, intuitive, and clear
- documentation system. At the center of the GDP is the
- <application>GNOME Help Browser</application>, which
- presents a unified interface to GNOME-specific documentation
- as well as other Linux documentation such as man pages and
- texinfo documents. The GNOME Help System provides a
- comprehensive view of documentation on a machine by
- dynamically assembling the documentation of GNOME
- applications and components which are installed. The GDP is
- responsible for writing numerous GNOME-related documents,
- both for developers and for users. Developer documentation
- includes <ulink url="http://developer.gnome.org/doc/API/"
- type="http">APIs for the GNOME libraries</ulink>, <ulink
- url="http://developer.gnome.org/doc/whitepapers/"
- type="http"><citetitle>GNOME White
- Papers</citetitle></ulink>, GNOME developer <ulink
- url="http://developer.gnome.org/doc/tutorials/"
- type="http">tutorials</ulink>, the <ulink
- url="http://developer.gnome.org/doc/FAQ/"
- type="http"><citetitle>GNOME Developer
- FAQ</citetitle></ulink>, the <ulink
- url="http://developer.gnome.org" type="http">GNOME
- Developer's Website</ulink>, and <citetitle>GNOME
- Handbook</citetitle>'s, such as the one you are reading.
- User documentation include the <ulink
- url="http://www.gnome.org/learn/"
- type="http"><citetitle>GNOME User's
- Guide</citetitle></ulink>, the <ulink
- url="http://www.gnome.org/learn/"
- type="http"><citetitle>GNOME FAQ</citetitle></ulink>, and
- GNOME application documentation. Most GNOME applications
- have their own manual in addition to context sensitive help.
- </para>
- </sect3>
-
- <sect3 id="joining">
- <title>Joining the GDP</title>
- <para>
- Documenting GNOME and all the numerous GNOME applications is
- a very large project. The GDP is always looking for people
- to help write, update, and edit documentation. If you are
- interested in joining the GDP team, you should join the
- <ulink url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
- <citetitle>gnome-doc-list mailing list</citetitle> </ulink>.
- Read <xref linkend="gettingstarted" />, for help selecting a
- project to work on. Feel free to introduce yourself on the
- gnome-doc-list mailing list and indicate which project you
- intend to work on, or else ask for suggestions of important
- documents which need work done. You may also want to join the
- #docs IRC channel on irc.gnome.org to meet other GDP members
- and discuss any questions you may have. For a list of GDP
- projects and members, see the
- <ulink url="http://developer.gnome.org/projects/gdp">
- <citetitle>GDP Website</citetitle></ulink>.
- </para>
- </sect3>
-
- <sect3 id="collaborating">
- <title>Collaborating with the GDP</title>
- <para>
- GNOME developers, packagers, and translators may not be
- writing GNOME documentation but will want to understand how
- the GNOME documentation system works and will need to
- collaborate with GDP members. This document should help to
- outline the structure of how the GNOME documentation system
- works. Developers who do not write the documentation for
- their applications are encouraged to find a GDP member to
- write the documentation. This is best done by sending an
- email to the <ulink
- url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
- <citetitle>gnome-doc-list mailing list</citetitle> </ulink>
- describing the application, where it can be downloaded from,
- and that the developer(s) would like a GDP member to write
- documentation for the application. The #docs IRC channel on
- irc.gnome.org is another option for contacting GDP members.
- </para>
- </sect3>
- </sect2>
-
- <!-- ####### Introduction | Notation and Conventions ####### -->
-
- <sect2 id="notation">
- <title>Notation and Conventions</title>
- <para>
- This Handbook uses the following notation:
- <informaltable frame="none">
- <tgroup cols="2">
- <tbody>
- <row>
- <entry>
- <filename class="directory">/usr/bin</filename>
- </entry>
- <entry>
- Directory
- </entry>
- </row>
- <row>
- <entry>
- <filename>foo.sgml</filename>
- </entry>
- <entry>
- Filename
- </entry>
- </row>
- <row>
- <entry>
- <command>command</command>
- </entry>
- <entry>
- Command or text that would be typed.
- </entry>
- </row>
- <row>
- <entry>
- <command><replaceable>replaceable</replaceable></command>
- </entry>
- <entry>
- "Variable" text that can be replaced.
- </entry>
- </row>
- <row>
- <entry>
- <literal>Program or Doc Code</literal>
- </entry>
- <entry>Program or document code</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </para>
- </sect2>
-
- <!-- ####### Introduction | About This Handbook ####### -->
-
- <sect2 id="about">
- <title>About This Handbook</title>
- <para>
- This Handbook is a guide for both writing documentation for
- GNOME components and applications and for properly binding and
- packaging documentation into GNOME applications.
- </para>
- <para>
- This Handbook, like all GNOME documentation, was written in
- DocBook(SGML) and is available in several formats including
- SGML, HTML, PostScript, and PDF. For the latest version, see
- <ulink
- url="http://developer.gnome.org/projects/gdp/handbook.html">
- <citetitle>Getting The GNOME Handbook of Writing Software
- Documentation</citetitle> </ulink>. Alternately, one may
- download it anonymously from GNOME CVS under <filename
- class="directory">gnome-docu/gdp</filename>.
- </para>
- </sect2>
- </sect1>
-
-<!-- ################# Getting Started ############### -->
-
- <sect1 id="gettingstarted">
- <title>Getting Started Writing GNOME Documentation</title>
-
-<!--####### Getting Started | Selecting A Document ####### -->
-
- <sect2 id="selecting">
- <title>Selecting A Document</title>
-
- <sect3 id="know">
- <title>Document Something You Know</title>
- <para>
- The most frequently asked question of new contributors who
- join the GDP is "which document should I start
- with?". Because most people involved are volunteers, we do
- not <emphasis>assign</emphasis> projects and applications to
- write documents for. The first step is all yours - you must
- decide what about GNOME interests you most and find out if
- it has complete documents or not.
- </para>
- <para>
- It is also important to spend some time with GNOME to make
- sure you are familiar enough with it to be
- <emphasis>authoritative</emphasis> in your writing. The
- best way to do this is to just sit down and play with GNOME
- as much as possible before starting to write.
- </para>
- <para>
- The easiest way to get started is to improve existing
- documentation. If you notice some inaccuracies or omissions
- in the documentation, or you think that you can explain the
- material more clearly, just send your suggestions to the
- author of the original documentation or to the GNOME
- documentation project at <email>docs@gnome.org</email>.
- </para>
- </sect3>
-
- <sect3 id="doctable">
- <title>The GNOME Documentation Status Table</title>
- <para>
- The <citetitle>GDP Documentation Status Table</citetitle>
- (<citetitle>DocTable</citetitle>) (<ulink
- url="http://www.gnome.org/gdp/doctable/"
- type="http">http://www.gnome.org/gdp/doctable/</ulink>) is a
- web page which tracks the status of all the various
- documentation components of GNOME. These components include
- application documentation, internal GNOME component
- documentation, user documentation, and developer
- documentation. For each documentation item, it tracks the
- current status of the documentation, who is working on the
- particular document, where the documentation can be found,
- and provides a forum for the discussion of each item.
- </para>
- <para>
- You should use the <citetitle>DocTable</citetitle> to help
- you select a documentation item which needs work done. Once
- you have selected an item to work on, please register
- yourself as an author so that other authors do not duplicate
- your work and may contact you to help or offer suggestions.
- Also be sure to keep the status icons up-to-date so that
- the GDP team can easily identify which items need additional
- help. The <citetitle>DocTable</citetitle> also allows
- people to make announcements and suggestions and to discuss
- issues in the comments section.
- </para>
- <note>
- <title>Note</title>
- <para>
- Note that the information in the
- <citetitle>DocTable</citetitle> may not always be up-to-date
- or accurate. When you assign yourself to documenting an
- application, make sure you find out the latest status of
- documentation by contacting the application author.
- </para>
- </note>
- </sect3>
- </sect2>
-
-<!-- ####### Getting Started | Installing And Using DocBook ####### -->
-
- <sect2 id="docbook">
- <title>Installing and Using DocBook</title>
- <para>
- All documentation for the GNOME project is written in SGML
- using the DocBook DTD. There are many advantages to using
- this for documentation, not least of which is the single
- source nature of SGML. To contribute to the GDP you should
- learn to use DocBook.
- </para>
- <note>
- <title>NOTE</title>
- <para>
- To get started writing for the GDP you do not need to rush
- out and learn DocBook - if you feel it is too much to handle
- for now, you can submit plain ASCII text to the <ulink
- url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
- <citetitle>gnome-doc-list mailing list</citetitle>
- </ulink>and a volunteer will mark it up for you. Seeing your
- document marked up will also be a great way for you to start
- learning DocBook.
- </para>
- </note>
- <sect3 id="installingdocbook">
- <title>Installing DocBook</title>
- <para>
- Download and install the following <ulink
- url="ftp://sourceware.cygnus.com:/pub/docbook-tools/"
- type="ftp">DocBook Tools packages</ulink>: jade, docbook,
- jadetex, sgml-common, and stylesheets. (RPM users should note
- that jade is platform dependent (eg. i386), while the other packages
- are in the <filename class="directory">noarch</filename>
- directory.) You can find more
- information on DocBook Tools <ulink url="
- http://sourceware.cygnus.com/docbook-tools/"
- type="http">here</ulink>.
- </para>
- <para>
- If you are an <application>Emacs</application> user you may
- want to grab the psgml package as well. This is a major mode
- for editing sgml files in <application>Emacs</application>.
- </para>
- </sect3>
-
- <sect3 id="gdpstylesheets">
- <title>GDP Stylesheets</title>
- <para>
- The GDP uses its own DocBook stylesheets. To use the GDP
- stylesheets, you should download the file
- <filename>gdp-both.dsl</filename> from the <filename
- class="directory">gnome-docu/gdp/dsssl</filename> module in
- CVS (or from <ulink
- url="http://developer.gnome.org/projects/gdp/stylesheets.html">
- GDP Custom DSSSL Stylesheet</ulink>)and copy it
-<!-- into <filename
- class="directory">/usr/lib/sgml/stylesheets</filename>. You
- will need to point DocBook Tools to this stylesheet with the
- <command><option>-d</option></command> option:
- <command>db2html -d /usr/lib/sgml/stylesheets/gdp-both.dsl
- <replaceable>foo.sgml</replaceable></command>. (Creating an
- alias to include this option and path is convenient.)
- Alternately, you could overwrite
- <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>
- with <filename>gdp-both.dsl</filename>.
--->
- over the file
- <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>.
- Alternately, you can download and install the
- <ulink url="http://people.redhat.com/dcm/software.html"
- type="http">gnome-doc-tools package</ulink> which will set
- up the stylesheets as well as the DTD discussed below.
- </para>
-
-<!-- <note>
- <para>
- The current version of the DocBook Tools command
- <command>db2ps</command> does not have a
- <command><option>-d</option></command> option. In order to
- create PostScript output, you must overwrite
- <filename>/usr/lib/sgml/stylesheets/cygnus-both.dsl</filename>
- with <filename>gdp-both.dsl</filename>.
- </para>
- </note>
--->
- </sect3>
-
- <sect3 id="gdpdtd">
- <title>GDP DTD (PNG Image Support)</title>
- <para>
- Due to some license issues involved with the creation of
- gifs, the GNOME Documentation Project has decided to use the
- PNG image format for all images in GNOME documentation. You
- can read more about the issues involved with gifs at <ulink
- url="http://www.gnu.org/philosophy/gif.html"
- type="http">http://www.gnu.org/philosophy/gif.html</ulink>.
- </para>
- <para>
- The current DocBook DTD(3.1) does not include support for
- embedding PNG images in your documents. Since the GDP uses
- many screenshots in its documentation, we use our own
- variation on the DocBook DTD which has PNG image support.
- We encourage everybody to use this DTD instead of the
- default DocBook DTD since your source document header and
- your output document appearance subtly vary between the two
- DTD's. To install the GDP custom DTD with PNG image support
- by hand:
- </para>
- <itemizedlist mark="opencircle">
- <listitem>
- <para>
- Download <ulink
- url="http://www.labs.redhat.com/png/png-support.html">the
- GDP DocBook DTD for PNG support</ulink> and install it
- where you keep your DTD's. (On Red Hat use <filename
- class="directory">/usr/lib/sgml/</filename>.) Note that
- the 3.0 DTD is missing support for the
- <sgmltag>&lt;legalnotice></sgmltag> tag, so it is
- recommended that you use version 3.1
- </para>
- </listitem>
- <listitem override="bullet">
- <para>
- Add the new DTD to your SGML CATALOG file. The location
- of your SGML CATALOG file may vary depending upon your
- distribution. (On Red Hat it is usually in
- /usr/lib/sgml/CATALOG.) Add the following line to this
- file:
- <programlisting>
-PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.0//EN" "png-support-3.0.dtd"
- </programlisting>
- If you are using the 3.1 DTD, use:
- <programlisting>
-PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN" "png-support-3.1.dtd"
- </programlisting>
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Alternately, you can download and install the
- <ulink url="http://people.redhat.com/dcm/software.html"
- type="http">gnome-doc-tools package</ulink> which will set
- up the custom stylesheets and DTD for you.
- </para>
- <para>
- To include PNG files in your documents, you will need to
- indicate that you are using this special DTD. To do
- this, use the following headers:
- </para>
- <para>
- Articles:
- <programlisting>
-<![CDATA[<!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant
-V1.1//EN"[]>]]>
- </programlisting>
- </para>
- <para>
- Books:
- <programlisting>
-<![CDATA[<!DOCTYPE Book PUBLIC "-//GNOME//DTD DocBook PNG Variant
-V1.1//EN"[]>]]>
- </programlisting>
- </para>
-
- </sect3>
-
- <sect3 id="editors">
- <title>Editors</title>
- <para>
- There are many editors on Linux and UNIX systems available
- to you. Which editor you use to work on the sgml documents
- is completely up to you, as long as the editor is able to
- preserve sgml and produce the source in a format that is
- readable by everyone.
- </para>
- <para>
- Probably the two most popular editors available are
- <application>Emacs</application> and
- <application>vi</application>. These and other editors are
- used regularly by members of the GDP. Emacs has a major
- mode, psgml, for editing sgml files which can save you time
- and effort in adding and closing tags. You will find the
- psgml package in DocBook Tools, which is the standard set of
- tools for the GDP. You may find out more about DocBook Tools
- in <xref linkend="installingdocbook" />.
- </para>
- </sect3>
-
- <sect3 id="make-output">
- <title>Creating Something Useful with your Docs</title>
- <para>
- The tools available in DocBook Tools allow you to convert
- your sgml document to many different formats including html
- and Postscript. The primary tool used to do the conversion
- is an application called <application>Jade</application>. In
- most cases you will not have to work directly with
- <application>Jade</application>; Instead, you will use the
- scripts provided by DocBook Tools.
- </para>
- <para>
- To preview your DocBook document, it is easiest to convert
- it to <filename>html</filename>. If you have installed the
- DocBook tools described above, all you have to do is to run
- the command <prompt>$</prompt><command>db2html
- mydocument.sgml</command>. If there are no sgml syntax
- errors, this will create a directory <filename
- class="directory">mydocument</filename> and place the
- resulting html files in it. The title page of the document
- will typically be
- <filename>mydocument/index.html</filename>. If you have
- screenshots in your document, you will have to copy these
- files into the <filename
- class="directory">mydocument</filename> directory by
- hand. You can use any web browser to view your document.
- Note that every time you run <command>db2html</command>, it
- creates the <filename
- class="directory">mydocument</filename> directory over, so
- you will have to copy the screenshots over each time.
- </para>
- <para>
- You can also convert your document to PostScript by running
- the command <prompt>$</prompt><command>db2ps
- mydocument.sgml</command>, after which you can print out or
- view the resulting .ps file.
- </para>
- <note>
- <title>NOTE</title>
- <para>
- The html files you get will not look quite the same as the
- documentation distributed with GNOME unless you have the
- custom stylesheets installed on your machine. DocBook
- Tools' default stylesheets will produce a different look
- to your docs. You can read more about the GDP stylesheets
- in <xref linkend="gdpstylesheets" />.
- </para>
- </note>
- </sect3>
-
- <sect3 id="jadeimages">
- <title>Images in DocBook Tools</title>
- <para>
- If your document uses images you will need to take note of a
- few things that should take place in order for you to make
- use of those images in your output.
- </para>
- <para>
- The DocBook Tools scripts and applications are smart enough
- to know that when you are creating html you will be using
- PNG files and when you are creating Postscript you will be
- using EPS files (you must use EPS with Postscript).
- </para>
- <para>
- Thus, you should never explicitly
- include the extension of the image file, since DocBook
- Tools will automatically insert it for you. For example:
- </para>
- <programlisting>
-<![CDATA[
-<figure>
- <title>My Image</title>
- <screenshot>
- <screeninfo>Sample GNOME Display</screeninfo>
- <graphic format="png" fileref="myfile" srccredit="me">
- </graphic>
- </screenshot>
-</figure>
-]]> </programlisting>
- <para>
- You will notice in this example that the file
- <filename>myfile.png</filename> was referred to as simply
- <filename>myfile</filename>. Now when you run
- <command>db2html</command> to create an html file, it will
- automatically look for <filename>myfile.png</filename> in
- the directory.
- </para>
- <para>
- If you want to create PostScript ouput, you will need to create an
- EPS version of your image file to be displayed in the
- PostScript file. There is a simple script available which
- allows you to change a PNG image into an EPS file
- easily. You can download this file - img2eps - from <ulink
- url="http://people.redhat.com/dcm/sgml.html"
- type="html">http://people.redhat.com/dcm/sgml.html</ulink>
- (look for the img2eps section). Note that this script is
- included in the gnome-doc-tools package, so if you are using
- this package, you should already have
- <command>img2eps</command> on you system.
- </para>
- </sect3>
-
- <sect3 id="moredocbookinfo">
- <title>Learning DocBook</title>
- <para>
- There are many resources available to help you learn DocBook.
- The following resources on the web are useful for learning
- DocBook:
- </para>
- <itemizedlist mark="bullet">
- <listitem>
- <para>
- <ulink url="http://www.docbook.org"
- type="http">http://www.docbook.org</ulink> - Norman
- Walsh's <citetitle>DocBook: The Definitive
- Guide</citetitle>. Online O'Reilly book on using
- DocBook. Contains an excellent element reference. May be
- too formal for a beginner.
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink
- url="http://www.oswg.org/oswg-nightly/oswg/en_US.ISO_8859-1/articles/DocBook-Intro/docbook-intro/index.html"
- type="http">A Practical Introduction to DocBook</ulink>
- - The Open Source Writers Group's introduction to using
- DocBook. This is an excellent HOW-TO type article on
- getting started.
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink
- url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro/docbook-intro.html"
- type="http">Getting Going with DocBook: Notes for
- Hackers</ulink> - Mark Galassi's introduction to DocBook
- for hackers. This has to be one of the first
- introductions to DocBook ever - still as good as it ever
- was.
- </para>
- </listitem>
- <listitem>
- <para>
- <ulink type="http" url="http://www.freebsd.org/tutorials/docproj-primer/">
- FreeBSD Documentation Project Primer for New
- Contributors</ulink> - FreeBSD documentation project
- primer. Chapter 4.2 provides a very good introduction to
- writing documentation using DocBook. Note that it also
- describes some custom extensions of DocBook;
- fortunately, they are clearly marked as such.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Norman Walsh's book is also available in print.
- </para>
- <para>
- The following sections of this document are designed to help
- documentation authors write correct and consistent DocBook:
- </para>
- <itemizedlist mark="bullet">
- <listitem>
- <para>
- <xref linkend="docbookbasics" /> - Descriptions of
- commonly used DocBook tags.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- You may also discuss specific DocBook questions with GDP
- members on the #docs IRC channel at irc.gnome.org and on the
- gnome-doc-list mailing list.
- </para>
- </sect3>
- </sect2>
-
-<!-- ####### Getting Started | GDP Document Examples ####### -->
-<!--
- <sect2 id="examples">
- <title>GDP Document Examples</title>
- <para>
- Examples of various types of GNOME documents are found in
- <xref linkend="examples" />. There is also an example GNOME
- application with documentation called
- <application>gnome-hello</application> in GNOME cvs.
- </para>
- </sect2>
--->
-<!-- ####### Getting Started | GDP Document Templates ####### -->
-
- <sect2 id="gdptemplates">
- <title>GDP Document Templates</title>
- <para>
- Templates for various types of GNOME documents are found in
- <xref linkend="templates" />. They are kept in CVS in
- gnome-docu/gdp/templates. The easiest source to get them from
- is probably the <ulink
- url="http://developer.gnome.org/projects/gdp/templates.html"
- type="http">GDP
- Document Templates</ulink> web page, which is typically kept
- completely up-to-date with CVS and has a basic description of
- each file from CVS.
- </para>
- </sect2>
-
-<!-- ####### Getting Started | Screenshots ####### -->
-
- <sect2 id="screenshots">
- <title>Screenshots</title>
- <para>
- Most GNOME documents will have screenshots of the particular
- applet, application, GNOME component, or widget being
- discussed. As discussed above in <xref linkend="gdpdtd"/> you
- will need to install the special GDP DocBook DTD which
- supports PNG images, the format used for all images in GNOME
- documentation. For the basic DocBook structure used to insert
- images in a document, see <xref linkend="jadeimages"/> above.
- </para>
- <sect3 id="screenshotappearance">
- <title>Screenshot Appearance</title>
- <para>
- For all screenshots of windows that typically have border
- decorations (e.g. applications and dialogs, but not applets
- in a <interface>panel</interface>), GDP standards dictate
- the appearance of the window. (This is to minimize possible
- confusion to the reader, improve the appearance of GNOME
- documents, and guarantee the screenshot is readable when
- printed.) All screenshots should be taken with the SawFish
- (formerly known as Sawmill) window manager using the
- MicroGui theme and Helvetica 12pt font. (A different window
- manager can be used provided the MicroGui theme is available
- for this window manager and the appearance is identical to
- that when using the SawFish window manager.) The default
- GTK+ theme(gtk) and font (Helvetica 12 pt) should be used
- for all screenshots. If you are unable to provide
- screenshots in this form, you should create screenshots as
- you wish them to appear and send them to the
- <ulink url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
- <citetitle>gnome-doc-list mailing list</citetitle> </ulink>
- requesting a GDP member reproduce these screenshots in the
- correct format and email them to you.
- </para>
- </sect3>
- <sect3 id="screenshottools">
- <title>Screenshot Tools</title>
- <para>
- There are many tools for taking screenshots in
- GNOME/Linux. Perhaps the most convenient is the
- <application>Screen-Shooter Applet</application>. Just click
- on the window icon in the applet and then on the window you
- would like to take a screenshot of. (Note that
- at the time of this writing, PNG images taken by
- screenshooter do not appear properly in
- <application>Netscape</application> or the
- <application>GNOME Help Browser</application>. You
- should save your screenshot as a GIF and
- then use <command>convert filename.gif
- filename.png</command>.) For applets
- in a <interface>Panel</interface>,
- <application>xv</application> can be used to crop the
- screenshot to only include the relevant portion of the
- <interface>Panel</interface>. Note that
- <application>xv</application> and
- <application>gimp</application> can both be used for taking
- screenshots, cropping screenshots, and converting image
- formats.
- </para>
- </sect3>
- <sect3 id="screenshotfiles">
- <title>Screenshot Files</title>
- <para>
- Screenshots should be kept in the main documentation
- directory with your SGML file for applets, or should be
- kept in a directory called "figs" for application and other
- documentation. After you use <command>db2html</command> to
- convert your SGML file to HTML (see <xref
- linkend="make-output"/>), you will need to copy your
- screenshots (either the individual PNG files for applet
- documentation, or the whole "figs" directory for other
- documentation) into the newly created HTML directory. Note
- that every time you use <command>db2html</command> the HTML
- directory is erased and rewritten, so do not store your only
- copy of the screenshots in that directory. If you wish to
- create PostScript or PDF output, you will need to manually
- convert the PNG images to EPS as described in <xref
- linkend="jadeimages"/>, but will not need to copy these
- images from their default location, as they are included
- directly into the output(PostScript of PDF) file.
- </para>
- </sect3>
- </sect2>
-
-
-<!-- ####### Getting Started | Application Bugs ####### -->
-
- <sect2 id="applicationbugs">
- <title>Application Bugs</title>
- <para>
- Documentation authors tend to investigate and test applets and
- applications more thoroughly than most
- users. Often documentation authors will discover one or
- more bugs in the software. These bugs vary from small ones,
- such as mis-spelled words or missing
- <interface>About</interface> dialogs in the menu, to large
- ones which cause the applet to crash. As all users, you
- should be sure to report these bugs so that application
- developers know of them and can fix them. The easiest way to
- submit a bug report is by using the <application>Bug
- Buddy</application> applet which is part of the gnome-applets
- package.
- </para>
- </sect2>
-
-
-<!-- ####### Getting Started | Using CVS ####### -->
-
- <sect2 id="cvs">
- <title>Using CVS</title>
- <para>
- CVS (Concurrent Versions System) is a tool that allows
- multiple developers to concurrently work on a set of
- documents, keeping track of the modifications made by each
- person. The files are stored on a server and each developer
- checks files out, modifies them, and then checks in their
- modified version of the files. Many GNOME programs and
- documents are stored in CVS. The GNOME CVS server allows
- users to anonymously check out CVS files. Most GDP members
- will need to use anonymous CVS to download the most up-to-date
- version of documentation or programs. Modified documents will
- typically be emailed to the the application developer. Core
- GDP members may also be granted login CVS privileges so they
- may commit modified files directly to CVS.
- </para>
-
- <sect3 id="anonymouscvs">
- <title>Anonymous CVS</title>
- <para>
- To anonymously check out documents from CVS, you must first
- log in. From the bash shell, you should set your CVSROOT
- shell variable with <command> export
- CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'</command>
- and then login with <command>cvs login</command>(there is no
- password, just hit return). As an example, we will use the
- "gnome-docu/gdp" module which contains this and several
- other documents. To check these documents out for the first
- time, type <command>cvs -z3 checkout
- gnome-docu/gdp</command>. After you have this document
- checked out and you would like to download any updates on
- the CVS server, use <command>cvs -z3 update -Pd</command>.
- </para>
- </sect3>
-
- <sect3 id="logincvs">
- <title>Login CVS</title> <para> If you have been given a
- login for the GNOME CVS server, you may commit your file
- modifications to CVS. Be sure to read the following section
- on CVS etiquette before making any commits to CVS. To log in
- to the CVS server as user
- <command><replaceable>username</replaceable></command> with a
- password, you must first set your CVSROOT shell variable with
- <command> export
- CVSROOT=':pserver:<replaceable>username</replaceable>@cvs.gnome.org:/cvs/gnome'</command>.
- Log in with <command>cvs login</command> and enter your
- password. You may check out and update modules as described
- above for anonymous CVS access. As a login CVS user, you may
- also check modified versions of a file into the CVS server.
- To check
- <command><replaceable>filename</replaceable></command> into
- the CVS server, type <command>cvs -z3 commit
- <replaceable>filename</replaceable></command>. You will be
- given a vi editor window to type in a brief log entry,
- summarizing your changes. The default editor can be changed
- using the <varname>EDITOR</varname> environment variable or
- with the <command><option>-e</option></command> option. You
- may also check in any modifications to files in the working
- directory and subdirectories using <command>cvs -z3
- commit</command>. To
- add a new file to the CVS server, use <command>cvs -z3 add
- <replaceable>filename</replaceable></command>, followed by the
- commit command.
- </para>
- </sect3>
-
- <sect3 id="cvsetiquette">
- <title>CVS Etiquette</title>
- <para>
- Because files in CVS are typically used and modified by
- multiple developers and documentation authors, users should
- exercise a few simple practices out of courtesy towards the
- other CVS users and the project leader. First, you should
- not make CVS commits to a package without first discussing
- your plans with the project leader. This way, the project
- leader knows who is modifying the files and generally, what
- sort of changes/development is being done. Also, whenever a
- CVS user commits a file to CVS, they should make an entry in
- the CVS log and in the <filename>ChangeLog</filename> so
- that other users know who is making modifications and what
- is being modified. When modifying files created by others,
- you should follow the indentation scheme used by the initial
- author.
- </para>
- </sect3>
- </sect2>
- </sect1>
-
-<!-- ################# The GNOME Documentation System###############
--->
-
- <sect1 id="gnomedocsystem">
- <title>The GNOME Documentation System</title>
-
-<!-- ####### The GNOME Documentation System | The GNOME Help Browser
-####### -->
-
- <sect2 id="gnomehelpbrowser">
- <title>The GNOME Help Browser</title>
- <para>
- At the core of the GNOME help system is the <application>GNOME
- Help Browser</application>. The <application>Help
- Browser</application> provides a unified interface to several
- distinct documentation systems on Linux/Unix systems: man
- pages, texinfo pages, Linux Documentation Project(LDP)
- documents, GNOME application documentation, and other GNOME
- documents.
- </para>
- <para>
- The <application>GNOME Help Browser</application> works by
- searching standard directories for documents which are to be
- presented. Thus, the documentation that appears in the GHB is
- specific to each computer and will typically only represent
- software that is installed on the computer.
- </para>
- </sect2>
-
-<!-- ####### The GNOME Documentation System | The GNOME Help Browser
-####### -->
-
- <sect2 id="gnomehelpbrowser2">
- <title>The GNOME Help Browser (GNOME-2.0)</title> <para> In
- GNOME 2.0, the <application>GNOME Help Browser</application>
- will be replaced by <application>Nautilus</application>.
- Nautilus will be the file manager/graphical shell for GNOME 2.0
- and will also implement a more sophisticated help system than
- that used by the <application>GNOME Help Browser</application>
- used in GNOME 1.0. It will read and display DocBook files
- directly, avoiding the need for duplicating documents in both
- DocBook and HTML formats. Its display engine for DocBook will
- be much faster than running <application>jade</application> to
- convert to HTML for rendering. Because it uses the original
- DocBook source for documentation, it will be possible to do more
- sophisticated searching using the meta information included in
- the documents. And since Nautilus is a virtual file system
- layer which is Internet-capable, it will be able to find and
- display documents which are on the web as well as those on the
- local file system. For more information on
- <application>Nautilus</application>, visit the #nautilus IRC
- channel on irc.gnome.org. </para>
- </sect2>
-
-<!-- ####### The GNOME Documentation System | GNOME On-The-Fly
-Documentation Generation ####### -->
-
- <sect2 id="gnomehelponthefly">
- <title>Dynamic Document Synthesis(GNOME-2.0)</title>
- <para>
- GNOME uses the documentation presented by all the various
- GNOME components and applications installed on the system to
- present a complete and customized documentation environment
- describing only components which are currently installed on a
- users system. Some of this documentation, such as the manuals
- for applets, will be combined in such a way that it appears to
- be a single document.
- </para>
- <para>
- By using such a system, you can be sure that any GNOME app you
- install that has documentation will show up in the index,
- table of contents, any search you do in the help browser.
- </para>
- </sect2>
-
-<!-- ####### The GNOME Documentation System | The GNOME Documentation
-Components ####### -->
-
- <sect2 id="gnomehelpcomponents">
- <title>The GNOME Documentation Components</title>
-
- <sect3 id="applicationmanualsintro">
- <title>Application Manuals</title>
- <para>
- Every GNOME application should have an application manual.
- An application manual is a document specific to the
- particular application which explains the various windows
- and features of the application. Application Manuals
- typically use screenshots (PNG format) for clarity. Writing
- application manuals is discussed in more detail in <xref
- linkend="writingapplicationmanuals" /> below.
- </para>
- </sect3>
-
- <sect3 id="applicationhelpintro">
- <title>Application Help</title>
- <para>
- Applications should have a <guibutton>Help</guibutton>
- button on screens on which users may need help. These
- <guibutton>Help</guibutton> buttons should pull up the
- default help browser, determined by the
- <varname>ghelp</varname> URL Handler (configured using the
- <application>Control Center</application>), typically the
- <application>GNOME Help Browser</application>. The help
- browser should show either the first page of the application
- manual, or else the relevant page thereof. Application help
- is described in more detail in <xref
- linkend="applicationhelpbuttons" /> below.
- </para>
- </sect3>
-
- <sect3 id="contextsensitivehelpintro">
- <title>Application Context Sensitive Help (coming in
- GNOME-2.0)</title>
- <para>
- Context sensitive help is a system which will allow the user
- to query any part (button, widget, etc.) of an application
- window. This is done by either entering a CS Help mode by
- clicking on an icon or by right clicking on the application
- part and selecting "What's This" or whatever is decided on
- at the time. Context sensitive help is described in more
- detail in <xref linkend="writingcontextsensitivehelp" />
- below.
- </para>
- </sect3>
-
- <sect3 id="userguide">
- <title>The GNOME User Guide</title>
- <para>
- The <citetitle>GNOME User Guide</citetitle> describes the
- GNOME desktop environment and core components of GNOME such
- as the <application>panel</application> and
- <application>control center</application>. In GNOME 1.x this
- was the main and only source of documentation. In GNOME 2.0
- this will become a document for the web and for printing
- that is derived from various parts chosen in the system that
- are necessary for the new user to understand.
- </para>
- </sect3>
-
- <sect3 id="userdocs">
- <title>User Documents</title>
- <para>
- Aside from the <citetitle>GNOME User Guide</citetitle>,
- there are several other documents to help GNOME users learn
- GNOME, including the <citetitle>GNOME FAQ</citetitle>,
- <citetitle>GNOME Installation and Configuration
- Guide</citetitle>, and the <citetitle>GNOME Administrators
- Guide</citetitle>.
- </para>
- </sect3>
-
- <sect3 id="developerdocs">
- <title>Developer Documents</title>
- <para>
- There are many White Papers, Tutorials, HOWTO's and FAQ's to
- make programming GNOME and GNOME applications as easy as
- possible.
- </para>
- <para>
- API documentation is also available for the GNOME libraries. This is
- detailed documentation of the code that is used to build GNOME
- apps. You can keep up with the GNOME API docs on the <ulink
- url="http://developer.gnome.org/doc/API/" type="http">GNOME API
- Reference</ulink> page.
- </para>
- </sect3>
-
- <sect3 id="projectdocs">
- <title>Project Documents</title>
- <para>
- Some GNOME projects have documentation to maintain
- consistency in their product and to help new contributors
- get up to speed quickly. Among these are the GDP documents,
- such as the one you are reading now.
- </para>
- </sect3>
- </sect2>
- </sect1>
-
-
-<!-- ################# DocBook Basics ############### -->
-
- <sect1 id="docbookbasics">
- <title>DocBook Basics </title>
-<!-- ####### DocBook Basics | Introduction to DocBook ####### -->
-
- <sect2 id="introtodocbook">
- <title>Introduction to DocBook</title>
- <para>
- To understand DocBook, a basic understanding of SGML is
- helpful. SGML stands for Standard General Markup Language and
- is one of the first markup languages every created. HTML is
- actually derived from SGML and XML is a subset of SGML. SGML
- uses what is called a Document Type Definition to specify
- <emphasis>elements</emphasis> which are contained between
- brackets, &lt; and >. Text is marked by both beginning and
- ending elements, for example in the DocBook DTD, one denotes a
- title with <sgmltag>&lt;title></sgmltag>The
- Title<sgmltag>&lt;/title></sgmltag>.
- </para>
- <para>
- The DTD (in the case of the GDP, DocBook) defines rules for how the
- elements can be used. For example, if one element can only be used when
- embedded within another, this is defined in the DTD.
- </para>
- <para>
- An SGML file is just a plain ASCII file containing the text
- with the markup specified above. To convert it to some easily
- readable format, you need special tools. The GDP uses <emphasis>DocBook
- Tools</emphasis>, a free package of utilities for working with DocBook
- which includes <emphasis>Jade</emphasis>, which does the SGML/DSSL
- parsing. You can read more about DocBook Tools in <xref
- linkend="installingdocbook" />.
- </para>
- <para>
- The final appearance of the output (e.g. PostScript or HTML)
- is determined by a
- <emphasis>stylesheet</emphasis>. Stylesheets are files,
- written in a special language (DSSSL &mdash; Document Style
- Semantics and Specification Language), which specify the
- appearance of various DocBook elements, for example,
- what fonts to use for titles and various inline elements, page
- numbering style, and much more. DocBook tools come with a
- collection of stylesheets (Norman Walsh's modular
- stylesheets); GNOME Document Project uses some customized
- version of this stylesheets &mdash; see <xref
- linkend="gdpstylesheets"/>.
- </para>
- <para>
- The advantage of specifying the <emphasis>structure</emphasis>
- of a document with SGML instead of specifying the
- <emphasis>appearance</emphasis> of the document with a typical
- word processor, or with html, is that the resulting document
- can be processed in a variety of ways using the structural
- information. Whereas formatting a document for appearance
- assumes a medium (typically written text on a standard-sized
- piece of paper), SGML can be processed to produce output for a
- large variety of media such as text, postscript, HTML,
- Braille, audio, and potentially many other formats.
- </para>
- <para>
- Using 'content' as the elements to define the text of a document also
- allows for search engines to make use of the actual elements to make a
- "smarter search". For example, if you are searching for all documents
- written by the author "Susie" your search engine could be made smart
- enough to only search &lt;author> elements, making for a faster and more
- accurate search.
- </para>
- <para>
- Since the overall appearance of the output is determined not by the DTD
- or the SGML document, but rather by a stylesheet, the appearance of a
- document can be easily changed just by changing the stylesheet. This
- allows everyone in the project to create documents that all look the
- same.
- </para>
- <para>
- As stated before, the GDP uses the DocBook DTD. For a list of
- introductory and reference resources on DocBook, see <xref
- linkend="resources" />. The following sections also provide
- convenient instructions on which markup tags to use in various
- circumstances. Be sure to read <xref linkend="conventions" />
- for GDP documentation-specific guidelines.
- </para>
- </sect2>
-
- <!-- ###### DocBook Basics | XML and SGML ########-->
- <sect2 id="xml">
- <title>XML and SGML</title>
-
- <para> In not so distant future (probably before GNOME 2.0),
- DocBook itself and GNOME Documentation project will migrate from
- SGML to XML. This transition should be relatively painless:
- (almost) all DocBook tags will remain the same. However, XML has
- stricter syntax rules than SGML; thus, some constructions which
- are valid in SGML will not be valid in XML. Therefore, to be
- ready for this transistion, it is <emphasis>strongly
- advised</emphasis> that the documentation writers conform to XML
- syntax rules. Here are most important differences:
- </para>
-
- <variablelist>
- <varlistentry>
- <term> <emphasis>Minimization</emphasis></term>
- <listitem>
-
- <para>
- It is possible with some implementations of SGML to use
- minimizations to close elements in a document by using
- &lt;/>, for example:
- <literal><sgmltag>&lt;title></sgmltag>The
- Title<sgmltag>&lt;/></sgmltag></literal>. This is not
- allowed in XML. You can use <command>sgmlnorm</command> command,
- included in DocBook Tools package, to expand minimized tags;
- if you are using <application>Emacs</application> with psgml
- mode, you can also use menu command
- <menuchoice>
- <guimenu>Modify</guimenu>
- <guimenuitem>Normalize</guimenuitem>
- </menuchoice>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <emphasis>Self-closing tags</emphasis></term>
- <listitem>
-
- <para>
- Also, in SGML some tags are allowed not to have closing
- tags. For example, it is legal for
- <sgmltag>&lt;xref></sgmltag> not to have a closing tag:
- <literal><sgmltag>&lt;xref
- linkend="someid"></sgmltag></literal>. In
- XML, it is illegal; instead, you should use
- <literal><sgmltag>&lt;xref
- linkend="someid"/></sgmltag></literal> (note the
- slash!).
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term> <emphasis>Case sensitive tags</emphasis></term>
- <listitem>
- <para>
- In XML, unlike SGML, tags are case-senstive
- <sgmltag>&lt;title></sgmltag> and
- <sgmltag>&lt;TITLE></sgmltag> are different tags!
- Therefore, please always use lowercase tags (except for
- things like <literal>DOCTYPE, CDATA</literal> and
- <literal>ENTITY</literal>, which are not DocBook tags).
- </para>
- </listitem>
- </varlistentry>
-
-
-
-</variablelist>
-</sect2>
-
-
-
- <!-- ####### DocBook Basics | Structure Elements ####### -->
-
-
- <sect2 id="structure"> <title> Structure Elements</title>
-
- <sect3 id="section">
- <title>Sections and paragraphs</title>
- <para>
- Top-level element of a book body must be
- <sgmltag>&lt;chapter></sgmltag>; it may contain one or more
- <sgmltag>&lt;sect1></sgmltag>, each of them may contain
- <sgmltag>&lt;sect2></sgmltag> and so on up to
- <sgmltag>&lt;sect5></sgmltag>. The top-level element of an
- article body is always
- <sgmltag>&lt;sect1></sgmltag>. Regardless of which elements
- you use, give each structural element a unique id, so that
- you can link to it. For usage example, see the template.
- </para>
- <para> Please try to avoid using deeply nested sections; for
- most situations, <sgmltag>&lt;sect1></sgmltag> and
- <sgmltag>&lt;sect2></sgmltag> should be sufficient. If not,
- you probably should split your <sgmltag>&lt;sect1></sgmltag>
- into several smaller ones.
- </para>
- <para> Use the tag <sgmltag>&lt;para></sgmltag> for
- paragraphs, even if there is only one paragraph in a
- section&mdash;see template for examples.
- </para>
- </sect3>
-
- <sect3 id="notes">
- <title>Notes, Warnings, And Tips</title>
- <para>
- For notes, tips, warnings, and important information, which
- should be set apart from the main text (usually as a
- paragraph with some warning sign on the margin), use tags
- <sgmltag>&lt;note></sgmltag>, <sgmltag>&lt;tip></sgmltag>,
- <sgmltag>&lt;warning></sgmltag>,
- <sgmltag>&lt;important></sgmltag> respectively. For example:
- <programlisting>
-<![CDATA[
-<tip>
- <title>TIP</title>
- <para>
- To speed up program compilation, use <application>gcc</application>
- compiler with Pentium optimization.
- </para>
-</tip>]]> </programlisting> produces
- </para>
- <tip id="extip">
- <title>TIP</title>
- <para>
- To speed up program compilation, use
- <application>gcc</application> compiler with Pentium
- optimization. </para>
- </tip>
- <para>
- Note that this should not be inside a
- <sgmltag>&lt;para></sgmltag> but between paragraphs.
- </para>
- </sect3>
- <sect3 id="figures">
- <title> Screenshots and other figures</title>
- <para>
- To include screenshots and other figures, use the following
- tags:
-
- <programlisting>
-<![CDATA[
-<figure id="shot1">
- <title>Screenshot</title>
- <screenshot>
- <screeninfo>Screenshot of a program</screeninfo>
- <graphic format="PNG" fileref="figures/example_screenshot" srccredit="ME">
- </graphic>
- </screenshot>
-</figure>]]>
- </programlisting>
- replacing <filename>example_screenshot</filename> with the
- actual file name (without extension). The result will look like this:
-
- <figure id="shot1">
- <title>Screenshot</title>
- <screenshot>
- <screeninfo>Screenshot of a program</screeninfo>
- <graphic format="PNG"
- fileref="figures/example_screenshot" srccredit="ME"/>
-
- </screenshot>
- </figure>
- </para>
- <note>
- <title>NOTE</title>
- <para>
- Notice in this example that the screenshot file name does
- not include the file type extension &mdash; to find out
- why, please read <xref linkend="jadeimages" />.
- </para>
- </note>
- </sect3>
- <sect3 id="listing">
- <title>Program listings and terminal session</title> <para>
- To show a file fragment&mdash;for example, program
- listing&mdash;use <sgmltag>&lt;programlisting></sgmltag> tag:
- <programlisting>
-<![CDATA[
-<programlisting>
-[Desktop Entry]
-Name=Gnumeric spreadsheet
-Exec=gnumeric
-Icon=gnome-gnumeric.png
-Terminal=0
-Type=Application
-</programlisting>]]>
- </programlisting>
- which produces
- <programlisting>
-[Desktop Entry]
-Name=Gnumeric spreadsheet
-Exec=gnumeric
-Icon=gnome-gnumeric.png
-Terminal=0
-Type=Application
- </programlisting>
- As a matter of fact, all examples in this document were
- produced using <sgmltag>&lt;programlisting></sgmltag>.
- </para>
- <para>
- To show a record of terminal session&mdash;i.e., sequence of
- commands entered at the command line&mdash;use
- <sgmltag>&lt;screen></sgmltag> tag:
- <programlisting>
-<![CDATA[
-<screen>
-<prompt>bash$</prompt><userinput>make love</userinput>
-make: *** No rule to make target `love'. Stop.
-</screen>]]>
- </programlisting>
- which produces
- <screen>
-<prompt>bash$</prompt><userinput>make love</userinput>
-make: *** No rule to make target `love'. Stop.
- </screen>
- Note the use of tags <sgmltag>&lt;prompt></sgmltag> and
- <sgmltag>&lt;userinput></sgmltag> for marking system prompt
- and commands entered by user.
- <note>
- <title>NOTE</title>
- <para>
- Note that both <sgmltag>&lt;programlisting></sgmltag>
- and <sgmltag>&lt;screen></sgmltag> preserve linebreaks,
- but interpret SGML tags (unlike LaTeX
- <markup>verbatim</markup> environment). Take a look at
- the source of this document to see how you can have SGML
- tags literally shown but not interpreted,
- </para>
- </note>
- </para>
- </sect3>
- <sect3 id="lists">
- <title> Lists</title>
- <para>
- The most common list types in DocBook are
- <sgmltag>&lt;itemizedlist></sgmltag>,
- <sgmltag>&lt;orderedlist></sgmltag>, and
- <sgmltag>&lt;variablelist></sgmltag>.
- </para>
- <variablelist>
- <varlistentry>
- <term> <sgmltag>&lt;itemizedlist></sgmltag></term>
- <listitem><para>
- This is the simplest unnumbered list, parallel to
- <sgmltag>&lt;ul></sgmltag> in HTML. Here is an example:
- <programlisting>
-<![CDATA[
-<itemizedlist>
- <listitem>
- <para>
- <guilabel>Show backup files</guilabel> &mdash; This will
- show any backup file that might be on your system.
- </para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Show hidden files</guilabel> &mdash; This will
- show all "dot files" or files that begin with a dot. This
- files typically include configuration files and directories.
- </para>
- </listitem>
- <listitem>
- <para>
- <guilabel>Mix files and directories</guilabel> &mdash; This
- option will display files and directories in the order you
- sort them instead of
- always having directories shown above files.
- </para>
- </listitem>
-</itemizedlist>
-]]>
- </programlisting>
- and output:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <guilabel>Show backup files</guilabel> &mdash;
- This will show any backup file that might be on
- your system.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Show hidden files</guilabel> &mdash;
- This will show all "dot files" or files that
- begin with a dot. This files typically include
- configuration files and directories.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guilabel>Mix files and directories</guilabel>
- &mdash; This option will display files and
- directories in the order you sort them instead
- of always having directories shown above files.
- </para>
- </listitem>
- </itemizedlist>
- <para> Note the use of <sgmltag>&amp;mdash;</sgmltag>
- for long dash (see <xref linkend="specsymb" />). Also,
- please note that the result looks much nicer because the
- terms being explained (<guilabel>Show backup
- files</guilabel>, etc.) are set in a different font. In
- this case, it was achieved by using <link
- linkend="gui"><sgmltag>&lt;guilabel></sgmltag></link>
- tag. In other cases, use appropriate tags such as
- <link linkend="gui"><sgmltag>&lt;guimenuitem></sgmltag></link>,
- <link
- linkend="filenames"><sgmltag>&lt;command></sgmltag></link>,
- or &mdash; if none of
- this applies &mdash; use
- <link linkend="gui"><sgmltag>&lt;emphasis></sgmltag></link>.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term> <sgmltag>&lt;orderedlist></sgmltag></term>
- <listitem><para>
- This list is completely analogous to
- <sgmltag>&lt;itemizedlist></sgmltag> and has the same
- syntax, but it produces numbered list. By default,
- this list uses Arabic numerals for numbering entries;
- you can override this using <sgmltag>numeration</sgmltag>,
- for example <sgmltag>&lt;orderedlist
- numeration="lowerroman"></sgmltag>. Possible values of
- these attribute are <sgmltag>arabic</sgmltag>,
- <sgmltag>upperalpha</sgmltag>,
- <sgmltag>loweralpha</sgmltag>,
- <sgmltag>upperroman</sgmltag>,
- <sgmltag>lowerroman</sgmltag>.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term> <sgmltag>&lt;variablelist></sgmltag></term>
- <listitem><para> This list is used when each entry is
- rather long, so it should be formatted as a block of text
- with some subtitle, like a small subsection. The
- <sgmltag>&lt;variablelist></sgmltag> is more complicated
- than itemizedlists, but for larger blocks of text, or when
- you're explaining or defining something, it's best to use
- them. Their greatest advantage is that it's easier for a
- computer to search. The lines you are reading now were
- produced by <sgmltag>&lt;variablelist></sgmltag>. The
- source looked liked this:
- <programlisting>
-<![CDATA[
-<variablelist>
- <varlistentry>
- <term> <sgmltag>&lt;itemizedlist></sgmltag></term>
- <listitem><para>
- This is the simplest unnumbered list, parallel to
- <sgmltag>&lt;ul></sgmltag> in HTML. Here is an example:...
- </para></listitem>
- </varlistentry>
- <varlistentry>
- <term> <sgmltag>&lt;orderedlist></sgmltag></term>
- <listitem><para>
- This list is completely analogous to
- <sgmltag>&lt;itemizedlist></sgmltag>
- </para></listitem>
- </varlistentry>
- <varlistentry>
- <term> <sgmltag>&lt;variablelist></sgmltag></term>
- <listitem><para>
- This list is used when each entry is rather long,...
- </para></listitem>
- </varlistentry>
-</variablelist>
-]]>
- </programlisting>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- <para>
- Lists can be nested; in this case, the stylesheets
- are smart enough to change the numeration (for
- <sgmltag>&lt;orderedlist></sgmltag>) or marks of each entry
- (in <sgmltag>&lt;itemizedlist></sgmltag>) for sub-lists
- </para>
- </sect3>
-
- </sect2>
-
-<!-- ####### DocBook Basics | Inline Elements ####### -->
-
- <sect2 id="inline">
- <title>Inline Elements</title>
-
- <sect3 id="gui">
- <title>GUI elements</title>
- <itemizedlist>
- <listitem>
- <para>
- <sgmltag>&lt;guibutton></sgmltag> &mdash; used for
- buttons, including checkbuttons and radio buttons
- </para>
- </listitem>
-
- <listitem>
- <para>
- <sgmltag>&lt;guimenu></sgmltag>,
- <sgmltag>&lt;guisubmenu></sgmltag> &mdash;used for
- top-level menus and submenus
- respectively, for example <literal><![CDATA[
- <guisubmenu>Utilities</guisubmenu> submenu of the
- <guimenu>Main Menu</guimenu>]]></literal>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <sgmltag>&lt;guimenuitem></sgmltag>&mdash;an entry in a
- menu
- </para>
- </listitem>
-
- <listitem>
- <para>
- <sgmltag>&lt;guiicon></sgmltag>&mdash;an icon
- </para>
- </listitem>
-
- <listitem>
- <para>
- <sgmltag>&lt;guilabel></sgmltag>&mdash;for items which have
- labels, like tabs, or bounding boxes.
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag>&lt;interface></sgmltag>&mdash; for most everything
- else... a window, a dialog box, the Panel, etc.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- If you need to refer to a sequence of menu choices, such as
- <menuchoice>
- <guimenu>Main Menu</guimenu>
- <guisubmenu>Utilities</guisubmenu> <guimenuitem>GNOME
- terminal</guimenuitem>
- </menuchoice>
- there is a special construction for this, too:
- <programlisting>
-<![CDATA[
-<menuchoice>
- <guimenu>Main Menu</guimenu> <guisubmenu>Utilities</guisubmenu>
- <guimenuitem>GNOME terminal</guimenuitem> </menuchoice>]]>
- </programlisting>
- </para>
- </sect3>
-
- <sect3 id="links">
- <title>Links and references</title>
- <para>
- To refer to another place in the same document, you can use
- tags <sgmltag>&lt;xref></sgmltag> and
- <sgmltag>&lt;link></sgmltag>. The first of them
- automatically inserts the full name of the element you refer
- to (section, figure, etc.), while the second just creates a
- link (in HTML output). Here is an example:
- <programlisting>
-<![CDATA[An example of a <link linkend="extip">tip</link> was given in
-<xref linkend="notes" />. ]]>
- </programlisting>
- which produces: An example of a <link
- linkend="extip">tip</link> was given in <xref
- linkend="notes" />.
- </para>
- <para>
- Here <sgmltag>notes</sgmltag> and <sgmltag>extip</sgmltag>
- are the id attributes of <xref linkend="notes" /> and of the
- example of a tip in it.
- </para>
- <para> To produce a link to an external source, such as a
- Web page or a local file, use <sgmltag>&lt;ulink></sgmltag>
- tag, for example:
- <programlisting>
-<![CDATA[ To find more about GNOME, please visit <ulink type="http"
-url="http://www.gnome.org">GNOME Web page</ulink> ]]>
- </programlisting>
- which produces: To find more about GNOME, please visit
- <ulink type="http" url="http://www.gnome.org">The GNOME Web
- Site</ulink> You can use any of the standard URL types, such
- as <literal>http, ftp, file, telnet, mailto</literal> (in
- most cases, however, use of <literal>mailto</literal> is
- unnecessary&mdash;see discussion of
- <sgmltag>&lt;email></sgmltag> tag).
- </para>
- </sect3>
-
- <sect3 id="filenames"> <title>Filenames, commands, and other
- computer-related things</title>
- <para>
- Here are some tags used to describe operating system-related
- things:
- </para>
- <itemizedlist>
- <listitem>
- <para> <sgmltag>&lt;filename></sgmltag> &mdash; used
- for filenames,
- e.g.<sgmltag>&lt;filename></sgmltag>
- foo.sgml
- <sgmltag>&lt;/filename></sgmltag>
- produces: <filename>foo.sgml</filename>.
- </para>
- </listitem>
- <listitem>
- <para> <sgmltag>&lt;filename
- class="directory"></sgmltag> &mdash; used for
- directories, e.g.<sgmltag>&lt;filename
- class="directory"></sgmltag>/usr/bin
- <sgmltag>&lt;/filename></sgmltag>
- produces: <filename
- class="directory">/usr/bin</filename>.
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag>&lt;application></sgmltag> &mdash; used for
- application names,
- e.g. <sgmltag>&lt;application></sgmltag>Gnumeric
- <sgmltag>&lt;/application></sgmltag> produces:
- <application>Gnumeric</application>.
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag>&lt;envar></sgmltag> &mdash; used for
- environment variables, e.g.
- <sgmltag>&lt;envar></sgmltag>PATH<sgmltag>&lt;/envar></sgmltag>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <sgmltag>&lt;command></sgmltag> &mdash; used for
- commands entered on command line, e.g.
- <sgmltag>&lt;command></sgmltag>make install
- <sgmltag>&lt;/command></sgmltag> produces:
- <command>make install</command>.
- </para>
- </listitem>
- <listitem>
- <para>
- <sgmltag>&lt;replaceable></sgmltag> &mdash; used for
- replaceable text, e.g.
- <sgmltag>&lt;command></sgmltag>db2html<sgmltag>&lt;replaceable></sgmltag>
- foo.sgml
- <sgmltag>&lt;/replaceable></sgmltag><sgmltag>&lt;/command></sgmltag>
- produces: <command>db2html
- <replaceable>foo.sgml</replaceable></command>.
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
-
- <sect3 id="keys">
- <title>Keyboard input</title>
- <para> To mark up text input by the user, use
- <sgmltag>&lt;userinput></sgmltag>.
- </para>
- <para> To mark keystrokes such as shortcuts and other
- commands, use <sgmltag>&lt;keycap></sgmltag>.
- This is used for marking up what is printed on the top
- of the physical key on the keyboard. There are a couple of
- other tags for keys, too: <sgmltag>&lt;keysym&gt;</sgmltag>
- and <sgmltag>&lt;keycode&gt;</sgmltag>. However you are
- unlikely to need these for most documentation. For reference,
- <sgmltag>&lt;keysym&gt;</sgmltag> is for the <quote>symbolic
- name</quote> of a key. <sgmltag>&lt;keycode&gt;</sgmltag> is
- for the <quote>scan code</quote> of a key. These are not
- terms commonly required in <acronym>GNOME</acronym> documentation,
- although <sgmltag>&lt;keysym&gt;</sgmltag> is useful for marking
- up control codes.
- </para>
- <para>
- To mark up a combination of keystrokes, use the
- <sgmltag>&lt;keycombo></sgmltag> wrapper:
- <programlisting>
-<![CDATA[
-<keycombo>
- <keycap>Ctrl</keycap>
- <keycap>Alt</keycap>
- <keycap>F1</keycap>
-</keycombo>]]>
- </programlisting>
- </para>
- <para>
- Finally, if you want to show a shortcut for some menu
- command, here are the appropriate tags (rather long):
- <programlisting>
-<![CDATA[
-<menuchoice>
- <shortcut>
- <keycombo><keycap>Ctrl</keycap><keycap>q</keycap></keycombo>
- </shortcut>
- <guimenuitem> Quit</guimenuitem>
-</menuchoice>]]>
- </programlisting>
- which produces simply
- <menuchoice>
- <shortcut> <keysym>Ctrl-q</keysym> </shortcut>
- <guimenuitem> Quit</guimenuitem>
- </menuchoice>
- </para>
- </sect3>
-
- <sect3 id="email">
- <title>E-mail addresses</title> <para> To mark up e-mail
- address, use <sgmltag>&lt;email></sgmltag>:
- <programlisting>
-<![CDATA[ The easiest way to get in touch with me is by e-mail
-(<email>me@mydomain.com</email>)]]>
- </programlisting>
- which produces: The easiest way to get in touch with me is
- by e-mail (<email>me@mydomain.com</email>) Note that
- <sgmltag>&lt;email></sgmltag> automatically produces a link
- in html version.
- </para>
- </sect3>
-
- <sect3 id="specsymb">
- <title> Special symbols </title>
- <para>
- DocBook also provides special means for entering
- typographic symbols which can not be entered directly
- form the keyboard (such as copyright sign). This is done using
- <emphasis>entities</emphasis>, which is SGML analogue of
- macros, or commands, of LaTeX. They generally have the form
- <sgmltag>&amp;entityname;</sgmltag>. Note that the semicolon
- is required.
- </para>
- <para>
- here is partial list of most commonly used enitites:
- </para>
- <itemizedlist>
- <listitem><para>
- <sgmltag>&amp;amp;</sgmltag> &mdash; ampersend (&amp;)
- </para></listitem>
- <listitem><para>
- <sgmltag>&amp;lt;</sgmltag> &mdash; left angle bracket (&lt;)
- </para></listitem>
- <listitem><para>
- <sgmltag>&amp;copy;</sgmltag> &mdash; copyright sign (&copy;)
- </para></listitem>
- <listitem><para>
- <sgmltag>&amp;mdash;</sgmltag> &mdash; long dash (&mdash;)
- </para></listitem>
- <listitem><para>
- <sgmltag>&amp;hellip;</sgmltag> &mdash; ellipsis (&hellip;)
- </para></listitem>
- </itemizedlist>
- <para>
- Note that the actual look of the resulting symbols depends
- on the fonts used by your browser; for example, it might
- happen that long dash (<sgmltag>&amp;mdash;</sgmltag>) looks
- exactly like the usual dash (-). However, in the PostScript
- (and thus, in print) the output will look markedly better if
- you use appropriate tags.
- </para>
- </sect3>
- </sect2>
- </sect1>
-
-<!-- ################# GDP Documentation Conventions ############### -->
-
- <sect1 id="conventions">
- <title>GDP Documentation Conventions </title>
-
-<!-- ####### GDP Documentation Conventions | All Documentation ####### -->
-
- <sect2 id="conventionsalldocs">
- <title>Conventions for All GDP Documentation</title>
- <sect3 id="xmlcomp">
- <title> XML compatibility </title>
- <para>
- All GNOME documentation should conform to XML syntax
- requirements, which are stricter than SGML ones &mdash; see
- <xref linkend="xml" /> for more informaion.
- </para>
- </sect3>
-
- <sect3 id="authorsnames">
- <title> Authors' names</title>
- <para>
- All GNOME documentation should contain the names of both the
- application authors and documentation authors, as well as a
- link to the application web page (if it exists) and
- information for bug submission &mdash; see templates for an
- example.
- </para>
- </sect3>
- </sect2>
-
-<!-- ####### GDP Documentation Conventions | All Documentation ####### -->
-
- <sect2 id="conventionsappdocs">
- <title>Conventions for Application Documentation</title>
-
- <sect3 id="applicationversionid">
- <title>Application Version Identification</title>
- <para>
- Application documentation should identify the version of the
- application for which the documentation is written:
- <programlisting>
-<![CDATA[
-<sect1 id="intro">
- <title>Introduction</title>
- <para>
- blah-blah-blah This document describes version 1.0.53 of gfoo.
- </para>
-</sect1>]]>
- </programlisting>
- </para>
- </sect3>
- <sect3 id="license">
- <title> Copyright information </title>
- <para> Application
- documentation should contain a copyright notice, stating the
- licensing terms. It is suggested that you use the GNU Free
- Documentation License. You could also use some other license
- allowing free redistribution, such as GPL or Open Content
- license. If documentation uses some trademarks (such as UNIX,
- Linux, Windows, etc.), proper legal junk should also be
- included (see templates).
- </para>
- </sect3>
- <sect3 id="license2">
- <title>Software license</title>
- <para>
- All GNOME applications must contain information about the
- license (for software, not for documentation), either in the
- "About" box or in the manual.
- </para>
- </sect3>
-
- <sect3 id="bugtraq">
- <title> Bug reporting</title>
- <para>
- Application documentation should give an address for
- reporting bugs and for submitting comments about the
- documentaion (see templates for an example).
- </para>
- </sect3>
- </sect2>
- </sect1>
-
-<!-- ################# Writing Application Manuals ###############-->
-
- <sect1 id="writingapplicationmanuals">
- <title>Writing Application and Applet Manuals</title>
- <para>
- Every GNOME application or applet should have a manual specific
- to that particular application. This manual should be a complete
- and authoritative guide. The manual should describe what the
- program does and how to use it. Manuals will typically describe
- each window or panel presented to the user using screenshots (in
- PNG format only) when appropriate. They should also describe
- each feature and preference option available.
- </para>
- <note>
- <title>Documentation Availability</title>
- <para>
- Applications and applets should not rely on documentation
- which is only available on the internet. All manuals and
- other documentation should be packaged with the application or
- applet and be made available to the user through the standard
- GNOME help system methods described below.
- </para>
- </note>
- <para> Application manuals should be based on the template in
- <xref linkend="template1" />. Applet manuals should be based on
- the templates in <xref linkend="template2-1x" /> for GNOME
- versions 1.x and the templates in <xref linkend="template2-2x" />
- for GNOME versions 2.x.
- </para>
- <note>
- <title>Manuals For Large Applications</title>
- <para>
- Manuals for very large applications, such as GNOME Workshop
- components should be a <sgmltag>&lt;book></sgmltag> (and thus
- use <sgmltag>&lt;chapter></sgmltag> for each primary section)
- , instead of <sgmltag>&lt;article></sgmltag> which most
- applications use(with each primary section being a
- <sgmltag>&lt;sect1></sgmltag>).
- </para>
- </note>
- <note>
- <title>Applet Manuals in GNOME 2.0</title>
- <para>
- Note that applet manuals in GNOME 2.0 are treated in a special
- way. The manuals for all applets are merged into a single
- virtual document by Nautilus. For this reason, the header
- information for applet manuals is omitted and the first
- section of each applet is
- <sgmltag>&lt;sect1></sgmltag>. Applet manuals will typically
- have several sections, each of which is
- <sgmltag>&lt;sect2></sgmltag>.
- </para>
- </note>
- <para>
- Application manuals should be made available by having a
- "Manual" entry in the <guimenu>Help</guimenu> pull-down menu
- at the top of the
- application, as described in <xref linkend="listingdocsinhelpmenu" />.
- Applets should make their manuals available by
- right-clicking on the applet.
- </para>
- </sect1>
-
-
-<!-- ############### Listing Documents in the Help Menu ############# -->
-
- <sect1 id="listingdocsinhelpmenu">
- <title>Listing Documents in the Help Menu</title>
-
- <note>
- <title>Developer Information</title>
- <para>
- This section is for developers. Documentation authors
- generally do not need to know this material.
- </para>
- </note>
- <para>
- Typically the application manual and possibly additional help
- documents will be made available to the user under the
- <guimenu>Help</guimenu> menu at the top right of the
- application. To do this, you must first write a
- <filename>topic.dat</filename> file. The format for this file is:
- <programlisting>
-One line for each 'topic'.
-
-Two columns, as defined by perl -e 'split(/\s+/,$aline,2)'
-
-First column is the HTML file (and optional section) for the topic,
-relative to the app's help file dir.
-
-Second column is the user-visible topic name.
- </programlisting>
- For example, <application>Gnumeric</application>'s
- <filename>topic.dat</filename> file is:
- <programlisting>
-gnumeric.html Gnumeric manual
-function-reference.html Gnumeric function reference
- </programlisting>
- When the application is installed, the
- <filename>topic.dat</filename> file should be placed in the
- <filename
- class="directory">$prefix/share/gnome/help/<replaceable>appname</replaceable>/C/</filename> directory
- where <replaceable>appname</replaceable> is replaced by the
- application's name. The application documentation (converted
- from SGML into HTML with <command>db2html</command>) should be
- placed in this directory too.
- </para>
- <note>
- <para>
- If the help files are not present in the correct directory, the
- menu items will NOT appear when the program is run.
- </para>
- </note>
- <para>
- The <filename>topic.dat</filename> file is used by the GNOME
- menu building code to generate the <guimenu>Help</guimenu>
- menu. When you define your menu:
-<programlisting>
-GnomeUIInfo helpmenu[] = {
- {GNOME_APP_UI_ITEM,
- N_("About"), N_("Info about this program"),
- about_cb, NULL, NULL,
- GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ABOUT,
- 0, 0, NULL},
- GNOMEUIINFO_SEPARATOR,
- GNOMEUIINFO_HELP("<emphasis>appname</emphasis>"),
- GNOMEUIINFO_END
- };
-</programlisting>
- the line specifying <varname>GNOMEUIINFO_HELP</varname> causes
- GNOME to create a menu entry which is tied to the documentation
- in the directory mentioned above. Also, all the topics in the
- <filename>topic.dat</filename> file will get menu entries in the
- <guimenu>Help</guimenu> menu. When the user selects any of these
- topics from the <guimenu>Help</guimenu> menu, a help browser
- will be started with the associated HTML documentation.
- </para>
- </sect1>
-
-
-<!-- ################# Application Help Buttons ############### -->
-
- <sect1 id="applicationhelpbuttons">
- <title>Application Help Buttons</title>
-
- <note>
- <title>Developer Information</title>
- <para>
- This section is for developers. Documentation authors
- generally do not need to know this material.
- </para>
- </note>
- <para>
- Most GNOME applications will have <guibutton>Help</guibutton>
- buttons. These are most often seen in Preference windows. (All
- Preference windows should have <guibutton>Help</guibutton>
- buttons.) Most <guibutton>Help</guibutton> buttons will connect
- to the application manual, although some may connect to special
- documents. Because the <guibutton>Help</guibutton> buttons do
- not generally have their own special documentation, the
- documentation author(s) do not need to do very much. However,
- the application author must be careful to guarantee that the
- application correctly opens the help documentation when the
- <guibutton>Help</guibutton> buttons are pressed.
- </para>
- <para>
- To make the Help buttons call the correct document in the GNOME Help
- Browser the developer should add code based on the following example:
- </para>
- <programlisting>
-gchar *tmp;
-tmp = gnome_help_file_find_file ("module", "page.html");
-if (tmp) {
- gnome_help_goto(0, tmp);
- g_free(tmp);
-}
- </programlisting>
- <note>
- <title>NOTE</title>
- <para>
- The example above is in the C language, please refer to other
- documentation or forums for other GNOME language bindings.
- </para>
- </note>
- </sect1>
-
-<!-- ################# Packaging Applet Documentation ############### -->
-
- <sect1 id="packagingappletdocs">
- <title>Packaging Applet Documentation</title>
- <sect2 id="appletfiles">
- <title>Applet Documentation Files</title>
- <para>
- In GNOME 2.0 each applet will have its own documentation
- installed separately, and the GNOME 2.0 help
- browser (<application>Nautilus</application>) will dynamically
- merge the applet documents into a single virtual book
- called <citetitle>GNOME Applets</citetitle>. During the
- transitionary stage between GNOME 1.0 and GNOME 2.0, each
- applet in the gnome-applets package has its own manual(stored
- with the applet in CVS), but they are merged together manually
- to create the <citetitle>GNOME Applets</citetitle> book before
- distribution. Telsa
- <email>hobbit@aloss.ukuu.org.uk</email> is the maintainer of
- this document. Applet documentation should be sent to Telsa
- (or placed in CVS) who will make sure they are correctly
- packaged with the applets. The applet author should be
- contacted to modify the menu items and help buttons to bind to
- the applet documentation if necessary.
- </para>
- <para>
- Images which are part of the applet documentation should be in
- PNG format and should reside in the same directory as the SGML
- document file in CVS(gnome-applets/APPLETNAME/help/C).
- </para>
- <para>
- Applets which are not part of the gnome-applets package must
- package their documentation with the particular applet
- package. They should use the same applet template as other
- applets. However, the <sgmltag>&lt;xref></sgmltag> links to
- the introductory chapter of the <citetitle>GNOME
- Applets</citetitle> book must be removed (as the 1.x
- <application>GNOME Help Browser</application> does not allow
- you to create links between separate documents) and replaced
- with suitable text. Note that since this document is not part
- of the <citetitle>GNOME Applets</citetitle> book, you must
- remember to add <sgmltag>&lt;legalnotice></sgmltag> and
- <sgmltag>&lt;copyright></sgmltag> sections.
- </para>
- </sect2>
-
- <sect2 id="appletmenu">
- <title>Adding Documentation to an Applet Menu</title>
- <note>
- <title>Developer Information</title>
- <para>
- This section is for developers. Documentation authors
- generally do not need to know this material.
- </para>
- </note>
- <para>
- Applets should have <guimenu>About</guimenu> and
- <guimenu>Manual</guimenu> menu items, typically as the first
- and second top-most items in the menu respectively. This
- section describes how the developer creates these menu items
- and links them to the documentation.
- </para>
- <para>
- To add an applet's manual to its applet menu, use:
-<programlisting>
-/* add an item to the applet menu */
-applet_widget_register_callback(APPLET_WIDGET(applet), "manual",
-_("Manual"), &amp;open_manual, NULL);
-</programlisting>
- Here the second argument is an arbitrary name for the
- callback, the third argument is the label which will appear
- when the user right clicks on the applet, and the fourth
- argument is the callback function.
- </para>
- <para>
- You will need to write a simple callback function to open the
- help browser to the appropriate document. This is done using
- the <function>gnome_help_file_find_file</function> function,
- as described in <xref linkend="applicationhelpbuttons" />.
- </para>
- <para>
- You will also want to add an <guimenu>About</guimenu> menu
- item to the applet's menu. This is a
- stock menu item and is done:
-<programlisting>
-applet_widget_register_stock_callback (APPLET_WIDGET(applet), "about",
- GNOME_STOCK_MENU_ABOUT, _("About"), &amp;my_applet_cb_about,
- NULL);
-</programlisting>
- </para>
- <para>
- More information can be found at <ulink type="http"
- url="http://developer.gnome.org/doc/tutorials/applet/index.html">Writing
- GNOME panel applets using the GTK+/GTK-- widget set</ulink>.
- </para>
- </sect2>
- </sect1>
-
-
-<!-- ################# Writing Context Sensitive Help ###############
--->
-
- <sect1 id="writingcontextsensitivehelp">
- <title>Writing Context Sensitive Help (coming in GNOME-2.0)</title>
- <para>
- Context sensitive help, also known as "pop-up" help, will allow
- a user to obtain help information about specific buttons or
- parts of an application.
- </para>
- <para>
- Context sensitive help is still under development and not all
- the details are available at this time. However, the basics can
- be shown here so that you can understand how the system will
- work.
- </para>
- <para>
- The Context Sensitive Help system is designed to allow the
- developer to give an id to a particular portion of the User
- Interface, for example, a button. Once the interface is complete
- a Perl script can then be run against the interface code to
- create a "map" file. This map file allows the developer or
- writer to associate particular paragraph sections from an XML
- document to the interface items.
- </para>
- <para>
- The XML used for the document is a small XML DTD that is being
- developed to use the same tags (albeit, much fewer) as DocBook
- so that writers do not have to re-learn a new DTD.
- </para>
- <para>
- Once the document is written and map file is complete, when the
- user launches context sensitive help on the interface (either by
- pressing a button and then clicking on the interface item they
- want information on, or by right mouse clicking on the interface
- item and selecting a pop-up menu item like "What's This") a
- small transient window will appear with brief but detailed
- information on the interface item.
- </para>
- </sect1>
-
-<!-- ################# Referring to Other GNOME Documentation
-############# -->
-
- <sect1 id="referring">
- <title>Referring to Other GNOME Documentation (coming in
- GNOME-2.0)</title>
- <para>
- In the GNOME 2.0 Help System, you will be able to create links
- from one document to another. The exact mechanism for doing
- this is in development.
- </para>
- </sect1>
-
-
-<!-- ################# Basics of Documentation Style ############### -->
-
- <sect1 id="basics">
- <title>Basics of Documentation Style</title>
- <para>
- Most people have never enjoyed reading a software manual, and
- they probably never will. Many times, they'll read the
- documentation only when they run into problems, and they'll be
- frustrated and upset before they even read a word. On the
- other hand, some readers will read the manual all the way
- through, or at least look at the introduction before they
- start. Your document might serve as a reference for an expert
- or a guide to a beginner, and it must have enough depth to
- satisfy the first without overwhelming the second. Ideally, it
- will serve beginners as they <emphasis>become</emphasis>
- experts. Remember, your goal is to produce <emphasis>complete,
- intuitive and clear</emphasis> documentation.
- </para>
- <para>
- In order to write useful documentation, you'll have to know who
- your audience is likely to be. Then, you can look for the
- problems they're likely to run into, and solve them. It will
- also help if you focus on the tasks users will perform, and
- group features accordingly, rather than simply describing
- features at random.
- </para>
-
-<!-- *********** Basics of Documentation Style: planning -->
-
- <sect2 id="styleplanning">
- <title>Planning</title>
- <para>
- Begin documenting by learning how to use the application and
- reading over any existing documentation. Pay attention to
- places where your document will differ from the template. It
- may help to develop a document skeleton: a valid XML or SGML
- document that has little or no content. For very large
- applications, you will need to make significant departures
- from the templates, since you'll be using the
- <sgmltag>&lt;book></sgmltag> tag instead of
- <sgmltag>&lt;chapter></sgmltag> or
- <sgmltag>&lt;article></sgmltag>.
- </para>
- </sect2>
-
-
-<!-- ####### Basics of Documentation Style | Balance ####### -->
- <sect2 id="balance">
- <title>Achieving a Balanced Style</title>
-
- <para>
- Just as you need to juggle expert and novice readers,
- you'll have to juggle a number of other extremes as you write:
- <itemizedlist>
- <listitem>
- <para>
- Documents should be complete, yet concise. You should
- describe every feature, but you'll have decide how much
- detail is really necessary. It's not, for example,
- necessary to describe every button and form field in a
- dialog box, but you should make sure that your readers
- know how to bring up the dialog and what it does. If
- you spend fewer words on the obvious, you can spend more
- time clarifying the ambiguous labels and explaining
- items that are more complex.
- </para>
- </listitem>
- <listitem>
- <para>
- Be engaging and friendly, yet professional. Games
- documents may be less formal than productivity
- application documents (people don't
- <emphasis>use</emphasis> games, they
- <emphasis>play</emphasis> them), but all of them should
- maintain a standard of style which holds the reader's
- interest without resorting to jokes and untranslatable
- allusions or puns.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Examples, tips, notes, and screenshots are useful to
- break up long stretches of text, but too many can get in
- the way, and make your documents too choppy to read.
- It's good to provide a screenshot of any dialog windows
- a user might run into, but if a dialog box has several
- tabs, it's not usually necessary to have one for each.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The GDP strives to have all of its documentation conform
- to certain standards of style and content, but every
- document (and every writer) is different. You will need
- to use your judgement, and write documents to fit with
- the rest of the project, without compromising the
- individual needs of your subject, or your own
- individuality as a writer.
- </para>
- </listitem>
-
- </itemizedlist>
- </para>
- </sect2>
-
-
-<!-- ####### Basics of Documentation Style | Structure ####### -->
-
- <sect2 id="stylestructure">
- <title>Structure</title>
- <para>
- In general, you won't have to worry too much about structure,
- because the templates provide you with an excellent example.
- As a general rule, try to follow that structural example.
- That means using links, hierarchical nesting, and, if
- necessary, a glossary or index. You probably won't need to
- use every available structural tag, but take advantage of
- what DocBook provides you.
- </para>
- <para>
- As to linking, there's some disagreement about whether to use
- <sgmltag>&lt;xref></sgmltag> <sgmltag>&lt;link></sgmltag>
- when you make links within your documents. You'll have to
- decide, based on the different ways that they are presented
- in output, which is more appropriate given the context.
- Regardless of which you use, you should not forget to use
- them. Help your readers find information that relevant to
- the issue at hand.
- </para>
- <para>
- The table of contents will be generated automatically, but
- you will probably have to develop your own index if you wish
- to have one. The Nautilus Help Browser will have new, and
- currently unknown, indexing capabilities, so index style and
- structure are still under discussion. The GNOME User's Guide
- will contain a glossary in its next versions; unless you're
- writing a<sgmltag>&lt;book></sgmltag>, it will probably be best to
- contribute to that rather than developing your own.
- </para>
- </sect2>
-<!-- ####### Basics of Documentation Style | Grammar & Spelling ####### -->
-
- <sect2 id="stylegrammar">
- <title>Grammar and Spelling</title>
- <para>
- Nobody expects you to be perfect; they just expect the
- documentation for their software to be error-free. That means
- that, in the same way that developers look for bugs and accept
- bug reports, writers must check for errors in their documents.
- Poor grammar, bad spelling, and gross technical errors in
- draft documents are fine. However, if those problems show up
- in a "real" release, they can count against the credibility of
- GNOME and Linux. They'll also make you look bad.
- </para>
- <para>
- There is no substitute for a human proofreader; use a
- spell-check program, then read it over yourself, and then find
- someone else to help you. Other GDP members are, of course,
- willing and able to help you, but non-writers are often at
- least as helpful.
- </para>
- <para>
- Proofreading documents is both a also a good way to
- familiarize yourself with documentation, and it certainly
- makes you valuable to the GDP. Help other writers proof their
- documents, and they will help you with yours.
- </para>
- </sect2>
- </sect1>
-
-<!-- ################# Teamwork ############### -->
-
- <sect1 id="teamwork">
- <title>Teamwork</title> <!-- ####### Teamwork | Working With The
-GDP Team ####### -->
-
- <sect2 id="teamworkgdp">
- <title>Working With The GDP Team</title>
- <para>
- The GDP team is a valuable resource for any documentation
- author. GDP members can answer most questions documentation
- authors have during the course of their work. It is also
- important to make sure you are not duplicating work of other
- GDP members by visiting the <citetitle>GDP Documentation
- Status Table</citetitle> (<ulink
- url="http://www.gnome.org/gdp/doctable/"
- type="http">http://www.gnome.org/gdp/doctable/</ulink>) and
- assigning a documentation item to yourself. This table also
- provides a forum for making suggestions and announcements for
- each documentation item. The best way to get in touch with
- GDP members is on the #docs IRC channel at irc.gnome.org or
- else by emailing the <ulink type="http"
- url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
- <citetitle>gnome-doc-list mailing list</citetitle></ulink>.
- </para>
- <para>
- After an author has finished a document (or even a draft
- version of the document), it is a good idea to ask a member of
- the GDP team to read the document, checking it for grammar,
- proper DocBook markup, and clarity. One may typically find
- another author to do this by either asking on the #docs IRC
- channel at irc.gnome.org or by emailing the <ulink type="http"
- url="http://mail.gnome.org/mailman/listinfo/gnome-doc-list/">
- <citetitle>gnome-doc-list mailing list</citetitle></ulink>.
- </para>
- </sect2>
-
-<!-- ####### Teamwork | Working With Developers ####### -->
-
- <sect2 id="teamworkdevelopers">
- <title>Working With Developers</title>
- <para>
- Writing documentation typically involves a certain amount of
- interaction with the developers of GNOME or the application
- which is being documented. Often a document author will need
- to ask the developer technical questions during the course of
- writing a document. After the document is finished, it is good
- idea to ask the developer to read the document to make sure it
- is technically correct. The documentation author should also
- make sure that the application author correctly binds and
- packages the documentation with the application.
- </para>
- </sect2>
-
-<!-- ####### Teamwork | Working With Users #######
-
- <sect2 id="teamworkusers">
- <title>Working With Users</title>
- <para>
- Some document authors may wish to get feedback on their
- documents directly from users. This may be done by ...
- </para>
- </sect2>-->
- </sect1>
-
-<!-- ################# Finishing a Document ############### -->
-
- <sect1 id="finishing">
- <title>Finishing A Document</title>
-
-<!-- ####### Finishing a Document | Editting the Document ####### -->
-
- <sect2 id="editting">
- <title>Editing The Document</title>
- <para>
- When the document is finished, the document should be edited
- by another member of the GDP for spelling, clarity, and
- DocBook markup. It should also be read by an application
- author to make sure the document is technically accurate.
- </para>
- </sect2>
-
-<!-- ####### Finishing a Document | Submitting the Document ####### -->
-
- <sect2 id="submitting">
- <title>Submitting The Document</title>
- <para>
- After the document has been edited and checked for technical
- accuracy, it is ready to be combined with the application or
- documentation package. This is typically done by passing the
- document to the application or package developer. In some
- cases, the documents can be committed directly into CVS,
- however this should only be done after obtaining permission to
- make CVS commits from the developer. Note that in many cases,
- the application may need to be modified to correctly link to
- the documentation. The packaging system (tarballs and binary
- packages) may also need to be modified to include the
- documentation in the package. Generally, this should be done
- by the developers.
- </para>
- <para>
- The final step is to email the GNOME Translation Team at
- <email>gnome-i18n@nuclecu.unam.mx</email> to notify them that
- there is a new document for them to translate.
- </para>
- </sect2>
- </sect1>
-
-<!-- ################# Resources ############### -->
-
- <sect1 id="resources">
- <title>Resources</title>
-<!-- ####### Resources | Resources on the Web ####### -->
-
- <sect2 id="resourcesweb">
- <title>Resources On The Web</title> <para> The <ulink
- type="http" url="http://developer.gnome.org/projects/gdp/">GNOME
- Documentation Project Web page</ulink> lists current GDP
- projects and members.
- </para>
- <para>
- The <ulink url="http://www.gnome.org/gdp/doctable/"
- type="http">GDP Documentation Status Table</ulink> tracks the
- status of all the various documentation components of GNOME.
- </para>
- <para>
- Norman Walsh's <ulink url="http://www.docbook.org"
- type="http"> <citetitle>DocBook: The Definitive
- Guide</citetitle></ulink> in an excellent book on DocBook,
- available both online and in print.
- </para>
- </sect2>
-
-<!-- ####### Resources | Books ####### -->
-
- <sect2 id="resourcesbooks">
- <title>Books</title>
- <para>
- Docbook: The Definitive Guide is available in both printed
- form and on the web at:
- <ulink url="http://www.docbook.org/tdg/index.html">
- <citetitle>Docbook: The Definitive Guide</citetitle>
- </ulink>
- </para>
- </sect2>
-
-<!-- ####### Resources | Mailing Lists ####### -->
-
- <sect2 id="mailinglists">
- <title>Mailing Lists</title>
- <para>
- The <emphasis>gnome-docs-list</emphasis> mailing list is the
- main discussion area for all contributors to the GNOME
- Documentation Project. You can find out how to subscribe to
- this list on <ulink
- url="http://www.gnome.org/resources/mailing-lists.html"
- type="http">GNOME Mailing Lists</ulink>. This is a rather
- low-volume list, so you will not be flooded with messages.
- </para>
- </sect2>
-
-<!-- ####### Resources | IRC ####### -->
-
- <sect2 id="irc">
- <title>IRC</title>
- <para>
- Internet Relay Chat (IRC) is a fast and easy way to get in
- touch with other GDP members. There are generally at least a
- few members here who can answer questions or discuss
- documentation issues. The IRC channel is #docs at
- irc.gnome.org.
- </para>
- </sect2>
- </sect1>
-
-<!-- ################# Example Docs ###############
-
- <appendix id="exampledocs">
- <title>Example Docs</title>
-
-####### Example Docs | Example 1: Application Manual #######
-
- <sect1 id="ex1">
- <title>Example 1: Application Manual</title>
- <programlisting>
-<![CDATA[ (Put sgml here.)]]> </programlisting>
- </sect1>
-
-####### Example Docs | Example 2: Applet Manual #######
-
- <sect1 id="ex2">
- <title>Example 2: Applet Manual</title>
- <programlisting>
-<![CDATA[(Put sgml here.)]]> </programlisting>
- </sect1>
-
-##### Example Docs | Example 3: Application Context Sensitive Help ####
-
- <sect1 id="ex3">
- <title>Example 3: Application Context Sensitive Help</title>
- <programlisting>
-<![CDATA[(Put sgml here.)]]> </programlisting>
- </sect1>
-
-####### Example Docs | Example 4: Complete Application: gnome-hello #######
-
- <sect1 id="ex4">
- <title>Example 4: Complete Application: gnome-hello</title>
- <programlisting>
-<![CDATA[(Put sgml here.)]]> </programlisting>
- </sect1>
-
-####### Example Docs | Example 5: Tutorial #######
-
- <sect1 id="ex5">
- <title>Example 5: Tutorial</title>
- <programlisting>
-<![CDATA[(Put sgml here.)]]> </programlisting>
- </sect1>
- </appendix>-->
-
-<!-- ################# Document Templates ############### -->
-
- <appendix id="templates">
- <title>Document Templates</title>
-<!-- ####### Document Templates | Templates 1: Application Manual ####### -->
-
- <sect1 id="template1">
- <title>Template 1: Application Manual</title>
- <para>
- The following template should be used for all application
- manuals. You can always get the latest copy of this
- template from <ulink type="http"
- url="http://developer.gnome.org/projects/gdp/templates.html">GDP
- Documentation Templates</ulink>.
- <programlisting>
-
-<![CDATA[
-<!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
- <!-- if not using PNG graphic, replace reference above with
- .....PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
- -->
-<!ENTITY version "1.0.53">
- <!-- replace version above with actual application version number-->
- <!-- Template Version: 1.0.1 (do not remove this line) -->
-]>
-
-
-<!-- This is a GNOME documentation template, designed by the GNOME
- Documentation Project Team. Please use it for writing GNOME
- documentation, making obvious changes. In particular, all the words
- written in UPPERCASE (with the exception of GNOME) should be
- replaced. As for "legalnotice", please leave the reference
- unchanged.
-
- Remember that this is a guide, rather than a perfect model to follow
- slavishly. Make your manual logical and readable. And don't forget
- to remove these comments in your final documentation! ;-)
- -->
-
-<!-- =============Document Header ============================= -->
-
-<article id="index"> <!-- please do not change the id -->
-
- <artheader>
- <title>MY-GNOME-APP</title>
- <copyright>
- <year>2000</year>
- <holder>ME-THE-AUTHOR</holder>
- </copyright>
-
- <!-- translators: uncomment this:
-
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
-
- -->
-
- <!-- do not put authorname in the header except in copyright - use
- section "authors" below -->
-
- <legalnotice>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the <citetitle>GNU Free
- Documentation License</citetitle>, Version 1.1 or any later
- version published by the Free Software Foundation with no
- Invariant Sections, no Front-Cover Texts, and no Back-Cover
- Texts. You may obtain a copy of the <citetitle>GNU Free
- Documentation License</citetitle> from the Free Software
- Foundation by visiting <ulink type="http"
- url="http://www.fsf.org">their Web site</ulink> or by writing
- to: Free Software Foundation, Inc., 59 Temple Place - Suite
- 330, Boston, MA 02111-1307, USA.
- </para>
- <para>
- Many of the names used by companies to distinguish their
- products and services are claimed as trademarks. Where those
- names appear in any GNOME documentation, and those trademarks
- are made aware to the members of the GNOME Documentation
- Project, the names have been printed in caps or initial caps.
- </para>
- </legalnotice>
-
- <!-- this is the version of manual, not application -->
- <releaseinfo>
- This is version 1.0 of MY-GNOME-APP manual.
- </releaseinfo>
-
- </artheader>
-
- <!-- ============= Document Body ============================= -->
-
- <!-- ============= Introduction ============================== -->
- <sect1 id="intro">
- <title>Introduction</title>
-
- <para>
- <application>MY-GNOME-APP</application> is an application which
- proves mathematical theorems. It has all the basic features
- expected from a mathematical theorem prover, as well as a number
- of advanced ones, such as proof by confusion. In fact, many of
- the proofs produced by <application>MY-GNOME-APP</application>
- are so complex that they are capable of proving almost anything
- with a virtually null likelihood of being disproven. It also has
- the very popular predecessor of proof by confusion, proof by
- dialog, first implemented by Plato.
- </para>
- <para>
- It also allows you to save and print theorem proofs and to add
- comments to the proofs it produces.
- </para>
-
- <para>
- To run <application>MY-GNOME-APP</application>, select
- <menuchoice>
- <guisubmenu>SUBMENU</guisubmenu>
- <guimenuitem>MY-GNOME-APP</guimenuitem>
- </menuchoice>
- from the <guimenu>Main Menu</guimenu>, or type
- <command>MYGNOMEAPP</command> on the command line.
- </para>
-
- <para>
- <application>MY-GNOME-APP</application> is included in the
- <filename>GNOME-PACKAGE</filename> package, which is part of the
- GNOME desktop environment. This document describes version
- &version; of <application>MY-GNOME-APP</application>.
- </para>
- </sect1>
-
-
- <!-- ================ Usage ================================ -->
- <!-- This section should describe basic usage of the application. -->
-
- <sect1 id="usage">
- <title>Using MY-GNOME-APP</title>
- <para>
- <application>MY-GNOME-APP</application> can be used to produce a
- perfect proof of <emphasis>any</emphasis> mathematical theorem
- (provided, of course, that this theorem is correct), thus
- providing for new users an easy-to-use graphical interface to
- modern mathematics. This section describes basic usage of
- <application>MY-GNOME-APP</application>.
- </para>
-
- <!-- ========= Basic Usage =========================== -->
- <sect2 id="mainwin">
- <title>Basic usage</title>
- <para>
- Starting <application>MY-GNOME-APP</application> opens the
- <interface>Main window</interface>, shown in <xref
- linkend="mainwindow-fig">. The window is at first empty.
-
- <!-- ==== Figure ==== -->
- <figure id="mainwindow-fig">
- <title>MY-GNOME-APP Main Window</title>
- <screenshot>
- <screeninfo>MY-GNOME-APP Main Window</screeninfo>
- <graphic fileref="SCREENSHOT" format="png" srccredit="ME">
- </graphic>
- </screenshot>
- </figure>
- <!-- ==== End of Figure ==== -->
- </para>
-
-
- <!-- For this app, one could put "proving" or "edit" (probably even
- both of them) as sect2's seperate from the main window
- section. Since they were both so closely involved with the main
- window, I decided to have them as sect3's isntead. Judgement
- call. -->
-
- <sect3 id="proving">
- <title>Proving a Theorem</title>
- <para>
- To get a proof of a theorem, select
- <menuchoice>
- <guisubmenu>File</guisubmenu>
- <guimenuitem>New</guimenuitem>
- </menuchoice>,
- which will
- bring up the <interface>New Proof</interface> dialog box.
- Enter the statement of the theorem in the
- <guilabel>Theorem statement</guilabel> field, select your
- desired proof type from the drop-down menu, and and press
- <guibutton>Prove!</guibutton>.
- </para>
- <para>
- If <application>MY-GNOME-APP</application> cannot prove the
- theorem by the method you have chosen, or if you have not
- selected a proof type at all,
- <application>MY-GNOME-APP</application> will attempt to
- choose the one that it thinks is most conclusive. In order,
- it will attempt to prove the theorem with the following techniques:
-
- <variablelist>
- <varlistentry>
- <term>Deduction</term>
- <listitem>
- <para>
- This is a proof method that is generally accepted
- for full credit by Logic professors.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Induction</term>
- <listitem>
- <para>
- This logical style will also earn you full credit on
- your homework.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Dialog</term>
- <listitem>
- <para>
- This logical method is best for Philosophy classes,
- and will probably only merit partial credit on Logic
- or Mathematics homework.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Confusion</term>
- <listitem>
- <para>
- Suitable only for political debates, battles of wits
- against the unarmed, and Philosophy classes focusing
- on the works of Kant. Use with caution.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
-
- <!-- You might want to include a note, warning, or tip, e.g. -->
-
- <warning>
- <title>Proving Incorrect Theorms</title>
- <para>
- <application>MY-GNOME-APP</application> cannot prove
- incorrect theorems. If the theorem you have entered is not
- demonstrably true, you will get a message to that effect
- in the main window. To disprove a theorem, ask
- <application>MY-GNOME-APP</application> to prove its
- logical inverse.
- </para>
- </warning>
- </sect3>
- <sect3 id="editing">
- <title>Editing Proofs</title>
- <para>
- Once you have proven the theorem, it will be displayed in
- the <interface>main window</interface>. There, you can read
- it over, choose text styles for different portions of it,
- and make comments on it. This section will guide you through
- that process.
- </para>
- <para>
- To alter text styles, first select the statement you wish to
- change by clicking on it once. You can select several
- statements by Then, choose the style you want to apply from
- the <guisubmenu>Style</guisubmenu> submenu of the
- <guimenu>Edit</guimenu> menu.
- <application>MY-GNOME-APP</application> will convert the
- text to that style.
- </para>
- <para>
- You can also enter comments on a statement by selecting that
- statement, and then beginning to type. Comments will appear
- after the statement you have selected.
- </para>
-
- <note>
- <title>Altering The Proofs Themselves</title>
- <para>
- <application>MY-GNOME-APP</application> does not allow you
- to alter a proof it has produced itself. You can, save
- your proof as a plain text file (using the
- <guimenuitem>Save as...</guimenuitem> menu), and alter it
- that way. Be aware, however, that
- <application>MY-GNOME-APP</application> uses its own file
- format for saved proofs, and cannot re-open a file unless
- it is in the .mga format.
- </para>
- </note>
- </sect3>
-
-
- <!-- If there are other functions performed from the main window,
- they belong here. -->
-
- </sect2>
-
- <!-- =========================================================
- Additional Sect2's should describe additional windows, such as
- larger dialog boxes, or functionality that differs significantly
- from the most immediate functions of the application. Make the
- structure logical.
- ============================================================= -->
-
-
- <sect2 id="toolbar">
- <title>Toolbar</title>
- <para>
- The toolbar (shown in <xref linkend="figure-usage-toolbar">)
- provides access to several commonly used routines.
- <figure id="figure-usage-toolbar">
- <title>MY-GNOME-APP Toolbar</title>
- <screenshot>
- <screeninfo>MY-GNOME-APP Toolbar</screeninfo>
- <graphic fileref="usage-toolbar.png" format="png"></graphic>
- </screenshot>
- </figure>
- <variablelist>
- <varlistentry>
- <term>New</term>
- <listitem>
- <para>
- Brings up the <interface>New Theorem</interface>
- dialog.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Open</term>
- <listitem>
- <para>
- Open an exisiting theorem you want to prove, or a
- completed proof you wish to print or format.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>Save</term>
- <listitem>
- <para>
- Save the current theorem permanently in a
- file.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- </sect2>
- <!-- ========= Menus =========================== -->
-
- <sect2 id="menubar">
-
- <!-- Describing the menubar ensures comprehensive feature
- coverage. Nest itemizedlists inside variablelists so that each
- menu is easily located by indexing software. Proper indentation
- makes it easier! -->
-
- <title>Menus</title>
- <para>
- The menu bar, located at the top of the <interface>Main
- Window</interface>, contains the following menus:
- </para>
- <variablelist>
- <varlistentry>
- <term><guimenu>File</guimenu></term>
- <listitem>
- <para>
- This menu contains:
- <itemizedlist>
- <listitem>
- <para>
- <menuchoice>
- <shortcut>
- <keycap>F3</keycap>
- </shortcut>
- <guimenuitem>Open</guimenuitem>
- </menuchoice>
- &mdash; This opens a file which is saved on your computer.
- </para>
- </listitem>
- <listitem>
- <para>
- <menuchoice>
- <shortcut>
- <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo>
- </shortcut>
- <guimenuitem>Save</guimenuitem>
- </menuchoice>
- &mdash; This saves your file.
- </para>
- </listitem>
- <listitem>
- <para>
- <menuchoice>
- <shortcut>
- <keycombo><keycap>Ctrl</keycap><keycap>W</keycap></keycombo>
- </shortcut>
- <guimenuitem>Close</guimenuitem>
- </menuchoice>
- &mdash; This closes your file.
- </para>
- </listitem>
- <listitem>
- <para>
- <menuchoice>
- <shortcut>
- <keycombo><keycap>Ctrl</keycap><keycap>Q</keycap></keycombo>
- </shortcut>
- <guimenuitem>Exit</guimenuitem>
- </menuchoice>
- &mdash; This quits the application.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenu>Edit</guimenu></term>
- <listitem>
- <para>
- This menu contains:
- <itemizedlist>
- <listitem>
- <para>
- <menuchoice>
- <shortcut>
- <keycombo><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>
- </shortcut>
- <guimenuitem>Cut</guimenuitem>
- </menuchoice>
- &mdash; This removes any text or data which is selected and
- places it in the buffer.
- </para>
- </listitem>
- <listitem>
- <para>
- <menuchoice>
- <shortcut>
- <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo>
- </shortcut>
- <guimenuitem>Copy</guimenuitem>
- </menuchoice>
- &mdash; This copies any text or data which is selected into
- the buffer.
- </para>
- </listitem>
- <listitem>
- <para>
- <menuchoice>
- <shortcut>
- <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo>
- </shortcut>
- <guimenuitem>Paste</guimenuitem>
- </menuchoice>
- &mdash; This pastes any text or data which is copied into
- the buffer.
- </para>
- </listitem>
- <listitem>
- <para>
- <guimenuitem>COMMAND1&hellip;</guimenuitem>
- &mdash; This opens the <interface>COMMAND1</interface>
- dialog, which is used to ....
- </para>
- </listitem>
- <listitem>
- <para>
- <guimenuitem>COMMAND2</guimenuitem>
- &mdash; This ....
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
-
-
- <varlistentry>
- <term><guimenu>Settings</guimenu></term>
- <listitem>
- <para>
- This menu contains:
- <itemizedlist>
- <listitem>
- <para>
- <guimenuitem>Preferences&hellip;</guimenuitem>
- &mdash; This opens the <link
- linkend="prefs"><interface>Preferences
- Dialog</interface></link>, which allows you to configure
- many settings.
- </para>
- </listitem>
- <listitem>
- <para>
- <guimenuitem>COMMAND3</guimenuitem> &mdash;
- This command does something.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenu>Help</guimenu></term>
- <listitem>
- <para>
- This menu contains:
- <itemizedlist>
- <listitem>
- <para>
- <guimenuitem>Manual</guimenuitem> &mdash; This
- opens the <application>GNOME Help
- Browser</application> and displays this manual.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guimenuitem>About</guimenuitem> &mdash; This
- opens the <interface>About</interface> dialog
- which shows basic information about
- <application>MY-GNOME-APP</application>, such as
- the author's name, the application version number,
- and the URL for the application's Web page if one
- exists.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
- </sect1>
-
-
-
- <!-- ============= Customization ============================= -->
-
- <sect1 id="prefs">
- <title>Customization</title>
- <para>
- To change the application settings, select
- <menuchoice>
- <guimenu>Settings</guimenu>
- <guimenuitem>Preferences...</guimenuitem>
- </menuchoice>. This opens the
- <interface>Preferences</interface> dialog, shown in <xref
- linkend="preferences-fig">.
- </para>
-
- <figure id="preferences-fig">
- <title>Preferences Dialog</title>
- <screenshot>
- <screeninfo>Preferences Dialog</screeninfo>
- <graphic fileref="SCREENSHOT" format="png"
- srccredit="ME">
- </graphic>
- </screenshot>
- </figure>
-
- <para>
- The properties in the <guilabel>PREFSTABNAME</guilabel> tab are:
-
- <!--many people use itemizedlists in cases like this. Variablelists
- are more appropriate -->
-
- <variablelist>
- <varlistentry>
- <term> <guilabel>Default Text Style</guilabel></term>
- <listitem>
- <para>
- Select the default text style for statements in your
- proof. You can still change the style for individual
- proofs or sections of a proof at a later date.
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>(Configuration Item Label)</term>
- <listitem>
- <para>
- (Description of Configuration)
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>(Configuration Item Label)</term>
- <listitem>
- <para>
- (Description of Configuration)
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
-
- <para>
- The properties in the <guilabel>SECONDTABNAME</guilabel> tab are:
- <variablelist>
- <varlistentry>
- <term>(Configuration Item Label)</term>
- <listitem>
- <para>
- (Description of Configuration)
- </para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>(Configuration Item Label)</term>
- <listitem>
- <para>
- (Description of Configuration)
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
-
- <para>
- After you have made all the changes you want, click on
- <guibutton>OK</guibutton> to apply the changes and close the
- <interface>Properties</interface> dialog. To cancel the changes
- and return to previous values, click the
- <guibutton>Close</guibutton> button.
- </para>
-
- </sect1>
-
-
- <!-- ============= Various Sections ============================= -->
-
- <!-- Here you should add, if necessary, several more sect1's,
- describing other windows (besides the main one), file formats,
- preferences dialogs, etc. as appropriate. Try not to make any of
- these sections too long. -->
-
-
- <!-- ============= Bugs ================================== -->
- <!-- This section should describe known bugs and limitations of
- the program if there are any - please be frank and list all
- problems you know of. -->
- <sect1 id="bugs">
- <title>Known Bugs and Limitations</title>
- <para>
- This application has no known bugs.
- </para>
- </sect1>
-
-
-<!-- ============= Authors ================================ -->
-
- <sect1 id="authors">
- <title>Authors</title>
- <para>
- <application>MY-GNOME-APP</application> was written by GNOME-HACKER
- (<email>hacker@gnome.org</email>). To find more information about
- <application>MY-GNOME-APP</application>, please visit the <ulink
- url="http://www.my-gnome-app.org" type="http">MY-GNOME-APP Web
- page</ulink>. Please send all comments, suggestions, and bug
- reports to the <ulink url="http://bugs.gnome.org" type="http">GNOME
- bug tracking database</ulink>. (Instructions for submitting bug
- reports can be found <ulink
- url="http://bugs.gnome.org/Reporting.html" type="http">
- on-line</ulink>.) You can also use <application>Bug Report
- Tool</application> (<command>bug-buddy</command>), available in the
- <guisubmenu>Utilities</guisubmenu> submenu of <guimenu>Main
- Menu</guimenu>, for submitting bug reports.
- </para>
-
- <para>
- This manual was written by ME
- (<email>MYNAME@MYADDRESS</email>). Please send all comments and
- suggestions regarding this manual to the <ulink type="http"
- url="http://developer.gnome.org/projects/gdp">GNOME Documentation
- Project</ulink> by sending an email to
- <email>docs@gnome.org</email>. You can also add your comments online
- by using the <ulink type="http"
- url="http://www.gnome.org/gdp/doctable/">GNOME Documentation Status
- Table</ulink>.
- </para>
-
- <!-- For translations: uncomment this:
-
- <para>
- Latin translation was done by ME
- (<email>MYNAME@MYADDRESS</email>). Please send all comments and
- suggestions regarding this translation to SOMEWHERE.
- </para>
-
- -->
-
- </sect1>
-
-
- <!-- ============= Application License ============================= -->
-
- <sect1 id="license">
- <title>License</title>
- <para>
- This program is free software; you can redistribute it and/or
- modify it under the terms of the <citetitle>GNU General Public
- License</citetitle> as published by the Free Software Foundation;
- either version 2 of the License, or (at your option) any later
- version.
- </para>
- <para>
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- <citetitle>GNU General Public License</citetitle> for more details.
- </para>
- <para>
- A copy of the <citetitle>GNU General Public License</citetitle> is
- included as an appendix to the <citetitle>GNOME Users
- Guide</citetitle>. You may also obtain a copy of the
- <citetitle>GNU General Public License</citetitle> from the Free
- Software Foundation by visiting <ulink type="http"
- url="http://www.fsf.org">their Web site</ulink> or by writing to
- <address>
- Free Software Foundation, Inc.
- <street>59 Temple Place</street> - Suite 330
- <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
- <country>USA</country>
- </address>
- </para>
- </sect1>
-</article>
-
-
-
-
-
-
-
-
-
-]]>
-
-
-</programlisting>
- </para>
- </sect1>
-
-<!-- ####### Document Templates | Templates 2-1.x: Applet Manual ####### -->
-
- <sect1 id="template2-1x">
- <title>Template 2: Applet Manual For GNOME 1.x</title>
- <para>
- The following templates should be used for all applet
- manuals in GNOME 1.x releases. You can always get the latest
- copy of these templates from <ulink type="http"
- url="http://developer.gnome.org/projects/gdp/templates.html">GDP
- Documentation Templates</ulink>. Note that the template
- consists of two files; the first file calls the second as an
- entity. You should name the first file
- <filename><replaceable>appletname</replaceable>-applet.sgml</filename>
- and the second file should be named
- <filename><replaceable>appletname</replaceable>.sgml</filename>,
- where
- <filename><replaceable>appletname</replaceable></filename> is
- the name of the applet.
- <programlisting>
-
-<![CDATA[
-<!DOCTYPE Article PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
- <!entity APPLETNAME.sgml SYSTEM "applet_template_1.sgml">
- <!-- Template Version: 1.0.1 (do not remove this line) -->
-]>
-
-<!-- This is a GNOME documentation template, designed by the GNOME
- Documentation Project Team. Please use it for writing GNOME
- documentation, making obvious changes. In particular, all the words
- written in UPPERCASE (with the exception of GNOME) should be
- replaced. As for "legalnotice", please leave the reference
- unchanged,make sure to add/remove trademarks to the list as
- appropriate for your document.
-
- Please don't forget to remove these comments in your final documentation,
- thanks ;-).
--->
-
-<article id="index"> <!-- please do not change the id -->
-
- <!-- ============= Document Header ============================= -->
- <artheader>
- <title>APPLETNAME Applet</title>
- <copyright>
- <year>2000</year>
- <holder>YOURFULLNAME</holder>
- </copyright>
-
- <!-- translators: uncomment this:
-
- <copyright>
- <year>2000</year>
- <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
- </copyright>
-
- -->
-
- <!-- do not put authorname in the header except in copyright - use
- section "authors" below -->
-
- <legalnotice>
- <para>
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the <citetitle>GNU Free Documentation
- License</citetitle>, Version 1.1 or any later version published
- by the Free Software Foundation with no Invariant Sections, no
- Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy
- of the <citetitle>GNU Free Documentation License</citetitle> from
- the Free Software Foundation by visiting <ulink type="http"
- url="http://www.fsf.org">their Web site</ulink> or by writing to:
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
- </para>
- <para>
- Many of the names used by companies to distinguish their products and
- services are claimed as trademarks. Where those names appear in any
- GNOME documentation, and those trademarks are made aware to the members
- of the GNOME Documentation Project, the names have been printed in caps
- or initial caps.
- </para>
- </legalnotice>
-
- <releaseinfo>
- This is version XXX of the APPLETNAME applet manual.
- </releaseinfo>
- </artheader>
-
- <!-- ============= Document Body ============================= -->
-
- &APPLETNAME.sgml;
-
-</article>
-
-
-]]>
-
-
-</programlisting>
- <programlisting>
-<![CDATA[
- <!-- Template Version: 1.0.1 (do not remove this line) -->
-
- <sect1 id="APPLET">
- <title>APPLET Applet</title>
-
- <para>
- <application>APPLET</application> applet, shown in <xref
- linkend="APPLETapplet-fig">, allows you to &hellip;. To add this
- applet to a <interface>Panel</interface>,
- right-click on the <interface>Panel</interface> and choose
- <menuchoice>
- <guimenu>Panel</guimenu>
- <guisubmenu>Add to panel</guisubmenu>
- <guisubmenu>Applet</guisubmenu>
- <guisubmenu>SECTION</guisubmenu>
- <guimenuitem>APPLET</guimenuitem>
- </menuchoice>.
- </para>
-
- <figure id="APPLETapplet-fig">
- <title>APPLET Applet</title>
- <screenshot>
- <screeninfo>APPLET Applet</screeninfo>
- <graphic format="png" fileref="APPLET_applet"
- srccredit="YOURNAME">
- </graphic>
- </screenshot>
- </figure>
-
- <!-- ============= Usage ================================ -->
- <sect2 id="APPLET-usage">
- <title>Usage</title>
- <para>
- (Place a short description of how to use the applet here.)
- </para>
-
- <para>
- Right-clicking on the applet brings up a menu containing the
- following items:
- <itemizedlist>
-
- <listitem>
- <para>
- <guimenuitem>Properties&hellip;</guimenuitem> &mdash;
- opens the <link linkend="APPLET-prefs">
- <guilabel>Properties</guilabel></link> dialog.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guimenuitem>Help</guimenuitem> &mdash;
- displays this document.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <guimenuitem>About&hellip;</guimenuitem> &mdash;
- shows basic information about <application>APPLET
- Applet</application>, including the applet's version and the
- author's name.
- </para>
- </listitem>
-
- </itemizedlist>
- </para>
- </sect2>
-
-
- <!-- ============= Customization ============================= -->
- <sect2 id="APPLET-prefs">
- <title>Customization</title>
- <para>
- You can customize <application>APPLET</application>
- applet by right-clicking on it and choosing
- <guimenuitem>Properties&hellip;</guimenuitem>. This will open the
- <interface>Properties</interface> dialog(shown in <xref
- linkend="APPLET-settings-fig">), which allows you to
- change various settings.
- </para>
-
- <figure id="APPLET-settings-fig">
- <title>Properties dialog</title>
- <screenshot>
- <screeninfo>Properties dialog</screeninfo>
- <graphic format="png" fileref="APPLET_settings"
- srccredit="YOURNAME">
- </graphic>
- </screenshot>
- </figure>
-
- <para>
- The properties are:
- <itemizedlist>
-
- <listitem>
- <para>
- (Configuration Item Label) &mdash; If this button is
- checked&hellip;(description)
- </para>
- </listitem>
-
- <listitem>
- <para>
- (Configuration Item Label) &mdash; Selecting this
- button&hellip;(description)
- </para>
- </listitem>
-
- <listitem>
- <para>
- (Configuration Item Label) &mdash; Enter the name of
- &hellip;(description)
- </para>
- </listitem>
- </itemizedlist>
- </para>
-
- <para>
- After you have made all the changes you want, click on
- <guibutton>OK</guibutton> to apply the changes and close the
- <interface>Properties</interface> dialog. To cancel the changes
- and return to previous values, click the
- <guibutton>Close</guibutton> button.
- </para>
- </sect2>
-
-
- <!-- ============= Bugs ================================== -->
- <!-- This section should describe known bugs and limitations of
- the program if there are any - please be frank and list all
- problems you know of -->
- <sect2 id="bugs">
- <title>Known Bugs and Limitations</title>
- <para>
- This applet has no known bugs.
- </para>
- </sect2>
-
-
- <!-- ============= Authors ================================ -->
-
- <sect2 id="authors">
- <title>Authors</title>
- <para>
- <application>APPLET</application> was written by GNOME-HACKER
- (<email>hacker@gnome.org</email>). Please send all comments,
- suggestions, and bug
- reports to the <ulink url="http://bugs.gnome.org" type="http">GNOME
- bug tracking database</ulink>. (Instructions for submitting bug
- reports can be found <ulink
- url="http://bugs.gnome.org/Reporting.html" type="http">
- on-line</ulink>. You can also use <application>Bug Report
- Tool</application> (<command>bug-buddy</command>), available in the
- <guisubmenu>Utilities</guisubmenu> submenu of <guimenu>Main
- Menu</guimenu>, for submitting bug reports.
- </para>
-
- <para>
- This manual was written by ME
- (<email>MYNAME@MYADDRESS</email>). Please send all comments and
- suggestions regarding this manual to the <ulink type="http"
- url="http://developer.gnome.org/projects/gdp">GNOME Documentation
- Project</ulink> by sending an email to
- <email>docs@gnome.org</email>. You can also submit comments online
- by using the <ulink type="http"
- url="http://www.gnome.org/gdp/doctable/">GNOME Documentation
- Status Table</ulink>.
- </para>
-
- <!-- For translations: uncomment this:
-
- <para>
- Latin translation was done by ME
- (<email>MYNAME@MYADDRESS</email>). Please send all comments and
- suggestions regarding this translation to SOMEWHERE.
- </para>
-
- -->
-
- </sect2>
-
-
- <!-- ============= Application License ============================= -->
-
- <sect2 id="license">
- <title>License</title>
- <para>
- This program is free software; you can redistribute it and/or
- modify it under the terms of the <citetitle>GNU General Public
- License</citetitle> as published by the Free Software Foundation;
- either version 2 of the License, or (at your option) any later
- version.
- </para>
- <para>
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- <citetitle>GNU General Public License</citetitle> for more details.
- </para>
- <para>
- A copy of the <citetitle>GNU General Public License</citetitle> is
- included as an appendix to the <citetitle>GNOME Users
- Guide</citetitle>. You may also obtain a copy of the
- <citetitle>GNU General Public License</citetitle> from the Free
- Software Foundation by visiting <ulink type="http"
- url="http://www.fsf.org">their Web site</ulink> or by writing to
- <address>
- Free Software Foundation, Inc.
- <street>59 Temple Place</street> - Suite 330
- <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>
- <country>USA</country>
- </address>
- </para>
- </sect2>
-
- </sect1>
-
-
-
-
-]]>
-
-
-
-</programlisting>
- </para>
- </sect1>
-
-<!-- ####### Document Templates | Templates 2-2.x: Applet Manual ####### -->
-
- <sect1 id="template2-2x">
- <title>Template 2: Applet Manual For GNOME 2.x</title>
- <para>
- The following templates should be used for all applet
- manuals in GNOME 2.x releases. You can always get the latest
- copy of these templates from <ulink type="http"
- url="http://developer.gnome.org/projects/gdp/templates.html">GDP
- Documentation Templates</ulink>.
- </para>
- <para>
- Note that this template consists of two files. The first file
- is an introductory chapter. You should not modify this
- chapter. The second file is the actual applet document, which
- you should modify to describe the applet you are documenting.
- You can name the first file whatever you like, such as
- <filename>gnome-applets.sgml</filename>. Name the second file
- according to the applet's name:
- <filename><replaceable>appletname</replaceable>-applet.sgml</filename>.
- Make sure you update the entity
- at the top of the shell document to reflect the new name of
- the applet document.
- </para>
- <para>
- <programlisting>
-<![CDATA[
-<!DOCTYPE book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
-<!ENTITY TEMPLATE-APPLET SYSTEM "gnome-applet-template.sgml.part">
-
-]>
-
-<book id="gnome-applets">
-
- <bookinfo>
- <title>GNOME Applets</title>
- <authorgroup>
- <author><firstname>Telsa</firstname><surname>Gwynne</surname></author>
- <author><firstname>John</firstname><surname>Fleck</surname></author>
- <author><firstname>David</firstname><surname>Mason</surname>
- <affiliation><orgname>Red Hat, Inc.</orgname></affiliation>
- </author>
- <author><firstname>Dan</firstname><surname>Mueth</surname></author>
- <author><firstname>Alexander</firstname><surname>Kirillov</surname></author>
- </authorgroup>
- <edition>GNOME Applets version 0.1 for GNOME 1.1.5</edition>
- <pubdate>2000</pubdate>
- <copyright>
- <year>2000</year>
- <holder>Telsa Gwynne, John Fleck, Red Hat Inc., Dan Mueth, and
- Alexander Kirillov</holder>
- </copyright>
- <legalnotice>
- <para>
- Permission is granted to make and distribute verbatim copies of this
- manual provided the copyright notice and this permission notice are
- preserved on all copies.
- </para>
- <para>
- Permission is granted to copy and distribute modified versions of
- this manual under the conditions for verbatim copying, provided that
- the entire resulting derived work is distributed under the terms of a
- permission notice identical to this one.
- </para>
- <para>
- Permission is granted to copy and distribute translations of this
- manual into another language, under the above conditions for modified
- versions, except that this permission notice may be stated in a
- translation approved by the Free Software Foundation.
- </para>
- <para>
- Many of the names used by companies to distinguish their products and
- services are claimed as trademarks. Where those names appear in any
- GNOME documentation, and those trademarks are made aware to the members
- of the GNOME Documentation Project, the names have been printed in caps
- or initial caps.
- </para>
- </legalnotice>
- </bookinfo>
-
- <!-- #### Introduction ###### -->
- <chapter id="applets-intro">
- <title>Introduction</title>
-
- <!-- #### Intro | What Are Applets? ###### -->
- <sect1 id="applets-what-are">
- <title>What Are Applets?</title>
- <para>
- Applets are one of the most popular and useful objects you can add
- to your <interface>Panel</interface> to customize your desktop.
- An applet is a small application which runs inside a small area of
- your <interface>Panel</interface>. Applets have been written for
- a wide range of purposes. Some are very powerful interactive
- tools, such as the <application>Tasklist</application> Applet
- which allows you to easily
- control all of your main applications. Others are simple system
- monitors, displaying information such as the amount of power left
- in the battery on your laptop (see <application>Battery Charge
- Monitor</application>) or weather
- information(see <application>GNOME Weather</application>). Some
- are simply for amusement(see <application>Fish</application>).
- </para>
-
- <para>
- Applets are similar to swallowed applications in that both of them
- reside within the <interface>Panel</interface>. However,
- swallowed applications are generally applications which were
- not designed to run within the <interface>Panel</interface>.
- Typically one will swallow an application which already exists in
- the main <interface>desktop</interface> area, putting it into your
- <interface>Panel</interface>. The application will continue to
- run in the <interface>Panel</interface> until you end the
- application or unswallow it, placing it back onto the main part of
- your desktop when you need to.
- </para>
-
- <para>
- <figure id="example-applets-fig">
- <title>Example Applets</title>
- <screenshot>
- <screeninfo>Example Applets</screeninfo>
- <graphic fileref="example_applets" format="png"
- srccredit="muet">
- </graphic>
- </screenshot>
- </figure>
- Several example applets are shown in <xref
- linkend="example-applets-fig">. From left to right, they are: (1)
- <application>Mixer Applet</application>, which allows you to turn
- on/off sound and control its volume by clicking on the applet. (2)
- <application>Sound Monitor</application> Applet, which displays
- the current volume of sound being played and allows you to control
- various sound features. (3) <application>GTCD</application>
- Applet, a CD player which has all its controls
- available in the applet and displays the track and time. (4)
- <application>Drive Mount</application> Applet, used to mount and
- unmount drives with a single click of the mouse. (5)
- <application>Desk Guide</application> which allows you to view
- and control multiple virtual screens. (6)
- <application>Tasklist</application> Applet which allows you to
- control your various windows and applications.
- </para>
- <para>
- There are many other applets to choose from. The rest of this
- chapter will explain the basic information to get you started
- adding, moving, and removing applets from your
- <interface>Panels</interface> and using them. The following
- chapters go through each of the standard GNOME applets describing
- them in detail. There are also additional applets which can be
- downloaded off the Web. See <ulink type="http"
- url="http://www.gnome.org/applist/list-martin.phtml">The GNOME
- Software Map</ulink> for lists of additional GNOME applications
- and applets.
- </para>
- <para>
- As you read through the the rest of this chapter, you should try
- adding and removing applets from your <interface>Panel</interface> and
- experiment with them freely.
- </para>
- </sect1>
-
- <!-- #### Intro | Adding, Moving, and Removing Applets ###### -->
- <sect1 id="applet-add-move-replace">
- <title>Adding, Moving, and Removing Applets</title>
-
- <sect2 id="adding-applets">
- <title>Adding Applets to a Panel</title>
- <para>
- To add an applet to a <interface>Panel</interface>, right-click
- on the <interface>Panel</interface> and select
- <menuchoice><guimenu>Panel</guimenu><guisubmenu>Add to panel</guisubmenu>
- <guisubmenu>Applet</guisubmenu></menuchoice>. This will show you
- the menu of all the applets on your system, divided into
- categories. Choosing any applet from this menu will add it to the
- <interface>Panel</interface>.
- </para>
- </sect2>
-
- <sect2 id="moving-applets">
- <title>Moving Applets In or Between Panels</title>
- <para>
- It is easy to move applets in a <interface>Panel</interface> or
- between two <interface>Panels</interface>. If you have a
- three-button mouse, just move the mouse over the applet, depress
- the middle mouse button and drag the applet to its new location,
- releasing the middle mouse button when you are finished. Note
- that you can drag applets within a <interface>Panel</interface>
- or between two <interface>Panels</interface> this way. If you
- don't have a three-button mouse, just
- right-click on the applet and choose
- <guimenuitem>Move</guimenuitem>. The cursor will turn into a
- cross and the applet will move with your mouse until you press
- any mouse button to indicate you are finished moving it.
- If, in the course of this movement, it hits
- other objects, the behavior depends on the global preferences
- you have set for your <interface>Panels</interface> in the
- <application>GNOME Control Center</application>: the applet you are
- moving can switch places with other objects, "push" all objects
- it meets, or "jump" over all other objects without disturbing
- them. You can also override the default behavior by holding
- <keycap>Shift</keycap> button (for "push" mode),
- <keycap>Ctrl</keycap> (for "switched" mode), or
- <keycap>Alt</keycap> (for "free" mode, i.e. jumping other other
- objects without disturbing them) button while dragging.
- </para>
- <para>
- To change the global Panel preferences, right-click on any applet
- or <interface>Panel</interface> and select
- <menuchoice>
- <guimenu>Panel</guimenu>
- <guimenuitem>Global Preferences...</guimenuitem>
- </menuchoice>.
- The <guilabel>Default movement mode</guilabel> is set under the
- <guilabel>Applets</guilabel> tab.
- </para>
- </sect2>
-
- <sect2 id="removing-applets">
- <title>Removing Applets from a Panel</title>
- <para>
- To remove an applet from a <interface>Panel</interface>,
- right-click on the applet and select <guimenuitem>Remove from
- panel...</guimenuitem>.
- </para>
- </sect2>
- </sect1>
-
-
- <!-- #### Intro | The Right-Click Pop-Up Menu ###### -->
- <sect1 id="right-click-pop-up-menu">
- <title>The Right-Click Pop-Up Menu</title>
- <para>
- Clicking the right mouse button on any applet brings up
- a <guimenu>pop-up menu</guimenu>. This
- menu always has certain standard menu items in it and
- often has additional items which vary depending on the particular
- applet.
- </para>
- <sect2 id="standard-right-click-items">
- <title>Standard Pop-Up Items</title>
- <para>
- All applets should have the following items in their right-click
- <guimenu>pop-up menu</guimenu>:
- <variablelist>
- <varlistentry>
- <term>Remove from panel</term>
- <listitem>
- <para>
- The <guimenuitem>Remove from panel</guimenuitem> menu item
- removes the applet from the <interface>Panel</interface>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Move</term>
- <listitem>
- <para>
- After selecting <guimenuitem>Move</guimenuitem>, your mouse
- pointer will change appearance (typically to a cross with
- arrows in each direction). As you move your mouse, the applet
- will move with it. When you have finished moving the applet,
- click any mouse button and the applet will anchor in its
- current position. Note that applets can be moved between two
- <interface>Panels</interface> this way.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Panel</term>
- <listitem>
- <para>
- The <guisubmenu>Panel</guisubmenu> submenu contains various
- items and submenus for adding and removing
- <interface>Panels</interface> and applets and for changing
- the configuration.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>About</term>
- <listitem>
- <para>
- The <guimenuitem>About...</guimenuitem> menu item brings up a
- dialogue box containing various information about the applet,
- typically including the applet's name, version, author,
- copyright, license and desciption.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Help</term>
- <listitem>
- <para>
- The <guimenuitem>Help</guimenuitem> menu item brings up the help
- manual for the applet.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- </sect2>
-
- <sect2 id="applet-properties-dialog">
- <title>The Applet Properties Dialog</title>
- <para>
- Many applets have customizable properties. These applets will
- have a <guimenuitem>Properties...</guimenuitem> menu item in their
- right-click <guimenu>pop-up menu</guimenu> which brings up the
- <interface>Properties</interface> dialog where you can alter the
- appearance or behaviour of the applet.
- <figure id="example-props-dialog-fig">
- <title>An Example Applet Properties Dialog</title>
- <screenshot>
- <screeninfo>An Example Applets Properties Dialog</screeninfo>
- <graphic fileref="applet_props_dialog" format="png"
- srccredit="muet">
- </graphic>
- </screenshot>
- </figure>
- All <interface>Properties</interface> dialogs have the following
- buttons at the bottom of the dialog:
- <itemizedlist>
- <listitem>
- <para>
- <guibutton>OK</guibutton> &mdash;
- Pressing <guibutton>OK</guibutton> will activate any changes
- in the properties you have made and close the
- <interface>Properties</interface> dialog.
- </para>
- </listitem>
- <listitem>
- <para>
- <guibutton>Apply</guibutton> &mdash;
- Pressing <guibutton>Apply</guibutton> at any time will
- make your changes active without closing the
- <interface>Properties</interface> dialog. This is helpful if
- you would like to test the effects of the changes you have
- made but may want to continue changing the properties.
- </para>
- </listitem>
- <listitem>
- <para>
- <guibutton>Close</guibutton> &mdash;
- Pressing <guibutton>Close</guibutton> will close the
- <interface>Properties</interface> dialog. Only changes in the
- configuration which were previously applied with the
- <guibutton>Apply</guibutton> button will persist. Other
- changes will not be made active.
- </para>
- </listitem>
- <listitem>
- <para>
- <guibutton>Help</guibutton> &mdash;
- Pressing <guibutton>Help</guibutton> brings up the manual for
- the application, opening it to the page describing the
- <interface>Properties</interface> dialog.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect2>
-
- <sect2 id="common-right-click-items">
- <title>Other Common Pop-Up Items</title>
- <para>
- Many applets also have one or more of the following items in their
- right-click pop-up menu:
- <variablelist>
- <varlistentry>
- <term>Run...</term>
- <listitem>
- <para>
- The <guimenuitem>Run...</guimenuitem> menu item generally
- invokes a program which is related to the applet in some way
- but which runs in its own window rather than in the
- panel. For example:
- </para>
- <orderedlist>
- <listitem>
- <para>
- The <application>CPU Load</application> applet, which monitors
- what programs are running, has a <guimenuitem>Run
- gtop...</guimenuitem> menu item. Selecting this menu item
- starts <application>GTop</application>, which allows you to
- view and control programs which are running.
- </para>
- </listitem>
- <listitem>
- <para>
- The <application>CD Player</application> applet has a
- <guimenuitem>Run gtcd...</guimenuitem> menu item which
- starts the GNOME <application>CD Player</application> when
- selected, which has more capabilities than the applet.
- </para>
- </listitem>
- </orderedlist>
- </listitem>
- </varlistentry>
- </variablelist>
- </para>
- </sect2>
- </sect1>
-
- <sect1 id="feedback">
- <title>Feedback</title>
- <sect2 id="reporting-bugs">
- <title>Reporting Applet Bugs</title>
- <para>
- GNOME users are encouraged to report bugs to <ulink type="http"
- url="http://bugs.gnome.org">The GNOME Bug Tracking
- System</ulink>. The easiest way to submit bugs is to use the
- <application>Bug Report Tool</application> program by selecting
- <menuchoice>
- <guimenu>Main Menu</guimenu> <guisubmenu>Utilities</guisubmenu>
- <guimenuitem>Bug Report Tool</guimenuitem>
- </menuchoice>.
- Be sure to be complete in describing what you did to cause the
- bug to surface and, if possible, describe how the developer can
- reproduce the the scenario.
- </para>
- </sect2>
- <sect2 id="documentation-feedback">
- <title>Providing Feedback</title>
- <para>
- GNOME users are welcome to provide suggestions for how
- applications and documentation can be improved. Suggestions for
- application changes should be submitted using the
- <application>Bug Report Tool</application> discussed above.
- Suggestions for documentation changes can be emailed directly to
- the documentation author (whose email should be included in the
- "Authors" section of the document) or by sending an email to
- <email>docs@gnome.org</email>.
- </para>
- </sect2>
- <sect2 id="joining-gnome">
- <title>Joining GNOME</title>
- <para>
- GNOME is a community project, created by hundreds of programmers,
- documentation writers, icon design artists, web masters, and
- other people, most of whom work on a volunteer basis. New GNOME
- contributors are always welcome. To join the GNOME team, visit
- these web sites: developers &mdash; <ulink type="http"
- url="http://developer.gnome.org">The GNOME Development
- Site</ulink>, documentation writers &mdash; <ulink type="http"
- url="http://developer.gnome.org/projects/gdp">The GNOME Documentation
- Project</ulink>, icon design artists &mdash; <ulink type="http"
- url="http://gnome-icons.sourceforge.net/">Gnome Icon Web</ulink>,
- general &mdash; <ulink type="http"
- url="http://developer.gnome.org/helping/">Helping GNOME</ulink>,
- or just join the gnome-list email list (see <ulink type="http"
- url="http://www.gnome.org/resources/mailing-lists.html">GNOME Mailing
- Lists</ulink>) to discuss what you are interested in doing.
- </para>
- </sect2>
- </sect1>
- </chapter>
-
- <!-- ############### Template Applets ##################### -->
- <chapter id="template-applets">
- <title>Template Applets</title>
-
- &TEMPLATE-APPLET
-
- </chapter>
-
-</book>
-
-
-
-
-
-
-
-]]>
- </programlisting>
-
- <programlisting>
-<![CDATA[
-
- <!-- Please replace everywhere below GNOMEAPPLET with the name of -->
- <!-- your applet. Most importantly, all id attributes should start -->
- <!-- with the name of your applet - this is necessary to avoid name -->
- <!-- conflict among different applets -->
- <!-- Please replace YOUR-NAME with your name and YOUR-EMAIL with your email-->
- <!-- Please replace HACKER-NAME with the applet author's name and -->
- <!-- HACKER-EMAIL with the applet author's email -->
-
- <!-- You should name your file: GNOMEAPPLET-applet.sgml -->
- <!-- Screenshots should be in PNG format and placed in the -->
- <!-- same directory as GNOMEAPPLET-applet.sgml -->
-
- <!-- Applet docs will be merged into <chapter>'s inside a -->
- <!-- <book>. Thus, the indentation below (2 spaces before the <sect1>) is -->
- <!-- correct.-->
-
- <!-- Permission is granted to make and distribute verbatim copies of -->
- <!-- this manual provided the copyright notice and this permission -->
- <!-- notice are preserved on all copies. -->
- <!-- -->
- <!-- Permission is granted to copy and distribute modified versions of -->
- <!-- this manual under the conditions for verbatim copying, provided -->
- <!-- that the entire resulting derived work is distributed under the -->
- <!-- terms of a permission notice identical to this one. -->
- <!-- -->
- <!-- Permission is granted to copy and distribute translations of this -->
- <!-- manual into another language, under the above conditions for -->
- <!-- modified versions, except that this permission notice may be -->
- <!-- stated in a translation approved by the Foundation. -->
-
- <!-- ############### GNOMEAPPLET ############### -->
- <sect1 id="GNOMEAPPLET">
- <title>GNOMEAPPLET Applet</title>
-
- <para>
- <application>GNOMEAPPLET</application> applet, shown in <xref
- linkend="GNOMEAPPLET-fig">, does this and that. To learn how to
- add this applet to a <interface>Panel</interface>, see <xref
- linkend="adding-applets">.
- </para>
-
-
- <figure id="GNOMEAPPLET-fig">
- <title>GNOMEAPPLET</title>
- <screenshot>
- <screeninfo>GNOMEAPPLET</screeninfo>
- <graphic format="png" fileref="GNOMEAPPLET-fig" srccredit="ME">
- </graphic>
- </screenshot>
- </figure>
-
- <sect2 id="GNOMEAPPLET-usage">
- <title>Usage</title>
- <para>
- This applet does nothing. To use it, just
- left-click on it and it will instantly do nothing.
- </para>
- </sect2>
-
- <sect2 id="GNOMEAPPLET-right-click">
- <title>Right-Click Pop-Up Menu Items</title>
- <para>
- In addition to the standard menu items (see <xref
- linkend="standard-right-click-items">), the right-click pop-up menu has
- the following items:
- <itemizedlist>
- <listitem>
- <para>
- <guimenuitem>Properties...</guimenuitem> &mdash; This menu
- item opens the <interface>Properties</interface> dialog (see
- <xref linkend="GNOMEAPPLET-properties">) which allows you to
- customize the appearance and behavior of this applet.
- </para>
- </listitem>
- <listitem>
- <para>
- <guimenuitem>Run Hello World...</guimenuitem> &mdash; This
- menu item starts the program <application>Hello
- World</application>, used to say "hello" to the world.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect2>
-
- <sect2 id="GNOMEAPPLET-properties">
- <title>Properties</title>
- <para>
- You can configure <application>GNOMEAPPLET</application> applet by
- right-clicking on the applet and choosing the
- <guimenuitem>Properties...</guimenuitem> menu item. This will open the
- <interface>Properties</interface> dialog, shown in <xref
- linkend="GNOMEAPPLET-properties-fig">.
- </para>
- <figure id="GNOMEAPPLET-properties-fig">
- <title>Properties Dialog</title>
- <screenshot>
- <screeninfo>Properties Dialog</screeninfo>
- <graphic format="png" fileref="GNOMEAPPLET-properties" srccredit="ME">
- </graphic>
- </screenshot>
- </figure>
-
- <para>
- To change the color of the applet, click on the
- <guibutton>color</guibutton> button. To change other properties,
- click on other buttons.
- </para>
-
- <para>
- For more information on the <interface>Properties</interface>
- dialog, including descriptions of the <guibutton>OK</guibutton>,
- <guibutton>Apply</guibutton>, <guibutton>Cancel</guibutton>, and
- <guibutton>Help</guibutton> buttons, see <xref
- linkend="applet-properties-dialog">.
- </para>
- </sect2>
-
- <sect2 id="GNOMEAPPLET-bugs">
- <title> Known Bugs and Limitations</title>
- <para>
- There are no known bugs in the
- <application>GNOMEAPPLET</application> applet.
- </para>
- </sect2>
-
- <sect2 id="GNOMEAPPLET-authors">
- <title>Authors</title>
- <para>
- This applet was writen by HACKER-NAME
- <email>HACKER-EMAIL</email>. The documentation for this applet
- which you are reading now was written by
- YOUR-NAME <email>YOUR-EMAIL</email>. For information on submitting
- bug reports and suggestions for improvements, see <xref
- linkend="feedback">.
- </para>
- </sect2>
-
- </sect1>
-
-
-
-
-
-]]>
-
-
-</programlisting>
- </para>
- </sect1>
-
-<!-- ####### Document Templates | Templates 3: Application Help #######
-
- <sect1 id="template3">
- <title>Template 2: Application Help</title>
- <programlisting>
-<![CDATA[(Put sgml here.)]]> </programlisting>
- </sect1>
-
-####### Document Templates | Templates 4: Application Context Sensitive Help #######
-
- <sect1 id="template4">
- <title>Template 3: Application Context Sensitive Help</title>
- <para>
- Context sensitive help is still in development.
- </para>
- </sect1>
-
-####### Document Templates | Templates 5: Complete Application: gnome-hello #######
-
- <sect1 id="template5">
- <title>Template 4: Complete Application: gnome-hello</title>
- <programlisting>
-<![CDATA[(Put sgml here.)]]>
- </programlisting>
- </sect1>
-
-####### Document Templates | Templates 6: Tutorial #######
-
- <sect1 id="template6">
- <title>Template 5: Tutorial</title>
- <programlisting>
-<![CDATA[(Put sgml here.)]]>
- </programlisting>
- </sect1>-->
- </appendix>
-
-</article>