summaryrefslogtreecommitdiff
path: root/tests/docbook/test
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2001-05-11 14:23:17 +0000
committerDaniel Veillard <veillard@src.gnome.org>2001-05-11 14:23:17 +0000
commitced20f0178dd3ed221a174f0a8271d6bc36473c6 (patch)
tree8b1bf3481de087c3113802cf01f1fe49487c9c51 /tests/docbook/test
parent627147d2e0b669e0a7ee447289b9cb4e448abd65 (diff)
downloadlibxslt-ced20f0178dd3ed221a174f0a8271d6bc36473c6.tar.gz
libxslt-ced20f0178dd3ed221a174f0a8271d6bc36473c6.tar.bz2
libxslt-ced20f0178dd3ed221a174f0a8271d6bc36473c6.zip
- configure.in tests/XSLTMark/Makefile.am: try to handle gracefully
the cases where perl is not in the path (nor in /usr/bin) - tests/docbook/result/html/gdp-handbook.html tests/docbook/result/html/kwrite.html tests/docbook/test/gdp-handbook.xml tests/docbook/test/kwrite.xml: commited a few more DocBook tests Daniel
Diffstat (limited to 'tests/docbook/test')
-rw-r--r--tests/docbook/test/gdp-handbook.xml4448
-rw-r--r--tests/docbook/test/kwrite.xml1784
2 files changed, 6232 insertions, 0 deletions
diff --git a/tests/docbook/test/gdp-handbook.xml b/tests/docbook/test/gdp-handbook.xml
new file mode 100644
index 00000000..6fe62531
--- /dev/null
+++ b/tests/docbook/test/gdp-handbook.xml
@@ -0,0 +1,4448 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "../dtd/4.1.2/docbookx.dtd" [
+<!ENTITY version "1.0.53">
+<!ENTITY mdash "--">
+<!ENTITY hellip "...">
+ <!-- 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>
diff --git a/tests/docbook/test/kwrite.xml b/tests/docbook/test/kwrite.xml
new file mode 100644
index 00000000..5889cb75
--- /dev/null
+++ b/tests/docbook/test/kwrite.xml
@@ -0,0 +1,1784 @@
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
+ "../dtd/4.0/docbookx.dtd">
+<book lang="en">
+<bookinfo>
+<title>the <application>kwrite</application> handbook</title>
+<authorgroup>
+<author>
+<firstname>thad</firstname>
+<surname>mcginnis</surname>
+<affiliation>
+<address><email>ctmcginnis@compuserve.com</email></address>
+</affiliation>
+</author>
+<othercredit role="developer">
+<firstname>jochen</firstname>
+<surname>wilhelmy</surname>
+<contrib>principal developer</contrib>
+<affiliation>
+<address><email>digisnap@cs.tu-berlin.de</email></address>
+</affiliation>
+</othercredit>
+<othercredit role="developer">
+<firstname>glen</firstname>
+<surname>parker</surname>
+<contrib>additional development</contrib>
+<affiliation>
+<address><email>glenebob@nwlink.com</email></address>
+</affiliation>
+</othercredit>
+<othercredit role="developer">
+<firstname>michael</firstname>
+<surname>koch</surname>
+<contrib>additional development</contrib>
+<affiliation>
+<address><email>koch@kde.org</email></address>
+</affiliation>
+</othercredit>
+<othercredit role="developer">
+<firstname>christian</firstname>
+<surname>tibirna</surname>
+<contrib>original help document</contrib>
+<affiliation>
+<address><email>tibirna@kde.org</email></address>
+</affiliation>
+</othercredit>
+<othercredit role="reviewer">
+<firstname>lauri</firstname>
+<surname>watts</surname>
+<contrib>reviewer</contrib>
+<affiliation>
+<address><email>vampyr@atconnex.net</email></address>
+</affiliation>
+</othercredit>
+</authorgroup>
+<copyright>
+<year>2000</year>
+<year>2001</year>
+<holder>thad mcginnis</holder>
+</copyright>
+<legalnotice>
+<para>permission is granted to copy, distribute and/or modify this
+document under the terms of the gnu free documentation license,
+version 1.1 or any later version published by the free software
+foundation; with no invariant sections, with no front-cover texts, and
+with no back-cover texts. a copy of the license is included in <xref linkend="gnu-fdl"/>.</para>
+</legalnotice>
+<date>15/02/2001</date>
+<releaseinfo>2.00.00</releaseinfo>
+<abstract>
+<para>this handbook describes <application>kwrite</application> version 2.0</para>
+<para><application>kwrite</application> is a text editor for kde 2.0</para>
+</abstract>
+<keywordset>
+<keyword>kde</keyword>
+<keyword>kwrite</keyword>
+<keyword>text</keyword>
+<keyword>editor</keyword>
+</keywordset>
+</bookinfo>
+<chapter id="introduction">
+<title>introduction</title>
+<para><application>kwrite</application> is more than a text editor for the kde desktop. it is meant
+to be a programmer's editor, and could be considered as at least a partial
+alternative to more powerful editors. it may be best used in conjunction
+with <application>konqueror</application> for source file browsing for
+different languages. <application>kwrite</application> also works very well as a simple text editor.
+one of <application>kwrite</application>'s main features is the colorized syntax, customized for
+many different programming languages such as: c/c++, <trademark>java</trademark>, python, perl,
+bash, modula 2, <acronym>html</acronym>, and ada.</para>
+</chapter>
+<chapter id="on-screen-fundamentals">
+<title>some fundamentals</title>
+<para><application>kwrite</application> is very simple to use. anyone that has used a text editor should
+have no problems. </para>
+<sect1 id="drag-and-drop">
+<title>drag and drop</title>
+<para><application>kwrite</application> uses the kde drag and drop protocol. files may be dragged
+and dropped onto <application>kwrite</application> from the desktop,
+<application>konqueror</application> or some remote ftp site opened in one
+of <application>konqueror</application>'s windows. </para>
+</sect1>
+<sect1 id="command-line-options">
+<title>command line options</title>
+<para>though <application>kwrite</application> may most often be started from the kde program menu,
+or a desktop icon, it can also be opened at the command line prompt of a
+terminal window. there are a few useful options that are available when
+doing this.</para>
+<sect2 id="specify-a-file">
+<title>specify a file</title>
+<para>by specifying the path and name of a particular file the user can
+have <application>kwrite</application> open (or create) that file immediately upon startup. this
+option might look something like the following:</para>
+<informalexample>
+<screen><prompt>%</prompt> <userinput><command>kwrite</command> <option><replaceable>/home/myhome/docs/myfile.txt</replaceable></option></userinput></screen>
+</informalexample>
+</sect2>
+<sect2 id="editing-files-on-the-internet">
+<title>specify a file on the internet</title>
+<para>the above-mentioned method could even be used to open files on the
+internet (if the user has an active connection at the time.) an example of
+this might look like the following:</para>
+<informalexample>
+<screen><prompt>%</prompt> <userinput><command>kwrite</command> <option><replaceable>ftp://ftp.kde.org/pub/kde/welcome.msg</replaceable></option></userinput></screen>
+</informalexample>
+</sect2>
+<sect2 id="other-command-line-options">
+<title>other command line options</title>
+<para>the following command line help options are available</para>
+<variablelist>
+<varlistentry>
+<term><userinput><command>kwrite</command> <option>--help</option></userinput></term>
+<listitem>
+<para>this lists the most basic options available at the command
+line.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><userinput><command>kwrite</command> <option>--help-qt</option></userinput></term>
+<listitem>
+<para>this lists the options available for changing the way
+<application>kwrite</application> interacts with <trademark>qt</trademark>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><userinput><command>kwrite</command> <option>--help-kde</option></userinput></term>
+<listitem>
+<para>this lists the options available for changing the way
+<application>kwrite</application> interacts with kde.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><userinput><command>kwrite</command> <option>--help-all</option></userinput></term>
+<listitem>
+<para>this lists all of the command line options.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><userinput><command>kwrite</command> <option>--author</option></userinput></term>
+<listitem>
+<para>lists <application>kwrite</application>'s authors in the terminal window</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><userinput><command>kwrite</command> <option>--version</option></userinput></term>
+<listitem>
+<para>lists version information for <trademark>qt</trademark>, kde, and <application>kwrite</application>. also available through <userinput><command>kwrite</command> <option>-v</option></userinput> </para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+</sect1>
+<sect1 id="keybindings">
+<title>key bindings</title>
+<para>many of the key bindings (shortcuts) are configurable by way of the <link linkend="settings">settings</link> menu. by default <application>kwrite</application> honors the
+following key bindings.</para>
+<informaltable>
+<tgroup cols="2">
+<tbody>
+<row>
+<entry><para><keycombo>
+<keycap>insert</keycap>
+</keycombo></para></entry>
+<entry><para> toggle between insert and overwrite mode. when in insert mode the
+editor will add any typed characters to the text while pushing along any data to
+the right of the text cursor. overwrite mode causes the entry of each character
+to eliminate the character immediately to the right of the text
+cursor.</para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>left arrow</keycap>
+</keycombo></para></entry>
+<entry><para>move the cursor one character to the left </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>right arrow</keycap>
+</keycombo></para></entry>
+<entry><para> move the cursor one character to the right </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>up arrow</keycap>
+</keycombo></para></entry>
+<entry><para> move the cursor up one line </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>down arrow</keycap>
+</keycombo></para></entry>
+<entry><para> move the cursor down one line </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>page up</keycap>
+</keycombo></para></entry>
+<entry><para> move the cursor up one page </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>page down</keycap>
+</keycombo></para></entry>
+<entry><para>move the cursor down one page </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>backspace</keycap>
+</keycombo></para></entry>
+<entry><para> delete the character to the left of the cursor </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>home</keycap>
+</keycombo></para></entry>
+<entry><para> move the cursor to the beginning of the line </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>end</keycap>
+</keycombo></para></entry>
+<entry><para> move the cursor to the end of the line </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>delete</keycap>
+</keycombo></para></entry>
+<entry><para>delete the character to the right of the cursor (or any selected
+text)</para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>shift</keycap>
+<keycap>left arrow</keycap>
+</keycombo></para></entry>
+<entry><para> mark text one character to the left </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>shift</keycap>
+<keycap>right arrow</keycap>
+</keycombo></para></entry>
+<entry><para> mark text one character to the right </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>f1</keycap>
+</keycombo></para></entry>
+<entry><para> help</para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>shift</keycap>
+<keycap>f1</keycap>
+</keycombo></para></entry>
+<entry><para><link linkend="whats-this">what's this?</link></para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>f</keycap>
+</keycombo></para></entry>
+<entry><para><link linkend="find"> find</link></para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>f3</keycap>
+</keycombo></para></entry>
+<entry><para><link linkend="find-again"> find again</link></para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>c</keycap>
+</keycombo></para></entry>
+<entry><para> copy the marked text to the clipboard. </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>m</keycap>
+</keycombo></para></entry>
+<entry><para>set a bookmark</para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>n</keycap>
+</keycombo></para></entry>
+<entry><para> <link linkend="new">new</link> document</para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>p</keycap>
+</keycombo></para></entry>
+<entry><para><link linkend="print">print</link> </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>q</keycap>
+</keycombo></para></entry>
+<entry><para>quit - close active copy of editor </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>r</keycap>
+</keycombo></para></entry>
+<entry><para><link linkend="replace"> replace</link></para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>s</keycap>
+</keycombo></para></entry>
+<entry><para>invokes the <link linkend="save"><guilabel>save</guilabel></link> command.</para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>v</keycap>
+</keycombo></para></entry>
+<entry><para> paste the clipboard text into line edit. </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>x</keycap>
+</keycombo></para></entry>
+<entry><para>delete the marked text and copy it to the clipboard. </para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>z</keycap>
+</keycombo></para></entry>
+<entry><para><link linkend="undo">undo</link></para></entry>
+</row>
+<row>
+<entry><para><keycombo>
+<keycap>ctrl</keycap>
+<keycap>shift</keycap>
+<keycap>z</keycap>
+</keycombo></para></entry>
+<entry><para><link linkend="redo">redo</link></para></entry>
+</row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect1>
+</chapter>
+<chapter id="the-menu-entries">
+<title>the menu entries</title>
+<sect1 id="file">
+<title>the <guimenu>file</guimenu> menu</title>
+<variablelist>
+<varlistentry>
+<term><anchor id="new"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>n</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem><accel>n</accel>ew</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this starts a new document in the editor. if there is a current
+document with unsaved changes the user is given a chance to save it.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="open"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>o</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem><accel>0</accel>pen</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this command opens a file. it does this by means of a dialog box
+which allows the user to navigate the file system. the dialog operates
+like a small file manager. clicking on directories displayed in the
+central window directs the dialog to enter that directory - displaying its
+contents. there is an entry/dropdown box which can be used to type in
+directly the location and name of the file or by clicking the arrow at the
+side choose from a dropdown list of recently used locations. below this is
+a filter which similarly may have data entered directly or chosen from a
+dropdown list of recent filter types. the filter facility lets only files
+that meet its specifications be displayed in the central window. if the
+filter contained text such as <literal role="extension">*.txt</literal> then only files
+with the txt extension would be visible in the selection window. below the filter
+is a status bar giving information about the number of files and subdirectories
+within the current directory.</para>
+<para>the toolbar, which is located at the top of the dialog, has left and right
+arrow buttons that let the user move back and forth through previously selected
+directories as well as an up arrow button for moving up the directory tree. the
+button with the little house takes the user to his or her home directory and the one
+with the two arrows curved in on each other updates the view of the current
+directory. the flag button lets the user set a new bookmark at the current directory
+or go to one that was previously set.
+ the last button on the toolbar allows you to create a new
+directory, and finally there is dropdown box with a list of some commonly
+frequented directories.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="open-recent"/><menuchoice>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem>open
+<accel>r</accel>ecent</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this is a shortcut to open recently saved documents. clicking on
+this item opens a list to the side of the menu with several of the most recently
+saved files. clicking on a specific file will open it in <application>kwrite</application> - if the file
+still resides at the same location. </para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="save"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>s</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem><accel>s</accel>ave</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this saves the current document. if there has already been a
+save of the document then this will overwrite the previously saved file without
+asking for the user's consent. if it is the first save of a new document the
+save as dialog (described below) will be invoked.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="save-as"/><menuchoice>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem>save
+<accel>a</accel>s</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this allows a document to be saved with a new file name. this is
+done by means of the file dialog box described above in the <link linkend="open">open</link> section of this help file.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="print"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>p</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem><accel>p</accel>rint</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>opens a simple print dialog allowing the user to specify what, where, and how to print</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="new-window"/><menuchoice>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem>new <accel>w</accel>indow</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this creates a new window, <abbrev>i.e.</abbrev> a new instance of <application>kwrite</application>. in this way the user can easily work
+on more than one file at a time with <application>kwrite</application>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="new-view"/><menuchoice>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem>new <accel>v</accel>iew</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this creates a new view of the current document, <abbrev>i.e.</abbrev>, a new instance of
+<application>kwrite</application> (as explained in the previous entry) but containing the same
+document.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="close"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>q</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>f</accel>ile</guimenu>
+<guimenuitem><accel>q</accel>uit</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this will close the editor window, if you have more than one
+instance of <application>kwrite</application> running, through the <guimenuitem>new view</guimenuitem> or
+<guimenuitem>new window</guimenuitem> menu items, those instances will not be
+closed.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="edit">
+<title>the <guimenu>edit</guimenu> menu</title>
+<variablelist>
+<varlistentry>
+<term><anchor id="undo"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>z</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem>und<accel>o</accel></guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this is used to eliminate or reverse the most recent user action or operation. just what
+constitutes such an action may be better understood by referring to the <link linkend="group-undos">group undos</link> portion of this help file.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="redo"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>shift</keycap>
+<keycap>z</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem>re<accel>d</accel>o</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this will reverse the most recent change (if any) made using undo</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="undohistory"/><menuchoice>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem>undo/redo <accel>h</accel>istory</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this will call a display box showing a list of the most recent actions on
+the left and another list of actions which have been 'undone' on the right.
+there are also three buttons at the right of the box labeled
+<guibutton>undo</guibutton>, <guibutton>redo</guibutton>, and
+<guibutton>close</guibutton>. clicking on the <guibutton>undo</guibutton>
+button will cause the action at the top of the undo list to be reversed which
+will place that particular action at the top of the redo list. likewise,
+clicking on the <guibutton>redo</guibutton> button will reinstate the reversed
+action and move it back to the top of the undo list. clicking on an item below
+the top item in either list will select all the items from the top down to that
+point. a subsequent click on the corresponding button will cause all the
+selected actions to be undone or redone accordingly. this would be particularly
+useful when the user knows precisely the point to which she or he would like to
+proceed - making it unnecessary to go through a series of single undo or redo
+actions.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="cut"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>x</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem>c<accel>u</accel>t</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this command deletes the current selection and places it on the clipboard. the
+clipboard is a feature of kde that works invisibly to provide a way to transfer data between
+applications.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="copy"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>c</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem><accel>c</accel>opy</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this copies the currently selected text to the clipboard so that it may be
+pasted elsewhere. the clipboard is a feature of kde that works invisibly to
+provide a way to transfer data between applications.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="paste"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>v</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem><accel>p</accel>aste</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this will insert the contents of the clipboard at the cursor position. the
+clipboard is feature of kde that works invisibly to provide a way to transfer
+data between applications.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="select-all"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>a</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem>select <accel>a</accel>ll</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this will select the entire document. this could be very useful for
+copying the entire file to another application.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="invert-the-selection"/><menuchoice>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem>invert <accel>s</accel>election</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this selects any unselected text while unselecting any selected text -
+effectively reversing the current state of selection.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="find"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>f</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem><accel>f</accel>ind</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this opens the find dialog which is used to specify the <guilabel>text to
+find</guilabel> in the document. there is small text box for entering the search
+pattern which also doubles as a dropdown box. clicking on the dropdown arrow at
+the side of the box makes available other recent search patterns. other
+parameters are included to make the search more efficient. selecting
+<guilabel>case sensitive</guilabel> will limit finds to entries that match the
+case (upper or lower) of each of the characters in the search
+pattern. <guilabel>find backwards</guilabel> directs the search to proceed in an
+upwardly direction. the <guilabel>selected text</guilabel> option keeps the
+search within currently selected text. checking <guilabel>whole words
+only</guilabel> prevents the search from stopping on words that contain the
+searched for pattern. the <guilabel>search from cursor</guilabel> option begins
+the search from the current position of the cursor within the document rather
+than from the beginning.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="find-again"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>f3</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem>find <accel>n</accel>ext</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this repeats the last find operation, if any, without calling the find
+dialog box.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="replace"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>r</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem><accel>r</accel>eplace</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this command opens the replace dialog box. the replace dialog is
+almost identical to the above-mentioned find dialog. in addition to the features in
+the find dialog it contains a <guilabel>replace with:</guilabel> text
+entry/dropdown box. using this dialog the user can specify both the text to be found
+and text with which to replace it. the additional <guilabel>prompt
+on replace</guilabel> option allows the user to have <application>kwrite</application> ask for
+confirmation before each replacement.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="insertfile"/>
+<menuchoice>
+<guimenu><accel>e</accel>dit</guimenu>
+<guimenuitem><accel>i</accel>nsert file</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this <action>opens</action> the <guimenu>file</guimenu> <link linkend="open"><guimenuitem>open</guimenuitem></link> dialog box whereby the
+user can insert a complete file in the open document. the the contents of
+the file will be entered at the position of the blinking text
+cursor.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="go">
+<title>the <guimenu>go</guimenu> menu</title>
+<variablelist>
+<varlistentry>
+<term><anchor id="go-to-line"/><menuchoice>
+<guimenu><accel>g</accel>o</guimenu>
+<guimenuitem><accel>g</accel>o to line</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this opens the goto line dialog box which is used to have the cursor jump
+to a particular line (specified by number) in the document. the line number may
+be entered directly into the text box or graphically by clicking on the up or
+down arrow spin controls at the side of the text box. the little up arrow will
+increase the line number and the down arrow decrease it. there is also a slide
+control to the right of the text box which allows the user to move the goto
+point in the document in an analog manner.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="add-marker"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>ctrl</keycap>
+<keycap>m</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>g</accel>o</guimenu>
+<guimenuitem><accel>a</accel>dd marker</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this creates a marker in the document at the line where the cursor is
+located and places it at the bottom of the list of markers located at the
+bottom of the go menu.</para>
+<para>markers are points within a <application>kwrite</application> document
+marked for easy return. if the user thinks (s)he may need to return to a specific
+point (s)he may by way of this feature instruct <application>kwrite</application> to remember it. </para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="set-bookmark"/><menuchoice>
+<guimenu><accel>g</accel>o</guimenu>
+<guimenuitem><accel>s</accel>et marker</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this creates a marker in the document at the line where the cursor is
+located, and allows the user to choose its position in the list of bookmarks
+which is appended at the bottom of this menu item.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="clear-bookmarks"/><menuchoice>
+<guimenu><accel>g</accel>o</guimenu>
+<guimenuitem><accel>c</accel>lear markers</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this command will remove all the markers from the docucument as well as the
+list of markers which is appended at the bottom of this menu item.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+<para>at the bottom of this menu, a list of markers appears if any
+markers are available for this window.</para>
+</sect1>
+<sect1 id="tools">
+<title>the <guimenu>tools</guimenu> menu</title>
+<variablelist>
+<varlistentry>
+<term><anchor id="spelling..."/><menuchoice>
+<guimenu><accel>t</accel>ools</guimenu>
+<guimenuitem><accel>s</accel>pelling...</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para><action>this initiates the spell checking program - a program
+designed to help the user catch and correct any spelling errors.</action>
+clicking on this entry will start the checker and bring up the speller dialog
+box through which the user can control the process. there are three text boxes
+lined up vertically in the center of the dialog with their corresponding labels
+just to the left. starting at the top they are:</para>
+<variablelist>
+<varlistentry>
+<term><guilabel>misspelled word:</guilabel></term>
+<listitem>
+<para>here, the spell checker indicates the word currently under
+consideration. this happens when the checker encounters a word not in its
+dictionary - a file containing a list of correctly spelled words against which
+it compares each word in the editor.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>replacement:</guilabel></term>
+<listitem>
+<para> if the checker has any similar words in its dictionary the
+first one will be listed here. the user can accept the suggestion, type in his
+or her own correction, or choose a different suggestion from the next
+box.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>suggestions:</guilabel></term>
+<listitem>
+<para> the checker may list here a number of possible replacements for
+the word under consideration. clicking on any one of the suggestions will cause
+that word to be entered in the <guilabel>replacement:</guilabel> box,
+above.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+<para>on the right side of the dialog box are 6 buttons that allow the user to
+control the spell check process. they are:</para>
+<variablelist>
+<varlistentry>
+<term><guibutton>replace</guibutton></term>
+<listitem>
+<para> this button has the checker replace the word under
+consideration in the document with the word in the
+<guilabel>replacement:</guilabel> box.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guibutton>replace all</guibutton></term>
+<listitem>
+<para> this button causes the checker to replace not only the current
+<guilabel>misspelled word:</guilabel> but to automatically make the same
+substitution for any other occurences of this <guilabel>misspelled
+word:</guilabel> in the document.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guibutton>ignore</guibutton></term>
+<listitem>
+<para>activating this button will have the checker move on without
+making any changes.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guibutton>ignore all</guibutton></term>
+<listitem>
+<para> this button tells the checker to do nothing with the current
+<guilabel>misspelled word:</guilabel> and to pass over any other instances of
+the same word.</para>
+<note>
+<para>this only applies to the current spell check
+run. if the checker is run again later it will stop on this same
+word.</para>
+</note>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guibutton>add</guibutton></term>
+<listitem>
+<para>pressing this button adds the word in the <guilabel>misspelled
+word:</guilabel> box to the checker's dictionary. this means that in the future
+the checker will always consider this word to be correctly
+spelled.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guibutton>stop</guibutton></term>
+<listitem>
+<para> this button stops the spell check process.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+<para>located horizontally along the bottom of the spell check dialog is a
+progress bar. as the checking process proceeds the bar will fill from left to
+right providing a graphical representation of how far along in the document the
+process has reached. in addition, the progress is displayed numerically in
+the center of the progress bar.</para>
+<note>
+<para>a numerical display of the spell check
+process is simultaneously displayed in the status bar of the editor. the <link linkend="show-statusbar">status bar</link> is the horizontal strip at the bottom
+of the editor just outside of the text entry area.</para>
+</note>
+<para>two more buttons are located below the progress bar. they are:</para>
+<variablelist>
+<varlistentry>
+<term><guibutton>help</guibutton></term>
+<listitem>
+<para> this invokes the kde help system starting at the <application>kwrite</application> help
+pages (this document).</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guibutton>cancel</guibutton></term>
+<listitem>
+<para> this button cancels the spell check process.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="indent"/><menuchoice>
+<guimenu>tools</guimenu>
+<guimenuitem>indent</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this increases the paragraph's indentation by one step. the size of the
+step depends on the <link linkend="pref-indent"> indentation
+settings</link>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="unindent"/><menuchoice>
+<guimenu>tools</guimenu>
+<guimenuitem>unindent</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this reduces the paragraph's indentation by one step. the size of the step
+depends on the <link linkend="pref-indent"> indentation settings</link>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="cleanindent"/><menuchoice>
+<guimenu>tools</guimenu>
+<guimenuitem>clean
+indentation</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>not yet implemented</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><menuchoice>
+<guimenu>tools</guimenu>
+<guimenuitem>comment</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this adds one space to the beginning of the line
+where the text cursor is located or to the beginning of any
+selected lines.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><menuchoice>
+<guimenu>tools</guimenu>
+<guimenuitem>uncomment</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this removes one space (if any exist) from the beginning of the line
+where the text cursor is located or from the beginning of any
+selected lines.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="settings">
+<title>the <guimenu>settings</guimenu> menu</title>
+<variablelist>
+<varlistentry>
+<term><anchor id="show-toolbar"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem>show <accel>t</accel>oolbar</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>when checked, this displays a movable toolbar containing buttons used to
+initiate frequently used commands. when unchecked the toolbar is hidden.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="show-statusbar"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem>show <accel>s</accel>tatusbar</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>when checked, this displays a small bar at the bottom of the editor
+containing information about the status of the current document. when unchecked
+the statusbar is hidden.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="show-path"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem>sho<accel>w</accel> path</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>when selected, this displays in the title bar the path (its location in the
+file system) of the current document. when unchecked the path is hidden.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="configure-keybindings"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem>configure <accel>k</accel>ey bindings</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this command opens a dialog box whereby the <link linkend="keybindings">key bindings</link> may be changed. a display window at
+the top of the dialog box shows the list of commands (actions) that can have
+keyboard shortcuts. below the display are three radio buttons. the user may choose
+between no key, default key, and custom key. (note that a set of radio buttons only
+allows the selection of one of the offered items - in the way that buttons on a car
+radio only offer the selection of one preset station. also, the default key
+selection is only available for those commands that actually have a 'default'
+shortcut.) selecting the custom key option activates the three check boxes and key
+button at the bottom of the dialog. the user may then select a key
+combination for the command in question by means of the check boxes and key
+button. for example, with the about kde command selected in the display window,
+the user could select <keycap>ctrl</keycap> and <keycap>alt</keycap>, click on
+the key button, and then press the <keycap>k</keycap> key on the keyboard. this
+would mean that anytime he or she held down the <keycap>ctrl</keycap> and
+<keycap>alt</keycap> buttons and pressed <keycap>k</keycap> (while using
+<application>kwrite</application>) the about kde display box would be called. </para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="configure-toolbars"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem>configure tool<accel>b</accel>ars</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this will open the dialog whereby the toolbar configuration may
+be changed. the user can choose which shortcut buttons should appear on the
+toolbar. a display window on the left lists the commands available to placed
+on the toolbar. a display on the right lists those commands already on the
+toolbar. a set of four arrow buttons between the two displays manipulates the
+selections. the right pointing arrow places any command selected in the left
+pane onto the right pane, <abbrev>i.e.</abbrev>, it is added to the toolbar.
+the left arrow does just the opposite, removing any action selected in the right
+window from the toolbar. the up and down pointing arrows change the position of
+an action selected in the right window which changes the position of its button
+in the toolbar.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="preferences"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem><accel>p</accel>references</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this menu item opens a dialog whereby several different <link linkend="pref-dialog">settings</link> may be adjusted.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem>configure
+highlighti<accel>n</accel>g</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>opens a dialog box allowing configuration of the syntax
+highlighting. the dialog is described in <xref linkend="pref-highlighting"/>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="vertical-selection"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem><accel>v</accel>ertical
+selection</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this is used to turn on or off the vertical selection feature. vertical
+selection allows text to be selected by column as well as by row. in other
+words with this feature the user is able to select text contained in only
+particular contiguous columns and rows. in affect the user can select a
+rectangular area of text anywhere in the document.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="set-highlight"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guimenuitem><accel>h</accel>ighlight mode</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this allows the user to choose the style of color highlighting which the
+editor uses to display the text. the styles are selected by programming
+language. the font/color information is not stored with the document.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="end-of-line"/><menuchoice>
+<guimenu><accel>s</accel>ettings</guimenu>
+<guisubmenu><accel>e</accel>nd of line</guisubmenu>
+</menuchoice></term>
+<listitem>
+<para>this opens a sub-menu from which the user can select the type of <quote>end of
+line</quote> code for <application>kwrite</application> to use, <abbrev>i.e.</abbrev>, the accepted standard
+used by unix, <trademark class="registered">mac</trademark> or msdos/<trademark class="registered">windows</trademark> systems.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="help">
+<title>the <guimenuitem>help</guimenuitem> menu</title>
+<variablelist>
+<varlistentry>
+<term><anchor id="contents"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>f1</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>h</accel>elp</guimenu>
+<guimenuitem><accel>c</accel>ontents</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this invokes the kde help system starting at the <application>kwrite</application> help pages (this document).</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="whats-this"/><menuchoice>
+<shortcut>
+<keycombo>
+<keycap>shift</keycap>
+<keycap>f1</keycap>
+</keycombo>
+</shortcut>
+<guimenu><accel>h</accel>elp</guimenu>
+<guimenuitem>what's <accel>t</accel>his?</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this changes the mouse cursor to a combination arrow and question mark.
+clicking on items within <application>kwrite</application> with this arrow will open a help window (if
+one exists for the particular item) explaining the item's function.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="report-bug"/><menuchoice>
+<guimenu><accel>h</accel>elp</guimenu>
+<guimenuitem><accel>r</accel>eport bug</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para><action>this calls a dialog box to help
+the user help the kde team to track down and solve any
+problems(bugs) in the program. the dialog attempts to do this by
+means of email using the information given by the user.</action></para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="about-kwrite"/><menuchoice>
+<guimenu><accel>h</accel>elp</guimenu>
+<guimenuitem><accel>a</accel>bout kwrite</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this will display version and author information</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><anchor id="about-kde"/><menuchoice>
+<guimenu><accel>h</accel>elp</guimenu>
+<guimenuitem>about <accel>k</accel>de</guimenuitem>
+</menuchoice></term>
+<listitem>
+<para>this displays the kde version and other basic information.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+</chapter>
+<chapter id="pref-dialog">
+<title>configure <application>kwrite</application></title>
+<para>selecting
+<menuchoice>
+<guimenu>settings</guimenu>
+<guimenuitem>configure
+kwrite</guimenuitem>
+</menuchoice> from the menu brings up the configure-kwrite
+dialog box. this dialog can be used to alter a number of different settings. the
+settings available for change vary according to which category the user chooses from
+a vertical list on the left side of the dialog. by means of three buttons
+along the bottom of the box the user can control the process. she or he may invoke
+the <guilabel>help</guilabel> system, accept the current settings and close the
+dialog by means of the <guibutton>ok</guibutton> button, or
+<guibutton>cancel</guibutton> the process. the categories
+<guilabel>colors</guilabel>, <guilabel>indent</guilabel>,
+<guilabel>select</guilabel>, <guilabel>edit</guilabel>, and
+<guilabel>spelling</guilabel> are detailed below.</para>
+<sect1 id="prefcolors">
+<title>colors</title>
+<para>this section provides access to <link linkend="pref-color-settings">five different color settings</link>,
+described below. each of these settings may be changed by clicking on its
+corresponding button. these are special wide buttons that are the color of
+the current setting. clicking on one of the buttons calls a special color
+dialog box used to change the setting.</para>
+<para>the color dialog box provides a convenient and graphical way to
+select a color. in the upper left of the box is a rectangular display of a
+spectrum of colors. to the immediate right of this, is vertical bar
+displaying a range of intensity from the most dark at the bottom to the
+most light at the top. the user may select and adjust a color by clicking
+in these two boxes. clicking in the rectangular display selects a
+particular mix of red, green, and blue colors and in the vertical bar
+selects a level of intensity (value). the various color attributes are displayed
+in numerical form in small text boxes located directly below the spectral
+rectangle and the user can see them change as the color is adjusted. these
+attributes include the mix of the basic color components (red, green, and
+blue) as well as hue and saturation levels. alternatively the user can
+enter figures directly in these boxes. there is also a square at the
+bottom center of the dialog box which displays the color which is under
+consideration at any time. to the right of this display is another text
+box labeled <guilabel>html:</guilabel> this shows the user the color code
+that would be used to specify the particular displayed color in
+<acronym>html</acronym> code which is widely used for web pages.</para>
+<para>in addition to the above, the color dialog allows the capture of any
+color currently displayed on the desktop or in another program. clicking
+on the button with the dropper icon (located on the right side of the
+dialog box,) changes the shape of the mouse cursor to a set of crosshairs.
+clicking again will pick up the color attributes of whatever color is
+displayed under the cross hairs.</para>
+<para>furthermore the user has the option of adding any color to a personal
+palette of <quote>custom colors</quote> by clicking on the wide button labeled
+<guibutton>add to custom colors</guibutton> (which is located directly above the
+display square.) this adds the current color to the custom color palette. this
+palette and any other available palettes can be displayed using the drop down
+selection box located directly above the palette display at the top right of the
+dialog box. besides the custom colors, the user can access a number of
+pre-prepared palettes.</para>
+<variablelist>
+<varlistentry id="pref-color-settings">
+<term><guilabel>background</guilabel></term>
+<listitem>
+<para>here the user can specify a color for the general background of
+<application>kwrite</application>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>text background</guilabel></term>
+<listitem>
+<para>this is used to set a particular color to display in the
+background of those areas of the document containing text.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>selected</guilabel></term>
+<listitem>
+<para>this allows the user to select a color to be used for indicating
+selected (or highlighted) portions of the document.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>found</guilabel></term>
+<listitem>
+<para>this specifies the preferred color with which to mark text
+encountered as the result of a <link linkend="find">find</link>
+operation.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>selected + found</guilabel></term>
+<listitem>
+<para>this sets the color for text that has not only been found as in
+the previous entry above but that has also been selected.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="pref-indent">
+<title>indent</title>
+<variablelist>
+<varlistentry>
+<term><guilabel>auto indent</guilabel></term>
+<listitem>
+<para>this causes
+new lines to begin with the same indentation level as the previous
+line.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>indent with spaces</guilabel></term>
+<listitem>
+<para>this
+replaces tabs with the number of spaces selected in the tab width window in
+the <link linkend="pref-edit">edit</link> section of the preferences
+dialog.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>backspace key indents</guilabel></term>
+<listitem>
+<para>this allows the
+<keycombo>
+<keycap>backspace</keycap>
+</keycombo> key to be used to
+indent.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>tab key indents</guilabel></term>
+<listitem>
+<para>this
+allows the <keycombo>
+<keycap>tab</keycap>
+</keycombo> key to be used to
+indent.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>keep indent profile</guilabel></term>
+<listitem>
+<para>this
+retains current indentation settings for future documents.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>keep extra spaces</guilabel></term>
+<listitem>
+<para>indentations of more than the selected number of spaces
+will not be shortened.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="pref-select">
+<title>select</title>
+<variablelist>
+<varlistentry>
+<term><guilabel>persistent selections</guilabel></term>
+<listitem>
+<para>this prevents key input or cursor movement by way of the
+arrow keys from causing the elimination of text
+selection. </para>
+<note>
+<para>(note: if the overwrite selections option is
+activated then any typed character input or paste operation will replace
+the selected text.)</para>
+</note>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>overwrite selections</guilabel></term>
+<listitem>
+<para>any keyed character input or paste operation will replace
+the selected text. </para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>mouse autocopy</guilabel></term>
+<listitem>
+<para>any text
+selected with the mouse will be automatically copied to the
+clipboard.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>x11-like single selection</guilabel></term>
+<listitem>
+<para>not implemented yet.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>vertical selections</guilabel></term>
+<listitem>
+<para>this
+activates the <link linkend="vertical-selection">vertical selection</link>
+option.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>toggle old</term>
+<listitem>
+<para>not yet implemented</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="pref-edit">
+<title>edit</title>
+<variablelist>
+<varlistentry>
+<term id="pref-word-wrap"><guilabel>word wrap</guilabel></term>
+<listitem>
+<para>word wrap is a feature that causes the editor to
+automatically start a new line of text and move (wrap) the cursor to the
+beginning of that new line. <application>kwrite</application> will automatically start a new line of text
+when the current line reaches the length specified by the <link linkend="pref-wrap-words-at">wrap words at:</link>
+option.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term id="pref-wrap-words-at"><guilabel>wrap words
+at:</guilabel></term>
+<listitem>
+<para>if the <link linkend="pref-word-wrap">word wrap</link> option is selected this entry
+determines the length (in characters) at which the editor will
+automatically start a new line.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term id="pref-replace-tabs-by-spaces"><guilabel>replace tabs by
+spaces</guilabel></term>
+<listitem>
+<para><application>kwrite</application> will replace any tabs
+with the number of spaces indicated in the <link linkend="pref-tab-width">tab width:</link> entry.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term id="pref-tab-width">tab width</term>
+<listitem>
+<para>if the <link linkend="pref-word-wrap"><guilabel>replace tabs by spaces</guilabel></link>
+option is selected this entry determines the number of spaces with which
+the editor will automatically replace tabs.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>remove trailing spaces</guilabel></term>
+<listitem>
+<para><application>kwrite</application> will automatically eliminate extra spaces at the
+ends of lines of text.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>auto brackets</guilabel></term>
+<listitem>
+<para>when the
+user types a left bracket ([,(, or {) <application>kwrite</application> automatically
+enters the right bracket (}, ), or ]) to the right of the
+cursor.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term id="group-undos"><guilabel>group undos</guilabel></term>
+<listitem>
+<para>groups of similar actions are to be considered a single
+<link linkend="undo">undo</link> step by <application>kwrite</application>. in other words, a series
+of regular character keystrokes (words or expressions) would be considered
+one step and therefore be removed by a single undo operation. if the
+series of character entries were interrupted by a non-character entry
+operation (such as a backspace), invoking undo would only remove the
+entries made since that operation. the next undo would then reverse that
+operation and so on.</para>
+<para> when this option is not selected <application>kwrite</application> considers
+each keystroke to be a single step. so if the user (with this option
+active) were to type several words or even sentences without having to make
+corrections or cut or paste or some other non-character entry operation
+then a click of the undo button would eliminate all that had been typed
+since the last non-entry operation. a second click would eliminate that
+operation and a third any operation or series of entries that occurred
+before the operation and so on. when not selected three clicks of the undo
+button would only remove the last three letters typed, or the last three
+operations.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>show tabs</guilabel></term>
+<listitem>
+<para>the editor will display a symbol to indicate the presence
+of a tab in the text.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>smart home</guilabel></term>
+<listitem>
+<para>not yet implemented</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>page up/down moves cursor</guilabel></term>
+<listitem>
+<para>this option changes the behavior of the cursor when
+the user presses the <keycap>page up</keycap> or <keycap>page down</keycap> key. if
+unselected the text cursor will maintain its relative position within the visible
+text in <application>kwrite</application> as new text becomes visible as a result of the operation. so if
+the cursor is in the middle of the visible text when the operation occurs it will
+remain there (except when one reaches the beginning or end.) with this
+option selected, the first key press will cause the cursor to move to either the top
+or bottom of the visible text as a new page of text is displayed.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term>wrap cursor</term>
+<listitem>
+<para>when this option is chosen, moving
+the cursor with the arrow keys off the end of a line (to the right) causes
+it to jump down to the beginning of the next line. likewise when the
+cursor is moved past the beginning of a line (to the left) it jumps up to
+the end of the preceding line. when this option is not selected, moving the
+cursor right past the end of a line merely causes it to continue
+horizontally in the same line and trying to move it left past the beginning
+does nothing.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><link linkend="undo">undo</link> steps:</term>
+<listitem>
+<para>here
+the user may specify the number of steps <application>kwrite</application> will retain in memory for
+purposes of undoing entries and actions. this means that the higher the
+number of steps set the more memory <application>kwrite</application> will use for this. setting
+this entry to 10 would mean that the user would be be able reverse the last
+ten operations, <abbrev>i.e.</abbrev>i&#62;, click the <guibutton>undo</guibutton>
+button 10 times and obtain results.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+<sect1 id="prefspellchecker">
+<title>spelling</title>
+<para>a spell checker is a program designed to
+help the user catch and correct any spelling errors. this section of the
+preferences dialog allows certain important settings to be adjusted in this
+regard.</para>
+<variablelist>
+<varlistentry>
+<term><guilabel>create root/affix combinations not in
+dictionary</guilabel></term>
+<listitem>
+<para>selecting this option allows
+the spell checker to register as 'correct' combinations of root words with
+suffixes or prefixes even if the particular combination is not listed in
+its dictionary data base of words.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>consider run-together words as spelling
+errors</guilabel></term>
+<listitem>
+<para>selecting this will cause the
+spell checker to register as 'misspelled' two or more correctly spelled
+words that are 'run-together', <abbrev>i.e.</abbrev>, that do not have spaces
+separating them.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>dictionary:</guilabel></term>
+<listitem>
+<para>depending on
+the user's installation one or more different language spelling
+dictionaries may be available. this drop down box allows the user to
+choose which language the spell checker should use.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>encoding:</guilabel></term>
+<listitem>
+<para>there are
+different coding systems used to associate particular codes with particular
+characters and symbols. if the user knows which code he or she is using
+this drop down box allows this code to be specified so that the spell
+checker can do its job correctly. </para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>client:</guilabel></term>
+<listitem>
+<para>since <application>kwrite</application>
+does not contain its own spell checker, an external one must be chosen.
+this is where the user may specify which spell check program to
+use.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</sect1>
+</chapter>
+<chapter id="pref-highlighting">
+<title>highlighting</title>
+<para>the <guilabel>configure highlighting</guilabel> dialog consists of two
+pages, <guilabel>defaults</guilabel> and <guilabel>highlighting
+modes</guilabel>. the user can select which page to view by clicking on the
+appropriate tab at the top of the dialog</para>
+<para>items available on the <guilabel>defaults</guilabel> page are as
+follows:</para>
+<variablelist>
+<varlistentry>
+<term><guilabel>default item styles</guilabel></term>
+<listitem>
+<para>the user can configure the default appearance for particular items.
+this would allow a programmer to more easily identify different items (types of
+entries) in his or her code.
+
+</para>
+<variablelist>
+<varlistentry>
+<term><guilabel>item</guilabel></term>
+<listitem>
+<para>this drop down list offers a variety of items that the user
+might want to highlight. they include <guilabel>normal</guilabel> for
+text does not fit in any of the other categories, <guilabel>comment</guilabel>,
+<guilabel>string</guilabel>, <guilabel>keyword</guilabel> and many more. not
+all of these entries will need to be configured for every language and so may be
+selected as needed. the options in the rest of this section apply
+to the entry selected in this box.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>normal</guilabel></term>
+<listitem>
+<para>this allows the user to choose the item's normal
+(unselected) color. this is done by means of a color selection
+dialog box, a further explanation of which may be found in the <link linkend="prefcolors">colors</link> section of <link linkend="pref-dialog">configure kwrite</link>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>bold</guilabel></term>
+<listitem>
+<para>this option determines whether or not the item should be displayed in
+bold text.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>italic</guilabel></term>
+<listitem>
+<para>this option determines whether or not the item should be displayed in italic
+text.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>selected</guilabel></term>
+<listitem>
+<para>this allows the user to choose the item's color
+when selected. this is done by means of a color selection
+dialog box, a further explanation of which may be found in the <link linkend="prefcolors">colors</link> section of <link linkend="pref-dialog">configure kwrite</link>.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>default font</guilabel></term>
+<listitem>
+<para>here the user can choose the default font for all
+text.</para>
+<variablelist>
+<varlistentry>
+<term><guilabel>family</guilabel></term>
+<listitem>
+<para>this is used to choose the font family. the default is fixed.
+for most programming purposes, a monospaced font (one in which a w takes up the same
+amount of space as an i) may be the best choice.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>size</guilabel></term>
+<listitem>
+<para>the font size can be changed here. the default is 12
+points.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>charset</guilabel></term>
+<listitem>
+<para>here the user can choose which character set to work in.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</listitem>
+</varlistentry>
+</variablelist>
+<para>items on the <guilabel>highlight modes</guilabel> tab allow the user to define
+more specific highlighting depending on the language style.</para>
+<para>one need not set every available option, items not configured
+specifically will use the default configuration specified on the previous
+(<guilabel>defaults</guilabel> tab.</para>
+<variablelist>
+<varlistentry>
+<term><guilabel>config select</guilabel></term>
+<listitem>
+<para>this group of options is used to customize the highlighting styles
+for each programming language type. any changes you made in
+other areas of this dialog apply only to this type.</para>
+<variablelist>
+<varlistentry>
+<term><guilabel>highlight</guilabel></term>
+<listitem>
+<para>this is used to choose the language type to
+configure</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>item</guilabel></term>
+<listitem>
+<para>this is to choose the syntax item to configure. remember
+this only configures <emphasis>this</emphasis> item for <emphasis>this</emphasis>
+language.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+<para>as an example, if the user wished to configure the appearance of
+<quote>comments</quote> while writing c++, she or he could choose c++ in the
+<guilabel>highlight</guilabel> drop down list, and then choose comment in the
+<guilabel>item</guilabel> drop down list. to have <quote>comments</quote> look
+the same across all languages, the user would need to configure this in the
+<guilabel>defaults</guilabel> page of this dialog box while leaving
+<quote>comments</quote> unconfigured within the more specific
+<guilabel>highlight modes</guilabel> page.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>item style</guilabel></term>
+<listitem>
+<para>here the user can configure the general appearance of the above
+selected item. checking the <guilabel>default</guilabel> checkbox causes the default
+style as configured on the previous tab to be set, or the
+appearance can be configured directly. the available options are the same as on the
+<guilabel>defaults</guilabel> tab: <guilabel>normal</guilabel>,
+<guilabel>selected</guilabel>, <guilabel>bold</guilabel> and
+<guilabel>italic</guilabel>.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>highlight auto select</guilabel></term>
+<listitem>
+<para><application>kwrite</application> can apply syntax highlighting automatically, depending
+on the file extension or mime-type of the opened file. the defaults are fairly
+comprehensive, but users that regularly edit files with non-standard extensions
+can add them here. wildcards are allowed in the <guilabel>file
+extensions</guilabel> text box. for example, the default entry for the c++
+language is <userinput>*.cpp;*.cc;*.c;*.h</userinput>. opening a file called
+<filename>foo.h</filename> would automatically apply the c++ style to it.</para>
+</listitem>
+</varlistentry>
+<varlistentry>
+<term><guilabel>item font</guilabel></term>
+<listitem>
+<para>here the user can choose the font for the selected item.</para>
+<para>the default style can be applied by checking the
+<guilabel>default</guilabel> checkbox or the user can choose a specific font
+<guilabel>family</guilabel>, <guilabel>size</guilabel> and
+<guilabel>charset</guilabel>. the available options are the same as those on
+the <guilabel>defaults</guilabel> tab.</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</chapter>
+<chapter id="credits">
+<title>credits and licenses</title>
+<para><application>kwrite</application> copyright 2000 by jochen wilhelmy
+<email>digisnap@cs.tu-berlin.de</email></para>
+<para>contributions:</para>
+<itemizedlist>
+<listitem>
+<para>additional contributions by glen parker <email>glenebob@nwlink.com</email></para>
+</listitem>
+<listitem>
+<para>michael koch <email>koch@kde.org</email></para>
+</listitem>
+</itemizedlist>
+<para>documentation by thad mcginnis <email>ctmcginnis@compuserve.com</email></para>
+<itemizedlist>
+<listitem>
+<para>this version of the <application>kwrite</application> handbook is based on the original by cristian tibirna <email>tibirna@kde.org</email></para>
+</listitem>
+</itemizedlist>
+<para>converted to docbook/proofreading by lauri watts <email>vampyr@atconnex.net</email></para>
+<para id="gnu-fdl" xreflabel="the section entitled gnu free documentation license">this documentation is licensed under the terms of the <ulink url="common/fdl-license.html">gnu free documentation
+license</ulink>.</para>
+<para>this program is licensed under the terms of the <ulink url="common/gpl-translated.html">gnu general public license</ulink>.</para>
+</chapter>
+<appendix id="installation">
+<title>installation</title>
+<para><application>kwrite</application> is packaged as part of the kdebase package. for more information
+on installing and compiling kde please see <ulink url="http://www.kde.org">www.kde.org</ulink>.</para>
+</appendix>
+</book>