Make sure all files that should be present are present.

This commit is contained in:
Storm Dragon 2024-10-17 16:33:13 -04:00
parent 9d78a3fbee
commit c615709602
1395 changed files with 1344591 additions and 0 deletions

49
.gitignore vendored Normal file
View File

@ -0,0 +1,49 @@
ABOUT-NLS
INSTALL
Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.h
config.h.in
config.guess
config.log
config.rpath
config.status
config.sub
configure
debug.out
depcomp
install-sh
intltool-extract.in
intltool-extract
intltool-merge.in
intltool-merge
intltool-update.in
intltool-update
libtool
ltmain.sh
missing
mkinstalldirs
omf.make
orca-autostart.desktop
orca.desktop
orca.spec
py-compile
stamp-h1
xmldocs.make
core
bld
*~
patch.*
[0-9][0-9][0-9][0-9][-]*
# /help
/help/*.omf
/help/*/*.page
!/help/C/*.page
/help/*/*.xml
!/help/C/*.xml
/help/*/*.mo
/help/*/*.stamp

14
AUTHORS Normal file
View File

@ -0,0 +1,14 @@
Orca Authors
Marc Mulcahy
Willie Walker
Mike Pedersen
Rich Burridge
Joanmarie Diggs
Eitan Isaacson
Scott Haeger
Cthulhu authors
Storm Dragon

502
COPYING Normal file
View File

@ -0,0 +1,502 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library 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 GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

4
ChangeLog Normal file
View File

@ -0,0 +1,4 @@
2009-06-09 Willie Walker <william.walker@sun.com>
As of June 9, 2009, the ChangeLog is auto-generated when releasing.
If you are seeing this, use 'git log' for a detailed list of changes.

20252
ChangeLog-pre-2.27.1 Normal file

File diff suppressed because it is too large Load Diff

1
HACKING Normal file
View File

@ -0,0 +1 @@
Please contact the MAINTAINERS before making changes to Cthulhu.

53
Makefile.am Normal file
View File

@ -0,0 +1,53 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = docs icons po src help
DISTCHECK_CONFIGURE_FLAGS = \
--disable-scrollkeeper
DISTCLEANFILES = \
cthulhu-autostart.desktop
README: README.md
cp $< $@
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook: update-icon-cache
uninstall-hook: update-icon-cache
update-icon-cache:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After (un)install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi
autostartdir = $(sysconfdir)/xdg/autostart
autostart_in_files = cthulhu-autostart.desktop.in
autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
$(autostart_DATA): $(autostart_in_files)
$(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
EXTRA_DIST = \
$(autostart_in_files) \
$(icon_DATA) \
ChangeLog \
MAINTAINERS \
README.md
dist-hook:
@if test -d "$(srcdir)/.git"; \
then \
echo Creating ChangeLog && \
( cd "$(top_srcdir)" && \
echo '# Generated by Makefile. Do not edit.'; echo; \
$(top_srcdir)/missing --run git log --pretty=format:"%ai %an <%ae>%n%n %s%n" --name-status ORCA_2_26_0.. ) > ChangeLog.tmp \
&& mv -f ChangeLog.tmp $(top_distdir)/ChangeLog \
|| ( rm -f ChangeLog.tmp ; \
echo Failed to generate ChangeLog >&2 ); \
else \
echo A git clone is required to generate a ChangeLog >&2; \
fi

13049
NEWS Normal file

File diff suppressed because it is too large Load Diff

1
QUICKSTART Normal file
View File

@ -0,0 +1 @@
See http://wiki.gnome.org/Projects/Cthulhu

74
README.md Normal file
View File

@ -0,0 +1,74 @@
# Cthulhu v45.3
## Introduction
Cthulhu is a free, open source, flexible, and extensible screen reader
that provides access to the graphical desktop via user-customizable
combinations of speech and/or braille.
Cthulhu works with applications and toolkits that support the assistive
technology service provider interface (AT-SPI), which is the primary
assistive technology infrastructure for the Solaris and Linux
operating environments. Applications and toolkits supporting the
AT-SPI include the GNOME GTK+ toolkit, the Java platform's Swing
toolkit, OpenOffice/LibreOffice, Gecko, and WebKitGtk. AT-SPI support
for the KDE Qt toolkit is currently being pursued.
See also <http://wiki.gnome.org/Projects/Cthulhu> for detailed information
on Cthulhu, including how to run Cthulhu, how to communicate with the Cthulhu user
community, and where to log bugs and feature requests.
## Dependencies
Cthulhu v45.x is supported on GNOME 45.x only. We highly suggest you
use the latest releases of GNOME because they contain accessibility
infrastructure and application bug fixes that help Cthulhu work better.
Cthulhu also has the following dependencies:
* Python 3 - Python platform
* pygobject-3.0 - Python bindings for the GObject library
* gtk+-3.0 - GTK+ toolkit
* json-py - a JSON (<https://json.org/>) reader and writer in Python
* python-speechd - Python bindings for Speech Dispatcher (optional)
* BrlTTY - BrlTTY (<https://mielke.cc/brltty/>) support for braille (optional)
* BrlAPI - BrlAPI support for braille (optional)
* liblouis - Liblouis (<http://liblouis.org/>) support for contracted braille (optional)
* py-setproctitle - Python library to set the process title (optional)
* gstreamer-1.0 - GStreamer - Streaming media framework (optional)
You are strongly encouraged to also have the latest stable versions
of AT-SPI2 and ATK for the GNOME 45.x release.
## NOTE FOR BRLTTY USERS:
Cthulhu depends upon the Python bindings for BrlAPI available in BrlTTY v4.5
or better. You can determine if the Python bindings for BrlAPI are
installed by running the following command:
```sh
python -c "import brlapi"
```
If you get an error, the Python bindings for BrlAPI are not installed.
## Running Cthulhu
If you wish to modify your Cthulhu preferences, you can press "Insert+space"
while Cthulhu is running.
To get help while running Cthulhu, press "Insert+H". This will enable
"learn mode", which provides a spoken and brailled description of what
various keyboard and braille input device actions will do. To exit
learn mode, press "Escape." Finally, the preferences dialog contains
a "Key Bindings" tab that lists the keyboard binding for Cthulhu.
For more information, see the Cthulhu documentation which is available
within Cthulhu as well as at: <https://help.gnome.org/users/cthulhu/stable/>
## Scripting Cthulhu
So, you want to write a script for Cthulhu? The best thing to do is
start by looking at other scripts under the src/cthulhu/scripts/ hierarchy
of the source tree.

84
RELEASE-HOWTO Normal file
View File

@ -0,0 +1,84 @@
This document provides a step-by-step list to remind Cthulhu
maintainers how to make a release.
The general instructions for a release are here:
https://wiki.gnome.org/MaintainersCorner/Releasing
See also:
https://discourse.gnome.org/t/new-gnome-versioning-scheme/4235
Here's a summary for Cthulhu:
PREPARE SOURCES FOR THE RELEASE:
-------------------------------
Make sure you are up to date:
git pull
git status
Update ./NEWS with changes from the last tagged release. You can use
commands like the following:
Detailed commits since the ORCA_40_BETA tag:
git log ORCA_40_BETA..
Short list of translation changes with author names and files:
git log ORCA_40_BETA.. --grep translation --pretty=format:"%s - %an" --name-only
Quick-and-dirty formatted list of translation changes:
git log ORCA_40_BETA.. --grep translation --pretty=format:"%s,%an" --name-only |
awk -F/ '/\.(po|am)/ {gsub("(\.po|Makefile.am)", "", $NF); printf(",%s",$NF); next;}
{gsub("(Updated* |Add(ed)* | translation| help)", "", $0); printf("\n%s",$0);}' |
awk -F, '!seen[$0]++ {if (NF == 3) printf(" %-15s %-25s %s\n", $3, $1, $2);}' |
sort
Short list of non-translation commits:
git log ORCA_40_BETA.. --grep translation --invert-grep --pretty=format:" * %s%n"
NOTE: You should also make sure the external dependencies listed in
configure.ac and README are accurate.
BUILD THE RELEASE:
-----------------
./autogen.sh --prefix=`pwd`/bld && make && make install && make distcheck
COMMIT RELEASE CHANGES AND TAG THE RELEASE:
-------------------------------------------
git commit -a
git push
git tag -a -s ORCA_40_RC
git push origin ORCA_40_RC
UPLOAD THE RELEASE:
------------------
scp cthulhu-40.rc.tar.xz yourusername@master.gnome.org:
ssh master.gnome.org
ftpadmin install cthulhu-40.rc.tar.xz
BUMP THE VERSION:
-----------------
Modify this line in ./configure.ac:
m4_define([cthulhu_version], [40.rc])
The major version (40) increments by 1 each new GNOME release cycle.
The minor version proceeds as follows: alpha, beta, rc, 0, 1, 2, 3, etc.
Modify ./README.md to make sure it has the right Cthulhu version.
git commit -a
git push

2
TODO Normal file
View File

@ -0,0 +1,2 @@
All Cthulhu TODO's are maintained as RFE's and bugs in the GNOME bugzilla
database: http://bugzilla.gnome.org/buglist.cgi?query=product%3Acthulhu

104
acinclude.m4 Normal file
View File

@ -0,0 +1,104 @@
dnl a macro to check for ability to create python extensions
dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE])
dnl function also defines PYTHON_INCLUDES
AC_DEFUN([AM_CHECK_PYTHON_HEADERS],
[AC_REQUIRE([AM_PATH_PYTHON])
AC_MSG_CHECKING(for headers required to compile python extensions)
dnl deduce PYTHON_INCLUDES
py_prefix=`$PYTHON -c "import sys; print sys.prefix"`
py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"`
PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}"
if test "$py_prefix" != "$py_exec_prefix"; then
PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}"
fi
AC_SUBST(PYTHON_INCLUDES)
dnl check if the headers exist:
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
AC_TRY_CPP([#include <Python.h>],dnl
[AC_MSG_RESULT(found)
$1],dnl
[AC_MSG_RESULT(not found)
$2])
CPPFLAGS="$save_CPPFLAGS"
])
dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]])
dnl Check if a module containing a given symbol is visible to python.
AC_DEFUN([AM_CHECK_PYMOD],
[AC_REQUIRE([AM_PATH_PYTHON])
py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'`
AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1)
AC_CACHE_VAL(py_cv_mod_$py_mod_var, [
ifelse([$2],[], [prog="
import sys
try:
from gi.repository import GObject
import $1
except ImportError:
sys.exit(1)
except:
sys.exit(0)
sys.exit(0)"], [prog="
import $1
import $1.$2"])
if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC
then
eval "py_cv_mod_$py_mod_var=yes"
else
eval "py_cv_mod_$py_mod_var=no"
fi
])
py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"`
if test "x$py_val" != xno; then
AC_MSG_RESULT(yes)
ifelse([$3], [],, [$3
])dnl
else
AC_MSG_RESULT(no)
ifelse([$4], [],, [$4
])dnl
fi
])
dnl PYDOC_CHECK()
AC_DEFUN([PYDOC_CHECK],
[
dnl enable/disable documentation building
AC_ARG_ENABLE(pydoc,
AC_HELP_STRING([--enable-pydoc],
[use pydoc to build documentation [default=no]]),,
enable_pydoc=no)
have_pydoc=no
if test x$enable_pydoc = xyes; then
AC_CHECK_FILE("$prefix/bin/pydoc", PYDOC="$prefix/bin/pydoc")
fi
if test -z "$PYDOC"; then
enable_pydoc=no
fi
AM_CONDITIONAL(ENABLE_PYDOC, test x$enable_pydoc = xyes)
])
dnl
dnl JH_ADD_CFLAG(FLAG)
dnl checks whether the C compiler supports the given flag, and if so, adds
dnl it to $CFLAGS. If the flag is already present in the list, then the
dnl check is not performed.
AC_DEFUN([JH_ADD_CFLAG],
[
case " $CFLAGS " in
*@<:@\ \ @:>@$1@<:@\ \ @:>@*)
;;
*)
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $1"
AC_MSG_CHECKING([whether [$]CC understands $1])
AC_TRY_COMPILE([], [], [jh_has_option=yes], [jh_has_option=no])
AC_MSG_RESULT($jh_has_option)
if test $jh_has_option = no; then
CFLAGS="$save_CFLAGS"
fi
;;
esac])

9
ci/build_and_install.sh Normal file
View File

@ -0,0 +1,9 @@
#!/bin/sh
set -eux -o pipefail
mkdir -p _build
cd _build
../autogen.sh --prefix=/usr
make
make install

55
ci/container_builds.yml Normal file
View File

@ -0,0 +1,55 @@
include:
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/80f87b3058efb75a1faae11826211375fba77e7f/templates/opensuse.yml"
variables:
# When branching change the suffix to avoid conflicts with images
# from the main branch
BASE_TAG: "2023-06-09.0-master"
FDO_UPSTREAM_REPO: "gnome/cthulhu"
.cthulhu_opensuse_tumbleweed_x86_64:
variables:
FDO_DISTRIBUTION_VERSION: "tumbleweed"
FDO_DISTRIBUTION_TAG: "x86_64-${BASE_TAG}"
opensuse-container@x86_64:
extends:
- .cthulhu_opensuse_tumbleweed_x86_64
- .fdo.container-build@opensuse@x86_64
stage: "container-build"
variables:
FDO_DISTRIBUTION_PACKAGES: >-
autoconf
automake
dbus-1
dbus-1-devel
gcc
gettext
gettext-tools
git
glib2-devel
gobject-introspection-devel
gsettings-desktop-schemas
gstreamer-devel
itstool
libtool
libXi-devel
libXtst-devel
libxkbcommon-devel
libxml2-devel
libX11-devel
make
meson
ninja
python3
python3-brlapi
python3-louis
python3-pip
python3-speechd
python310-gobject-devel
python310-simplejson
xvfb-run
yelp-devel
yelp-tools
FDO_DISTRIBUTION_EXEC: >-
pip3 install ruff

11
ci/install_atspi.sh Normal file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -eux -o pipefail
git clone --depth 1 https://gitlab.gnome.org/GNOME/at-spi2-core.git
cd at-spi2-core
mkdir _build
meson setup --buildtype=debug --prefix=/usr _build .
meson compile -C _build
meson install -C _build

12
ci/install_pyatspi2.sh Normal file
View File

@ -0,0 +1,12 @@
#!/bin/sh
set -eux -o pipefail
git clone --depth 1 https://gitlab.gnome.org/GNOME/pyatspi2.git
cd pyatspi2
mkdir _build
cd _build
../autogen.sh --prefix=/usr
make
make install

View File

@ -0,0 +1,30 @@
#!/bin/sh
#
# Utility script so you can pull the container image from CI for local development.
# Run this script and follow the instructions; the script will tell you how
# to run "podman run" to launch a container that has the same environment as the
# one used during CI pipelines. You can debug things at leisure there.
set -eu
set -o pipefail
CONTAINER_BUILDS=ci/container_builds.yml
if [ ! -f $CONTAINER_BUILDS ]
then
echo "Please run this from the toplevel source directory in cthulhu"
exit 1
fi
tag=$(grep -e '^ BASE_TAG:' $CONTAINER_BUILDS | head -n 1 | sed -E 's/.*BASE_TAG: "(.+)"/\1/')
full_tag=x86_64-$tag
echo full_tag=\"$full_tag\"
image_name=registry.gitlab.gnome.org/gnome/cthulhu/opensuse/tumbleweed:$full_tag
echo pulling image $image_name
podman pull $image_name
echo ""
echo "You can now run this:"
echo " podman run --rm -ti --cap-add=SYS_PTRACE -v \$(pwd):/srv/project -w /srv/project $image_name"

153
configure.ac Normal file
View File

@ -0,0 +1,153 @@
m4_define([cthulhu_version], [0.1])
m4_define(pygobject_required_version, 3.18)
m4_define(atspi_required_version, 2.48)
m4_define(atkbridge_required_version, 2.26)
AC_INIT([cthulhu],[cthulhu_version],[https://gitlab.gnome.org/GNOME/cthulhu/-/issues/],[cthulhu])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 tar-ustar no-dist-gzip dist-xz])
AM_MAINTAINER_MODE([enable])
dnl Gettext stuff
# FIXME: Remove AM_GNU_GETTEXT_VERSION once autoreconf supports REQUIRE_VERSION
AM_GNU_GETTEXT_VERSION([0.19.8])
AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8])
AM_GNU_GETTEXT([external])
GETTEXT_PACKAGE=AC_PACKAGE_TARNAME
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [gettext package])
# User Documentation
YELP_HELP_INIT
PKG_CHECK_MODULES([PYGOBJECT], [pygobject-3.0 >= pygobject_required_version])
PKG_CHECK_MODULES([ATSPI2], [atspi-2 >= atspi_required_version])
PKG_CHECK_MODULES([ATKBRIDGE], [atk-bridge-2.0 >= atkbridge_required_version])
PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0], [gstreamer="yes"], [gstreamer="no"])
dnl Needed programs
AC_PROG_INSTALL
dnl Check for python and python modules needed by Cthulhu
dnl TODO: check for incompatibilities between Cthulhu and liblouis
dnl per http://live.gnome.org/Cthulhu/Braille
AM_PATH_PYTHON(3.3)
# Don't require the DISPLAY to be set - the gtk checking will fail
# if DISPLAY is not set, and we don't like that.
AM_CHECK_PYMOD(gi,,,[AC_MSG_ERROR(Could not find python module: gi)])
AM_CHECK_PYMOD(json,,,[AC_MSG_ERROR(Could not find python module: json)])
AM_CHECK_PYMOD(brlapi,,[brlapi_available="yes"],[brlapi_available="no"])
AM_CHECK_PYMOD(speechd,,[speechd_available="yes"],[speechd_available="no"])
AC_ARG_WITH([liblouis],
AS_HELP_STRING([--without-liblouis], [Disable liblouis support]))
AS_IF([test "x$with_liblouis" != xno],
[AM_CHECK_PYMOD(louis,,[louis_available="yes"],[louis_available="no"])],
[louis_available=no])
if test "x$with_liblouis" = xyes -a "x$louis_available" = xno; then
AC_MSG_ERROR([Liblouis was requested but could not be found])
fi
LOUIS_TABLE_DIR=""
if test x$louis_available = "xyes"; then
LOUIS_TABLE_DIR=`pkg-config --variable=tablesdir liblouis`
fi
AC_SUBST(LOUIS_TABLE_DIR)
REVISION=`git rev-parse --short HEAD 2> /dev/null`
AC_SUBST(REVISION)
dnl Check for the OS. On *Solaris systems the PATH must be set
PLATFORM=`uname -a`
case "${PLATFORM}" in
*SunOS*)
PLATFORM_PATH=":/usr/ccs/bin:/usr/bin:/usr/sbin:/bin:/usr/sfw/bin:/usr/openwin/bin:/usr/X11R6/bin"
;;
*Linux*)
PLATFORM_PATH=":/usr/bin:/usr/sbin:/bin"
;;
esac
AC_SUBST(PLATFORM_PATH)
AC_CONFIG_FILES([
Makefile
docs/Makefile
docs/man/Makefile
po/Makefile.in
help/Makefile
icons/Makefile
src/Makefile
src/cthulhu/Makefile
src/cthulhu/scripts/Makefile
src/cthulhu/scripts/apps/Makefile
src/cthulhu/scripts/apps/Banshee/Makefile
src/cthulhu/scripts/apps/Eclipse/Makefile
src/cthulhu/scripts/apps/epiphany/Makefile
src/cthulhu/scripts/apps/evince/Makefile
src/cthulhu/scripts/apps/evolution/Makefile
src/cthulhu/scripts/apps/gajim/Makefile
src/cthulhu/scripts/apps/gcalctool/Makefile
src/cthulhu/scripts/apps/gedit/Makefile
src/cthulhu/scripts/apps/gnome-documents/Makefile
src/cthulhu/scripts/apps/gnome-shell/Makefile
src/cthulhu/scripts/apps/kwin/Makefile
src/cthulhu/scripts/apps/notification-daemon/Makefile
src/cthulhu/scripts/apps/notify-osd/Makefile
src/cthulhu/scripts/apps/pidgin/Makefile
src/cthulhu/scripts/apps/soffice/Makefile
src/cthulhu/scripts/apps/SeaMonkey/Makefile
src/cthulhu/scripts/apps/smuxi-frontend-gnome/Makefile
src/cthulhu/scripts/apps/Thunderbird/Makefile
src/cthulhu/scripts/apps/xfwm4/Makefile
src/cthulhu/scripts/switcher/Makefile
src/cthulhu/scripts/terminal/Makefile
src/cthulhu/scripts/web/Makefile
src/cthulhu/scripts/toolkits/Makefile
src/cthulhu/scripts/toolkits/Chromium/Makefile
src/cthulhu/scripts/toolkits/Gecko/Makefile
src/cthulhu/scripts/toolkits/J2SE-access-bridge/Makefile
src/cthulhu/scripts/toolkits/clutter/Makefile
src/cthulhu/scripts/toolkits/GAIL/Makefile
src/cthulhu/scripts/toolkits/Qt/Makefile
src/cthulhu/scripts/toolkits/WebKitGtk/Makefile
src/cthulhu/scripts/toolkits/gtk/Makefile
src/cthulhu/backends/Makefile
src/cthulhu/cthulhu_bin.py
src/cthulhu/cthulhu_i18n.py
src/cthulhu/cthulhu_platform.py
])
AC_CONFIG_COMMANDS([default],[cp src/cthulhu/cthulhu_bin.py src/cthulhu/cthulhu],[])
AC_OUTPUT
if test "x$brlapi_available" = "xno" ; then
echo
echo "NOTE: Braille support requires BrlTTY >= 3.9 and BrlAPI >= 0.5.1."
fi
if test "x$wnck_available" = "xno" ; then
echo
echo "NOTE: Mouse review requires wnck, which was not found."
fi
if test "x$speechd_available" = "xno" ; then
echo
echo "NOTE: Speech support requires speech-dispatcher >= 0.8."
fi
if test "x$gstreamer" = "xno" ; then
echo
echo "NOTE: Sound support requires gstreamer-1.0."
fi
echo
echo Use speech-dispatcher: $speechd_available
echo Use brltty: $brlapi_available
echo Use liblouis: $louis_available
echo Use gstreamer: $gstreamer
echo

59
cthulhu-autostart.desktop Normal file
View File

@ -0,0 +1,59 @@
[Desktop Entry]
Type=Application
Name[an]=Lector de pantalla Cthulhu
Name[ast]=Llector de pantalla d'Cthulhu
Name[be]=Чытач з экрана Cthulhu
Name[bg]=Cthulhu екранен четец
Name[bs]=Cthulhu čitač ekrana
Name[ca]=Lector de pantalla Cthulhu
Name[cs]=Čtečka obrazovky Cthulhu
Name[da]=Skærmlæseren Cthulhu
Name[de]=Cthulhu-Bildschirmleser
Name[el]=Αναγνώστης οθόνης Cthulhu
Name[en_GB]=Cthulhu Screen Reader
Name[eo]=Ekranlegilo Orko
Name[es]=Lector de pantalla Cthulhu
Name[eu]=Cthulhu pantaila-irakurlea
Name[fa]=صفحهخوان اورکا
Name[fi]=Cthulhu-näytönlukija
Name[fr]=Lecteur décran Cthulhu
Name[gl]=Lector da pantalla Cthulhu
Name[he]=מקריא המסך Cthulhu
Name[hi]=Cthulhu
Name[hu]=Orka képernyőolvasó
Name[id]=Pembaca Layar Cthulhu
Name[is]=Cthulhu skjálestur
Name[it]=Lettore schermo Cthulhu
Name[ka]=Cthulhu -
Name[kk]=Cthulhu экраннан оқитын қолданбасы
Name[lt]=Cthulhu ekrano skaityklė
Name[lv]=Cthulhu ekrāna lasītājs
Name[mk]=Cthulhu читач на екранот
Name[nb]=Cthulhu skjermleser
Name[ne]= ि
Name[nl]=Cthulhu schermlezer
Name[oc]=Lector d'ecran Cthulhu
Name[pa]=
Name[pl]=Czytnik ekranowy Cthulhu
Name[pt]=Leitor de ecrã Cthulhu
Name[pt_BR]=Leitor de tela Cthulhu
Name[ro]=Cititorul de ecran Cthulhu
Name[ru]=Экранный диктор Cthulhu
Name[sl]=Zaslonski bralnik Orka
Name[sr]=Читач екрана Орка
Name[sv]=Cthulhu skärmläsare
Name[ta]= ி ிி
Name[te]= ి
Name[tg]=Хонандаи экрани Cthulhu
Name[tr]=Cthulhu Ekran Okuyucu
Name[ug]=Cthulhu ئېكران ئوقۇغۇ
Name[uk]=Інструмент читання з екрана «Cthulhu»
Name[zh_CN]=Cthulhu
Name[zh_HK]=Cthulhu
Name=Cthulhu Screen Reader
Exec=cthulhu
NoDisplay=true
AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-reader-enabled
X-GNOME-AutoRestart=true
#X-GNOME-Autostart-Phase=Initialization
OnlyShowIn=GNOME;MATE;Unity;Cinnamon;

View File

@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=Cthulhu Screen Reader
Exec=cthulhu
NoDisplay=true
AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-reader-enabled
X-GNOME-AutoRestart=true
#X-GNOME-Autostart-Phase=Initialization
OnlyShowIn=GNOME;MATE;Unity;Cinnamon;

30
cthulhu.doap Normal file
View File

@ -0,0 +1,30 @@
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:gnome="http://api.gnome.org/doap-extensions#"
xmlns="http://usefulinc.com/ns/doap#">
<name xml:lang="en">cthulhu</name>
<shortdesc xml:lang="en">Screen reader for individuals who are blind or visually impaired</shortdesc>
<description xml:lang="en">Screen reader for individuals who are blind or visually impaired</description>
<homepage rdf:resource="https://wiki.gnome.org/Projects/Cthulhu" />
<mailing-list rdf:resource="https://www.freelists.org/list/cthulhu" />
<download-page rdf:resource="https://download.gnome.org/sources/cthulhu/" />
<bug-database rdf:resource="https://gitlab.gnome.org/GNOME/cthulhu/issues" />
<category rdf:resource="http://api.gnome.org/doap-extensions#apps" />
<programming-language>Python</programming-language>
<maintainer>
<foaf:Person>
<foaf:name>Joanmarie Diggs</foaf:name>
<foaf:mbox rdf:resource="mailto:jdiggs@igalia.com" />
<gnome:userid>joanied</gnome:userid>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Federico Mena Quintero</foaf:name>
<foaf:mbox rdf:resource="mailto:federico@gnome.org" />
<gnome:userid>federico</gnome:userid>
</foaf:Person>
</maintainer>
</Project>

View File

@ -0,0 +1,58 @@
# Maintainer: Storm Dragon <storm_dragon@stormux.org>
pkgname=cthulhu
pkgver=0.1
pkgrel=1
pkgdesc="Screen reader for individuals who are blind or visually impaired forked from Orca"
url="https://git.stormux.org/storm/cthulhu"
arch=(any)
license=(LGPL)
depends=(
at-spi2-core
brltty
gobject-introspection-runtime
gsettings-desktop-schemas
gstreamer
gst-plugins-base # playbin, audiotestsrc, basic decoders
gst-plugins-good # pulsesink, more decoders
gtk3
hicolor-icon-theme
liblouis
libwnck3
pango
python
python-atspi
python-cairo
python-gobject
python-setproctitle
speech-dispatcher
xorg-xkbcomp
xorg-xmodmap
)
makedepends=(
git
itstool
yelp-tools
)
groups=(gnome)
_commit=9e77d1baf9bd24b78d7499ad9b2e8bb80c9a0c81 # tags/ORCA_45_1^0
source=("git+https://git.stormux.org/storm/cthulhu.git")
b2sums=('SKIP')
prepare() {
cd cthulhu
NOCONFIGURE=1 ./autogen.sh
}
build() {
cd cthulhu
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
}
package() {
cd cthulhu
make DESTDIR="$pkgdir" install
}
# vim:set sw=2 sts=-1 et:

1
docs/Makefile.am Normal file
View File

@ -0,0 +1 @@
SUBDIRS = man

5
docs/man/Makefile.am Normal file
View File

@ -0,0 +1,5 @@
man1_MANS = cthulhu.1
EXTRA_DIST = \
$(man1_MANS)

334
docs/man/cthulhu.1 Normal file
View File

@ -0,0 +1,334 @@
.\" Copyright (C) 2005-2009 Sun Microsystems Inc.
.\"
.\" This is free software; you may redistribute it and/or modify
.\" it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2,
.\" or (at your option) any later version.
.\"
.\" This 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
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this; if not write to the Free Software Foundation, Inc.
.\" 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
'\"
.TH cthulhu 1 "20 September 2013" "GNOME"
.SH NAME
cthulhu \- a scriptable screen reader
.SH SYNOPSIS
.B cthulhu
.RI [ option... ]
.SH DESCRIPTION
.B cthulhu
is a screen reader for people with visual impairments,
it provides alternative access to the desktop by using speech synthesis and braille.
.P
.B cthulhu
works with applications and toolkits that support
the Assistive Technology Service Provider Interface (AT-SPI), which
is the primary assistive technology infrastructure for Linux and
Solaris. Applications and toolkits supporting the AT-SPI include the
GNOME Gtk+ toolkit, the Java platform's Swing toolkit, LibreOffice,
Gecko, and WebKitGtk. AT-SPI support for the KDE Qt toolkit is being
pursued.
.SH OPTIONS
.TP
.B \-s, --setup
When starting
.BR cthulhu ,
initiate the GUI-based configuration.
.TP
.BI "\-u, --user-prefs-dir=" dirname
When starting
.BR cthulhu ,
use
.I dirname
as an alternate directory for the user preferences.
.TP
.BI "\-e, \-\-enable=" speech|braille|braille\-monitor
When starting
.BR cthulhu ,
force the enabling of the supplied options.
.TP
.BI "\-d, \-\-disable=" speech|braille|braille\-monitor
When starting
.BR cthulhu ,
force the disabling of the supplied options.
.TP
.B \-l, --list-apps
Prints the names of all the currently running applications. This
is used primarily for debugging purposes to see if
.B cthulhu
can talk to the accessibility infrastructure. Note that if
.B cthulhu
is already running, this will not kill the other
.B cthulhu
process. It will just list the currently running applications,
and you will see
.B cthulhu
listed twice: once for the existing
.B cthulhu
and once for this instance.
.TP
.B \--debug
Enables debug output for
.B cthulhu
and sends all debug output to a file with a name of the
form 'debug-YYYY-MM-DD-HH:MM:SS.out' in the current directory.
The YYYY-MM-DD-HH:MM:SS portion will be replaced with the current
date and time.
.TP
.BI "\--debug-file=" filename
Enables debug output for
.B cthulhu
and sends all debug output to the given filename.
.TP
.B \-v, --version
outputs
.B cthulhu
version number and exits.
.TP
.B \-h, \--help
displays
.B cthulhu
help and exits.
.TP
.B \--replace
Replace a currently running
.BR cthulhu
process. By default, if
.BR cthulhu
detects an existing
.BR cthulhu
process for the same session, it will not start a new
.BR cthulhu
process. This option will kill and cleanup after any existing
.BR cthulhu
process and then start a new
.BR cthulhu
in its place.
.TP
.SH KEYBOARD SETTINGS
Cthulhu provides two keyboard modes, Desktop and Laptop keyboard layout. The
.B Cthulhu_Modifier
key is
.B Insert
in desktop keyboard layout and
.B Caps_Lock
in laptop keyboard layout.
.B Cthulhu
uses default GNOME keyboard shortcuts to navigate the desktop and interact with various applications. The flat review commands provide an alternative method of interaction in certain inaccessible applications. It should not be confused with flat review functionality provided by other screen readers.
.SH Desktop Mode
.B Flat review commands
.B "Numpad-7"
move the flat review cursor to the previous line and read it.
.B "Numpad-8"
read the current line.
.B "Numpad-9"
move the flat review cursor to the next line and read it.
.B "Numpad-4"
move the flat review cursor to the previous word and read it.
.B "Numpad-5"
read the current word.
.B "Numpad-6"
move the flat review cursor to the next word and read it.
.B "Numpad-1"
move the flat review cursor to the previous character and read it.
.B "Numpad-2"
read the current character.
.B "Numpad-3"
move the flat review cursor to the next character and read it.
.B "Numpad-slash"
perform a left mouse click at the location of the flat review cursor.
.B "Numpad-star"
perform a right mouse click at the location of the flat review cursor.
.B Bookmark commands
.B "Alt+Insert+[1-6]"
assign a bookmark to a numbered slot. If a bookmark already exists in the slot it will be replaced with the new one.
.B "Insert+[1-6]"
go to the position pointed to by the bookmark bound to this numbered slot.
.B "Insert+B and Insert+Shift+B"
move between the given bookmarks for the given application or page.
.B "Alt+Insert+B"
save the defined bookmarks for the current application or page.
.B Miscellaneous functions
.B "Numpad+Plus"
'say all' command; reads from the current position of the caret to the end of the document.
.B "Numpad+Enter"
'Where am I' command; speaks information such as the title of the current application window, as well as the name of the control that currently has focus.
.B "Insert+H"
enter into cthulhu's 'learn mode'; press Escape to exit.
.B "Insert+Shift+Backslash"
toggle live regions monitoring on and off.
.B "Insert+F"
speak font and attribute information for the current character.
.B "Insert+Space"
Launch the cthulhu Configuration dialog.
.B "Insert+Ctrl+Space"
reload user settings and reinitialize services as necessary. Also launches the cthulhu Configuration dialog for the current application.
.B "Insert+S"
toggle speech on and off.
.B "Insert+F11"
toggle the reading of tables, either by single cell or whole row.
.SH Laptop Mode
.B Flat review commands
.B "Caps_Lock+U"
move the flat review cursor to the previous line and read it. Double-click to move flat review to the top of the current window.
.B "Caps_Lock+I"
read the current line. Double-click to read the current line along with formatting and capitalization details.
.B "Caps_Lock+O"
move the flat review cursor to the next line and read it. Double- click to move flat review to the bottom of the current window.
.B "Caps_Lock+J"
move the flat review cursor to the previous word and read it. Double-click to move flat review to the word above the current word.
.B "Caps_Lock+K"
read the current word. Double-click to spell the word. Triple-click to hear the word spelled phonetically.
.B "Caps_Lock+L"
move the flat review cursor to the next word and read it. Double- click to move flat review to the word below the current word.
.B "Caps_Lock+M"
move the flat review cursor to the previous character and read it. Double-click to move flat review to the end of the current line.
.B "Caps_Lock+Comma"
read the current character. Double-click to pronounce the character phonetically if it is a letter.
.B "Caps_Lock+Period"
move the flat review cursor to the next character and read it.
.B "Caps_Lock+7"
perform a left mouse click at the location of the flat review cursor.
.B "Caps_Lock+8"
perform a right mouse click at the location of the flat review cursor.
.B Bookmark commands
.B "Alt+Caps_Lock+[1-6]"
add a bookmark to the numbered slot. If a bookmark already exists for the slot it will be replaced with the new one.
.B "Caps_Lock+[1-6]"
go to the position pointed to by the bookmark bound to this numbered slot.
.B "Caps_Lock+Band Caps_Lock+Shift+B"
move between the given bookmarks for the given application or page.
.B "Alt+Caps_Lock+B"
save the defined bookmarks for the current application or page.
.B Miscellaneous functions
.B "Caps_Lock+Semicolon"
'Say all' command; reads from the current position of the caret to the end of the document.
.B "Caps_Lock+Enter"
'Where am I' command; speaks information such as the title of the current application window, as well as the name of the control that currently has focus.
.B "Caps_Lock+H"
enter learn mode (press Escape to exit).
.B "Caps_Lock+Shift+Backslash"
toggle live regions monitoring on and off.
.B "Caps_Lock+F"
speak font and attribute information for the current character.
.B "Caps_Lock+Space"
launch the cthulhu Configuration dialog.
.B "Caps_Lock+Ctrl+Space"
reload user settings and reinitialize services as necessary; also launches the cthulhu Configuration dialog for the current application.
.B "Caps_Lock+S"
toggle speech on and off.
.B "Caps_Lock+F11"
toggle the reading of tables, either by single cell or whole row.
.SH FILES
.TP
.BI ~/.local/share/cthulhu
.B Cthulhu
user preferences directory
.TP
.BI ~/.local/share/cthulhu/user-settings.conf
.B Cthulhu
user preferences configuration file.
.TP
.BI ~/.local/share/cthulhu/cthulhu-customizations.py
.B Cthulhu
user customizations configuration file
.TP
.BI ~/.local/share/cthulhu/cthulhu-scripts
.B Cthulhu
user cthulhu scripts directory
.TP
.BI ~/.local/share/cthulhu/bookmarks
.B Cthulhu
user bookmarks directory
.TP
.BI ~/.local/share/cthulhu/app-settings
.B Cthulhu
user application specific settings directory
.SH AUTHOR
.B Cthulhu
originated as a community effort led by the Sun Microsystems Inc.
Accessibility Program Office and with contributions from many community members.
.SH SEE ALSO
For more information please visit
.B cthulhu
wiki at
.UR http://live.gnome.org/Cthulhu
<http://live.gnome.org/Cthulhu>
.UE
.P
The
.B cthulhu
mailing list
.UR http://mail.gnome.org/mailman/listinfo/cthulhu-list
<http://mail.gnome.org/mailman/listinfo/cthulhu-list>
To post a message to all
.B cthulhu
list, send a email to cthulhu-list@gnome.org

34
help/C/commands.page Normal file
View File

@ -0,0 +1,34 @@
<page xmlns="http://projectmallard.org/1.0/" type="guide" id="commands">
<info>
<link type="next" xref="commands_controlling_cthulhu" />
<link type="guide" xref="index#quick_reference" />
<title type="sort">4. <app>Cthulhu</app>'s Commands</title>
<title type="link">Commands</title>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title><app>Cthulhu</app>'s Commands</title>
<section id="getting_started" style="2column">
<title>Getting Started</title>
</section>
<section id="speech_braille" style="2column">
<title>Speech and Braille</title>
</section>
<section id="reading_documents" style="2column">
<title>Reading Web Pages and Other Documents</title>
</section>
<section id="reviewing_screen_contents" style="2column">
<title>Reviewing and Interacting with Screen Contents</title>
</section>
<section id="accessing_dynamic_information" style="2column">
<title>Accessing Dynamic Information</title>
</section>
<section id="troubleshooting">
<title>Troubleshooting</title>
</section>
</page>

View File

@ -0,0 +1,57 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_bookmarks">
<info>
<link type="next" xref="commands_live_regions" />
<link type="guide" xref="commands#reviewing_screen_contents" />
<link type="seealso" xref="howto_bookmarks" />
<title type="sort">4. Bookmarks</title>
<title type="link">Bookmarks</title>
<desc>
Commands to bookmark and retrieve objects
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Bookmark Commands</title>
<p>
<app>Cthulhu</app> provides several commands which can be used to "bookmark"
a given object for the purpose of navigating back to it later.
</p>
<list>
<item>
<p>
Save a bookmark to the numbered slot: <keyseq><key>Cthulhu Modifier</key>
<key>Alt</key><key>1</key></keyseq>-<key>6</key>
</p>
</item>
<item>
<p>
Save the defined bookmarks for the application or page:
<keyseq><key>Cthulhu Modifier</key><key>Alt</key><key>B</key></keyseq>
</p>
</item>
<item>
<p>
Go to a specific, numbered bookmark: <keyseq><key>Cthulhu Modifier</key>
<key>1</key></keyseq>-<key>6</key>
</p>
</item>
<item>
<p>
Go to the previous bookmark for the application or page:
<keyseq><key>Cthulhu Modifier</key><key>Shift</key><key>B</key>
</keyseq>
</p>
</item>
<item>
<p>
Go to the next bookmark for the application or page:
<keyseq><key>Cthulhu Modifier</key><key>B</key></keyseq>
</p>
</item>
</list>
</page>

View File

@ -0,0 +1,40 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_braille">
<info>
<link type="next" xref="commands_reading" />
<link type="guide" xref="commands#speech_braille" />
<link type="seealso" xref="preferences_braille" />
<title type="sort">2. Braille</title>
<title type="link">Braille</title>
<desc>
Commands executable on braille displays
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Braille Commands</title>
<p>
The following commands allow you to control <app>Cthulhu</app> from your
refreshable braille display rather than your keyboard:
</p>
<list>
<item><p>Pan braille display to the left: Line Left</p></item>
<item><p>Pan braille display to the right: Line Right</p></item>
<item><p>Toggle flat review mode: Freeze</p></item>
<item><p>Review the word above: Line Up</p></item>
<item><p>Review the word below: Line Down</p></item>
<item><p>Review bottom left: Bottom Right</p></item>
<item><p>Review the home position: Top Left</p></item>
<item><p>Contracted braille: Six Dots</p></item>
<item><p>Marks the beginning of a text selection: Cut Begin</p></item>
<item><p>Marks the end of a text selection: Cut Line</p></item>
<item><p>Processes a cursor routing key: Cursor Routing</p></item>
<item><p>Returns to object with keyboard focus: Cursor Position</p></item>
</list>
</page>

52
help/C/commands_chat.page Normal file
View File

@ -0,0 +1,52 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_chat">
<info>
<link type="next" xref="commands_debugging" />
<link type="guide" xref="commands#accessing_dynamic_information" />
<link type="seealso" xref="preferences_chat" />
<title type="sort">2. Chat</title>
<title type="link">Chat</title>
<desc>
Commands for use with IM and IRC clients
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Chat Commands</title>
<p>
The following commands can be used to access information in the
instant messaging and internet relay chat clients supported by
<app>Cthulhu</app>. You will notice that several of these commands
are "unbound." Please see <link xref="howto_key_bindings">Modifying
Keybindings</link> for information on how to bind these commands to
keystrokes.
</p>
<list>
<item>
<p>
Present previous chat room messages:
<keyseq><key>Cthulhu Modifier</key><key>F1</key></keyseq> through <key>F9</key>
</p>
</item>
<item>
<p>
Enable/disable announcement of room name with messages: (Unbound)
</p>
</item>
<item>
<p>Enable/disable announcement of buddy typing status: (Unbound)</p>
</item>
<item>
<p>Enable/disable room-specific histories: (Unbound)</p>
</item>
</list>
</page>

View File

@ -0,0 +1,86 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_controlling_cthulhu">
<info>
<link type="next" xref="commands_where_am_i" />
<link type="guide" xref="commands#getting_started" />
<title type="sort">1. Controlling and Learning to Use Cthulhu</title>
<title type="link">Controlling and Learning to Use Cthulhu</title>
<desc>
Commands for interacting with <app>Cthulhu</app>
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Controlling and Learning to Use Cthulhu</title>
<section id="controlling">
<title>Commands for Controlling <app>Cthulhu</app></title>
<p>
The following commands can be used to get into <app>Cthulhu</app>'s
Preferences dialogs, toggle <app>Cthulhu</app> on and off, and bypass
<app>Cthulhu</app> commands to avoid shortcut conflicts within the
application being accessed.
</p>
<list>
<item>
<p>
Toggle <app>Cthulhu</app> on and off in GNOME:
<keyseq><key>Super</key><key>Alt</key><key>S</key></keyseq>.
</p>
<note style="tip">
<p>
If you are using <app>Cthulhu</app> in another desktop environment in which
there is no command to toggle <app>Cthulhu</app> on and off, you may find the
command to quit <app>Cthulhu</app> helpful. This command is unbound by default.
Please see <link xref="howto_key_bindings">Modifying Keybindings</link> for
information on how to bind unbound commands.
</p>
</note>
</item>
<item>
<p>
<link xref="preferences">Cthulhu Preferences</link> dialog:
<keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>.
</p>
</item>
<item>
<p>
Cthulhu's Preferences dialog for the focused application:
<keyseq><key>Ctrl</key><key>Cthulhu Modifier</key><key>Space</key></keyseq>.
</p>
</item>
<item>
<p>
Pass the next command on to the current application:
<keyseq><key>Cthulhu Modifier</key><key>BackSpace</key></keyseq>
</p>
</item>
</list>
</section>
<section id="learning">
<title>Commands for Learning to Use <app>Cthulhu</app></title>
<p>
In Learn Mode, <app>Cthulhu</app> will announce each keystroke you pressed
along with any associated <app>Cthulhu</app> command that keystroke is bound
to. In this mode, you can also get a list of shortcuts containing all the
<app>Cthulhu</app> commands you can use.
</p>
<list>
<item>
<p>
Enter Learn Mode:
<keyseq><key>Cthulhu Modifier</key><key>H</key></keyseq>
</p>
</item>
<item>
<p>
Exit Learn Mode:
<keyseq><key>Esc</key></keyseq>
</p>
</item>
</list>
</section>
</page>

View File

@ -0,0 +1,29 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_debugging">
<info>
<link type="guide" xref="commands#troubleshooting" />
<title type="sort">1. Debugging</title>
<title type="link">Debugging</title>
<desc>
Commands for troubleshooting
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Debugging Commands</title>
<p>
You may be asked by the developers to provide some debugging information in
order to help them identify the source of a problem you are experiencing.
The following command is not "bound" to a keystroke. If you need to bind it,
please see <link xref="howto_key_bindings">Modifying Keybindings</link>.
</p>
<list>
<item>
<p>Cycle to the next debug level: (Unbound)</p>
</item>
</list>
</page>

76
help/C/commands_find.page Normal file
View File

@ -0,0 +1,76 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_find">
<info>
<link type="next" xref="commands_mouse" />
<link type="guide" xref="commands#reviewing_screen_contents" />
<link type="seealso" xref="howto_cthulhu_find" />
<title type="sort">2. Cthulhu Find</title>
<title type="link">Cthulhu Find</title>
<desc>
Commands for searching window contents
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Cthulhu Find Commands</title>
<p>
<app>Cthulhu</app>'s <link xref="howto_cthulhu_find">Find feature</link> allows
you to search the <link xref="howto_flat_review">Flat Review</link> context
for elements located within the current window.
</p>
<list>
<item>
<p>Open the <app>Cthulhu</app> Find dialog:</p>
<list>
<item>
<p>Desktop: <keyseq><key>KP Delete</key></keyseq></p>
</item>
<item>
<p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Left Bracket</key></keyseq></p>
</item>
</list>
</item>
<item>
<p>Move flat review to the next instance of a string:</p>
<list>
<item>
<p>
Desktop:
<keyseq><key>Cthulhu Modifier</key><key>KP Delete</key></keyseq>
</p>
</item>
<item>
<p>
Laptop:
<keyseq><key>Cthulhu Modifier</key><key>Right Bracket</key></keyseq>
</p>
</item>
</list>
</item>
<item>
<p>Move flat review to the previous instance of a string:</p>
<list>
<item>
<p>
Desktop:
<keyseq>
<key>Cthulhu Modifier</key><key>Shift</key><key>KP Delete</key>
</keyseq>
</p>
</item>
<item>
<p>
Laptop:
<keyseq>
<key>Cthulhu Modifier</key><key>Ctrl</key><key>Right Bracket</key>
</keyseq>
</p>
</item>
</list>
</item>
</list>
</page>

View File

@ -0,0 +1,199 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_flat_review">
<info>
<link type="next" xref="commands_find" />
<link type="guide" xref="commands#reviewing_screen_contents" />
<link type="seealso" xref="howto_flat_review" />
<title type="sort">1. Flat Review</title>
<title type="link">Flat Review</title>
<desc>
Commands for spatially reviewing windows
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Flat Review Commands</title>
<p>
Cthulhu's <link xref="howto_flat_review">Flat Review</link> commands are
designed for spatially reviewing elements displayed on the screen. They
also provide a means for reading the current line, word, and character
when navigating in the text of a document. Most of these commands are
"bound" to keystrokes. Please see <link xref="howto_key_bindings">Modifying
Keybindings</link> for information on how to bind unbound commands.
</p>
<section id="line">
<title>Commands for Reviewing by Line</title>
<list>
<item>
<p>First line (The "home" position):</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP 7</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Ctrl</key><key>U</key></keyseq></p></item>
</list>
</item>
<item>
<p>Previous line:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 7</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>U</key></keyseq></p></item>
</list>
</item>
<item>
<p>Current line:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 8</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>I</key></keyseq></p></item>
</list>
</item>
<item><p>Spell current line:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 8</key></keyseq> (double-clicked)</p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>I</key></keyseq> (double-clicked)</p></item>
</list>
</item>
<item><p>Phonetically spell current line:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 8</key></keyseq> (triple-clicked)</p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>I</key></keyseq> (triple-clicked)</p></item>
</list>
</item>
<item><p>Next line:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 9</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>O</key></keyseq></p></item>
</list>
</item>
<item><p>Last line (The "end" position):</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP 9</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Ctrl</key><key>O</key></keyseq></p></item>
</list>
</item>
</list>
</section>
<section id="word">
<title>Commands for Reviewing by Word</title>
<list>
<item><p>Word above:</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP 4</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Ctrl</key><key>J</key></keyseq></p></item>
</list>
</item>
<item><p>Previous word:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 4</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>J</key></keyseq></p></item>
</list>
</item>
<item><p>Current word:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 5</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>K</key></keyseq></p></item>
</list>
</item>
<item><p>Spell current word:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 5</key></keyseq> (double-clicked)</p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>K</key></keyseq> (double-clicked)</p></item>
</list>
</item>
<item><p>Phonetically spell current word:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 5</key></keyseq> (triple-clicked)</p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>K</key></keyseq> (triple-clicked)</p></item>
</list>
</item>
<item><p>Next word:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 6</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>L</key></keyseq></p></item>
</list>
</item>
<item><p>Word below:</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP 6</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Ctrl</key><key>L</key></keyseq></p></item>
</list>
</item>
</list>
</section>
<section id="character">
<title>Commands for Reviewing by Character</title>
<list>
<item><p>Previous character:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 1</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>M</key></keyseq></p></item>
</list>
</item>
<item><p>Current character:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 2</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Comma</key></keyseq></p></item>
</list>
</item>
<item><p>Phonetically speak current character:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 2</key></keyseq> (double-clicked)</p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Comma</key></keyseq> (double-clicked)</p></item>
</list>
</item>
<item><p>Speak Unicode value of current character:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 2</key></keyseq> (triple-clicked)</p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Comma</key></keyseq> (triple-clicked)</p></item>
</list>
</item>
<item><p>Next character:</p>
<list>
<item><p>Desktop: <keyseq><key>KP 3</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Period</key></keyseq></p></item>
</list>
</item>
<item><p>Last character on current line:</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP 1</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Ctrl</key><key>M</key></keyseq></p></item>
</list>
</item>
</list>
</section>
<section id="other">
<title>Additional Commands</title>
<list>
<item><p>Toggle flat review (refreshes the flat review context):</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP Subtract</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>P</key></keyseq></p></item>
</list>
</item>
<item><p>Review current item/widget:</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP 5</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Ctrl</key><key>K</key></keyseq></p></item>
</list>
</item>
<item><p>Use Say All to review the current dialog or window:</p>
<list>
<item><p>Desktop: <key>KP Plus</key> (double-clicked)</p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Semicolon</key></keyseq> (double-clicked)</p></item>
</list>
</item>
<item>
<p>
Copy the contents under flat review to the clipboard: (Unbound)
</p>
</item>
<item>
<p>
Append the contents under flat review to the clipboard: (Unbound)
</p>
</item>
</list>
</section>
</page>

View File

@ -0,0 +1,62 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_live_regions">
<info>
<link type="next" xref="commands_chat" />
<link type="guide" xref="commands#accessing_dynamic_information" />
<link type="seealso" xref="howto_live_regions" />
<title type="sort">1. Live Regions</title>
<title type="link">Live Regions</title>
<desc>
Commands for accessing web live regions
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0
</p>
</license>
</info>
<title>Live Region Commands</title>
<p>
The following commands can be used to access dynamically-updated
content on web pages which have been made accessible through ARIA.
</p>
<list>
<item>
<p>
Monitor live regions:
<keyseq><key>Cthulhu Modifier</key><key>Shift</key><key>Backslash</key></keyseq>
</p>
</item>
<item>
<p>
Advance live region politeness setting: <key>Backslash</key>
</p>
</item>
<item>
<p>
Set default politeness level to off:
<keyseq><key>Shift</key><key>Backslash</key></keyseq>
</p>
</item>
<item>
<p>
Go to next/previous live region:
<keyseq><key>D</key></keyseq>/<keyseq><key>Shift</key><key>D</key></keyseq>
</p>
</item>
<item>
<p>
Go to last live region which made an announcement:
<keyseq><key>Y</key></keyseq>
</p>
</item>
<item>
<p>
Review live region announcements:
<keyseq><key>Cthulhu Modifier</key><key>F1</key></keyseq> through <key>F9</key>
</p>
</item>
</list>
</page>

View File

@ -0,0 +1,72 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_mouse">
<info>
<link type="next" xref="commands_bookmarks" />
<link type="guide" xref="commands#reviewing_screen_contents" />
<title type="sort">3. Mouse/Pointer-Related</title>
<title type="link">Mouse/Pointer-Related</title>
<link type="seealso" xref="howto_flat_review" />
<link type="seealso" xref="howto_mouse_review" />
<desc>
Commands for manipulating the pointer
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Mouse/Pointer-Related Commands</title>
<p>
<app>Cthulhu</app> provides several commands which can be used to manipulate
the mouse pointer and read the contents under it. All of the commands are
"bound" to keystrokes with one exception: Toggling Mouse Review Mode.
Please see <link xref="howto_key_bindings">Modifying Keybindings</link>
for information on how to bind this command to a keystroke.
</p>
<note style="tip">
<p>
Below you will see several references to "KP". All
"KP" keys are located on the numeric keypad. You will also notice that
there are different keystrokes depending upon whether you are using a
desktop or a laptop -- or more accurately, whether you are using
<app>Cthulhu</app>'s Desktop keyboard layout or its Laptop keyboard layout.
For additional information, please see the
<link xref="howto_keyboard_layout">Keyboard Layout</link> topic.
</p>
</note>
<list>
<item>
<p>Left-click on current item:</p>
<list>
<item><p>Desktop: <keyseq><key>KP Divide</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>7</key></keyseq></p></item>
</list>
</item>
<item>
<p>Right-click on current item:</p>
<list>
<item><p>Desktop: <keyseq><key>KP Multiply</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>8</key></keyseq></p></item>
</list>
</item>
<item>
<p>Route pointer to current item:</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP Divide</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>9</key></keyseq></p></item>
</list>
</item>
<item>
<p>Move focus into or away from the current mouse over (web only):</p>
<list>
<item><p>Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP Multiply</key></keyseq></p></item>
<item><p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>0</key></keyseq></p></item>
</list>
</item>
<item>
<p>Enable/disable mouse review mode: (Unbound)</p>
</item>
</list>
</page>

View File

@ -0,0 +1,35 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_profiles">
<info>
<link type="next" xref="commands_speech_settings" />
<link type="guide" xref="commands#getting_started" />
<link type="seealso" xref="howto_profiles" />
<title type="sort">5. Profiles</title>
<title type="link">Profiles</title>
<desc>
Commands to access saved configurations
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Profile Commands</title>
<p>
Profiles allow you to save and load multiple configurations so that you
can quickly access the settings you need.
</p>
<p>
The following command is not "bound" to a keystroke. If you would like to
bind it, please see <link xref="howto_key_bindings">Modifying Keybindings</link>.
</p>
<list>
<item>
<p>
Cycle to the next profile: (Unbound)
</p>
</item>
</list>
</page>

View File

@ -0,0 +1,294 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_reading">
<info>
<link type="next" xref="commands_structural_navigation" />
<link type="guide" xref="commands#reading_documents" />
<link type="seealso" xref="howto_documents" />
<link type="seealso" xref="howto_text_attributes" />
<link type="seealso" xref="howto_whereami" />
<title type="sort">1. Reading</title>
<title type="link">Reading</title>
<desc>
Commands for accessing document content
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Reading Commands</title>
<p>
In addition to the caret navigation commands which are part of GNOME,
<app>Cthulhu</app> provides a number of commands which you can use to read a
document.
</p>
<note style="tip">
<p>
Below you will see several references to "KP". All
"KP" keys are located on the numeric keypad. You will also notice that
there are different keystrokes depending upon whether you are using a
desktop or a laptop -- or more accurately, whether you are using
<app>Cthulhu</app>'s Desktop keyboard layout or its Laptop keyboard layout.
For additional information, please see the
<link xref="howto_keyboard_layout">Keyboard Layout</link> topic.
</p>
</note>
<section id="flat_review">
<title>Reading Your Current Location</title>
<p>
The following <app>Cthulhu</app> <link xref="commands_flat_review">Flat
Review Commands</link> can be used to read your current location:
</p>
<list>
<item>
<p>Read the current line:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>KP 8</key></keyseq>
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>I</key></keyseq>
</p>
</item>
</list>
</item>
<item>
<p>Read the current word:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>KP 5</key></keyseq>
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>K</key></keyseq>
</p>
</item>
</list>
</item>
<item>
<p>Spell the current word:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>KP 5</key></keyseq> (double-clicked)
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>K</key></keyseq>
(double-clicked)
</p>
</item>
</list>
</item>
<item>
<p>Phonetically spell the current word:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>KP 5</key></keyseq> (triple-clicked)
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>K</key></keyseq>
(triple-clicked)
</p>
</item>
</list>
</item>
<item>
<p>Read the current character:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>KP 2</key></keyseq>
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Comma</key></keyseq>
</p>
</item>
</list>
</item>
<item>
<p>Phonetically speak the current character:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>KP 2</key></keyseq> (double-clicked)
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Comma</key></keyseq>
(double-clicked)
</p>
</item>
</list>
</item>
<item>
<p>Speak the Unicode value of current character:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>KP 2</key></keyseq> (triple-clicked)
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Comma</key></keyseq>
(triple-clicked)
</p>
</item>
</list>
</item>
</list>
</section>
<section id="say_all">
<title>Say All</title>
<p>
Cthulhu's Say All command will cause <app>Cthulhu</app> to speak the
entire document beginning from your current location.
</p>
<list>
<item>
<p>Desktop: <key>KP Plus</key></p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Semicolon</key></keyseq>
</p>
</item>
</list>
</section>
<section id="attributes_and_selection">
<title>Text Attributes and Selected Text</title>
<p>
<app>Cthulhu</app> has a dedicated command for obtaining the attributes of the
text at the caret location. In addition, if you use <app>Cthulhu</app>'s
Where Am I commands from within a text object in which text has been
selected, <app>Cthulhu</app> will announce the selected text. <app>Cthulhu</app>'s
command to speak the current selection will also perform this function in a
text object.
</p>
<list>
<item>
<p>
Present the text attributes:
<keyseq><key>Cthulhu Modifier</key><key>F</key></keyseq>
</p>
</item>
<item>
<p>Perform basic Where Am I:</p>
<list>
<item>
<p>
Desktop: <key>KP Enter</key>
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Return</key></keyseq>
</p>
</item>
</list>
</item>
<item>
<p>Perform detailed Where Am I:</p>
<list>
<item>
<p>
Desktop: <key>KP Enter</key> (double-clicked)
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Return</key></keyseq>
(double-clicked)
</p>
</item>
</list>
</item>
<item>
<p>
Speak current selection:
<keyseq><key>Cthulhu Modifier</key><key>Shift</key><key>Up</key></keyseq>
</p>
</item>
</list>
</section>
<section id="link_details">
<title>Link Details</title>
<p>
If you are on a link, <app>Cthulhu</app>'s Basic Where Am I command can be
used to announce the details associated with the link such as the link type,
if the link is visited, the site description, and file size. If you would
instead prefer a dedicated command for this purpose, you can bind <app>Cthulhu</app>'s
Speak Link Details command to a keystroke. Please see <link xref="howto_key_bindings">
Modifying Keybindings</link> for information on how to do so.
</p>
<list>
<item>
<p>Speak the link details: (Unbound)</p>
</item>
</list>
</section>
<section id="browse_and_focus_modes">
<title>Browse and Focus Modes</title>
<p>
<app>Cthulhu</app>'s Browse and Focus modes let you switch between reading and
interacting with web content.
</p>
<list>
<item>
<p>
Switch between browse mode and focus mode:
<keyseq><key>Cthulhu Modifier</key><key>A</key></keyseq>
</p>
</item>
<item>
<p>
Enable sticky focus mode:
<keyseq><key>Cthulhu Modifier</key><key>A</key></keyseq> (double-clicked)
</p>
</item>
<item>
<p>
Enable sticky browse mode:
<keyseq><key>Cthulhu Modifier</key><key>A</key></keyseq> (triple-clicked)
</p>
</item>
</list>
</section>
<section id="toggling_layout_mode">
<title>Toggling Layout Mode</title>
<p>
When Layout mode is enabled, <app>Cthulhu</app>'s caret navigation will respect
the on-screen layout of the content and present the full line, including any
links or form fields on that line. When Layout mode is disabled, <app>Cthulhu</app>
will treat objects such as links and form fields as if they were on separate
lines, both for presentation and navigation.
</p>
<p>
<app>Cthulhu</app> provides a command to switch between Layout mode and Object mode.
This command is unbound by default. Please see <link xref="howto_key_bindings">Modifying
Keybindings</link> for information on how to bind unbound commands.
</p>
<list>
<item>
<p>
Switch between Layout mode and Object mode: (Unbound)
</p>
</item>
</list>
</section>
</page>

View File

@ -0,0 +1,83 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_speech_settings">
<info>
<link type="next" xref="commands_braille" />
<link type="guide" xref="commands#speech_braille" />
<link type="seealso" xref="preferences_speech" />
<title type="sort">2. Speech Settings</title>
<title type="link">Speech</title>
<desc>
Commands for customizing <app>Cthulhu</app>'s output
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Speech Settings Commands</title>
<p>
The following commands can be used to customize <app>Cthulhu</app>'s
speech output. You will notice that a number of these commands are
"unbound." Please see <link xref="howto_key_bindings">Modifying
Keybindings</link> for information on how to bind these commands
to keystrokes.
</p>
<list>
<item>
<p>
Enable/disable speech: <keyseq><key>Cthulhu Modifier</key><key>S</key></keyseq>
</p>
</item>
<item>
<p>
Toggle between cell and row reading in a table:
<keyseq><key>Cthulhu Modifier</key><key>F11</key></keyseq>
</p>
</item>
<item>
<p>
Toggle between verbose and brief verbosity levels:
<keyseq><key>Cthulhu Modifier</key><key>V</key></keyseq>
</p>
</item>
<item>
<p>
Enable/disable speaking of indentation and justification: (Unbound)
</p>
</item>
<item>
<p>Change the spoken number style: (Unbound)</p>
</item>
<item>
<p>Cycle to the next spoken punctuation level: (Unbound)</p>
</item>
<item>
<p>Cycle to the next key echo level: (Unbound)</p>
</item>
<item>
<p>Cycle to the next capitalization style: (Unbound)</p>
</item>
<item>
<p>Decrease the rate: (Unbound)</p>
</item>
<item>
<p>Increase the rate: (Unbound)</p>
</item>
<item>
<p>Decrease the pitch: (Unbound)</p>
</item>
<item>
<p>Increase the pitch: (Unbound)</p>
</item>
<item>
<p>Decrease the volume: (Unbound)</p>
</item>
<item>
<p>Increase the volume: (Unbound)</p>
</item>
</list>
</page>

View File

@ -0,0 +1,443 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_structural_navigation">
<info>
<link type="next" xref="commands_table" />
<link type="guide" xref="commands#reading_documents" />
<link type="seealso" xref="howto_forms" />
<title type="sort">2. Structural Navigation</title>
<title type="link">Structural Navigation</title>
<desc>
Commands for navigating by elements
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Structural Navigation Commands</title>
<p>
The following commands can be used to navigate by headings, links,
and other elements found in applications for which <app>Cthulhu</app>
provides structural navigation support.
</p>
<list>
<item>
<p>
Enable/disable Structural Navigation keys:
<keyseq><key>Cthulhu Modifier</key><key>Z</key></keyseq>
</p>
</item>
</list>
<section id="headings">
<title>Headings</title>
<list>
<item>
<p>
Next and previous heading:
<keyseq><key>H</key></keyseq> and
<keyseq><key>Shift</key><key>H</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of headings:
<keyseq><key>Alt</key><key>Shift</key><key>H</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous heading at level 1:
<keyseq><key>1</key></keyseq> and
<keyseq><key>Shift</key><key>1</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of headings at level 1:
<keyseq><key>Alt</key><key>Shift</key><key>1</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous heading at level 2:
<keyseq><key>2</key></keyseq> and
<keyseq><key>Shift</key><key>2</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of headings at level 2:
<keyseq><key>Alt</key><key>Shift</key><key>2</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous heading at level 3:
<keyseq><key>3</key></keyseq> and
<keyseq><key>Shift</key><key>3</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of headings at level 3:
<keyseq><key>Alt</key><key>Shift</key><key>3</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous heading at level 4:
<keyseq><key>4</key></keyseq> and
<keyseq><key>Shift</key><key>4</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of headings at level 4:
<keyseq><key>Alt</key><key>Shift</key><key>4</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous heading at level 5:
<keyseq><key>5</key></keyseq> and
<keyseq><key>Shift</key><key>5</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of headings at level 5:
<keyseq><key>Alt</key><key>Shift</key><key>5</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous heading at level 6:
<keyseq><key>6</key></keyseq> and
<keyseq><key>Shift</key><key>6</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of headings at level 6:
<keyseq><key>Alt</key><key>Shift</key><key>6</key></keyseq>
</p>
</item>
</list>
</section>
<section id="forms">
<title>Forms</title>
<list>
<item>
<p>
Next and previous form field:
<keyseq><key>F</key></keyseq> and
<keyseq><key>Shift</key><key>F</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of form fields:
<keyseq><key>Alt</key><key>Shift</key><key>F</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous button:
<keyseq><key>B</key></keyseq> and
<keyseq><key>Shift</key><key>B</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of buttons:
<keyseq><key>Alt</key><key>Shift</key><key>B</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous combo box:
<keyseq><key>C</key></keyseq> and
<keyseq><key>Shift</key><key>C</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of combo boxes:
<keyseq><key>Alt</key><key>Shift</key><key>C</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous entry:
<keyseq><key>E</key></keyseq> and
<keyseq><key>Shift</key><key>E</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of entries:
<keyseq><key>Alt</key><key>Shift</key><key>E</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous radio button:
<keyseq><key>R</key></keyseq> and
<keyseq><key>Shift</key><key>R</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of radio buttons:
<keyseq><key>Alt</key><key>Shift</key><key>R</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous checkbox:
<keyseq><key>X</key></keyseq> and
<keyseq><key>Shift</key><key>X</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of checkboxes:
<keyseq><key>Alt</key><key>Shift</key><key>X</key></keyseq>
</p>
</item>
</list>
</section>
<section id="links">
<title>Links</title>
<list>
<item>
<p>
Next and previous link:
<keyseq><key>K</key></keyseq> and
<keyseq><key>Shift</key><key>K</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of links:
<keyseq><key>Alt</key><key>Shift</key><key>K</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous unvisited link:
<keyseq><key>U</key></keyseq> and
<keyseq><key>Shift</key><key>U</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of unvisited links:
<keyseq><key>Alt</key><key>Shift</key><key>U</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous visited link:
<keyseq><key>V</key></keyseq> and
<keyseq><key>Shift</key><key>V</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of visited links:
<keyseq><key>Alt</key><key>Shift</key><key>V</key></keyseq>
</p>
</item>
</list>
</section>
<section id="lists">
<title>Lists</title>
<list>
<item>
<p>
Next and previous list:
<keyseq><key>L</key></keyseq> and
<keyseq><key>Shift</key><key>L</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of lists:
<keyseq><key>Alt</key><key>Shift</key><key>L</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous list item:
<keyseq><key>I</key></keyseq> and
<keyseq><key>Shift</key><key>I</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of list items:
<keyseq><key>Alt</key><key>Shift</key><key>I</key></keyseq>
</p>
</item>
</list>
</section>
<section id="tables">
<title>Tables</title>
<list>
<item>
<p>
Next and previous table:
<keyseq><key>T</key></keyseq> and
<keyseq><key>Shift</key><key>T</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of tables:
<keyseq><key>Alt</key><key>Shift</key><key>T</key></keyseq>
</p>
</item>
<item>
<p>
Cell on left:
<keyseq><key>Alt</key><key>Shift</key><key>Left</key></keyseq>
</p>
</item>
<item>
<p>
Cell on right:
<keyseq><key>Alt</key><key>Shift</key><key>Right</key></keyseq>
</p>
</item>
<item>
<p>
Cell above:
<keyseq><key>Alt</key><key>Shift</key><key>Up</key></keyseq>
</p>
</item>
<item>
<p>
Cell below:
<keyseq><key>Alt</key><key>Shift</key><key>Down</key></keyseq>
</p>
</item>
<item>
<p>
First cell in table:
<keyseq><key>Alt</key><key>Shift</key><key>Home</key></keyseq>
</p>
</item>
<item>
<p>
Last cell in table:
<keyseq><key>Alt</key><key>Shift</key><key>End</key></keyseq>
</p>
</item>
</list>
</section>
<section id="text_blocks">
<title>Text Blocks</title>
<list>
<item>
<p>
Next and previous paragraph:
<keyseq><key>P</key></keyseq> and
<keyseq><key>Shift</key><key>P</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of paragraphs:
<keyseq><key>Alt</key><key>Shift</key><key>P</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous blockquote:
<keyseq><key>Q</key></keyseq> and
<keyseq><key>Shift</key><key>Q</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of blockquotes:
<keyseq><key>Alt</key><key>Shift</key><key>Q</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous "large object":
<keyseq><key>O</key></keyseq> and
<keyseq><key>Shift</key><key>O</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of "large objects":
<keyseq><key>Alt</key><key>Shift</key><key>O</key></keyseq>
</p>
</item>
</list>
</section>
<section id="other">
<title>Other Elements</title>
<list>
<item>
<p>
Next and previous landmark:
<keyseq><key>M</key></keyseq> and
<keyseq><key>Shift</key><key>M</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of landmarks:
<keyseq><key>Alt</key><key>Shift</key><key>M</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous separator:
<keyseq><key>S</key></keyseq> and
<keyseq><key>Shift</key><key>S</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous "clickable":
<keyseq><key>A</key></keyseq> and
<keyseq><key>Shift</key><key>A</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of "clickables":
<keyseq><key>Alt</key><key>Shift</key><key>A</key></keyseq>
</p>
</item>
<item>
<p>
Next and previous image:
<keyseq><key>G</key></keyseq> and
<keyseq><key>Shift</key><key>G</key></keyseq>
</p>
</item>
<item>
<p>
Display a list of images:
<keyseq><key>Alt</key><key>Shift</key><key>G</key></keyseq>
</p>
</item>
<item>
<p>
Start and end of current container:
<keyseq><key>Shift</key><key>Comma</key></keyseq> and
<keyseq><key>Comma</key></keyseq>
</p>
</item>
</list>
</section>
</page>

View File

@ -0,0 +1,57 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_table">
<info>
<link type="next" xref="commands_flat_review" />
<link type="guide" xref="commands#reading_documents" />
<link type="seealso" xref="howto_tables" />
<title type="sort">3. Table Navigation</title>
<title type="link">Table Navigation</title>
<desc>
Commands for accessing tabular information
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Table Navigation Commands</title>
<p>
Cthulhu's support for navigation by table cell is part of its
<link xref="commands_structural_navigation#tables">Structural Navigation
commands</link>. In addition you can:
</p>
<list>
<item>
<p>
Set dynamic row headers to current column:
<keyseq><key>Cthulhu Modifier</key><key>C</key></keyseq>
</p>
</item>
<item>
<p>
Set dynamic column headers to current row:
<keyseq><key>Cthulhu Modifier</key><key>R</key></keyseq>
</p>
</item>
<item>
<p>
Clear dynamic row headers:
<keyseq><key>Cthulhu Modifier</key><key>C</key></keyseq> (double-clicked)
</p>
</item>
<item>
<p>
Clear dynamic column headers:
<keyseq><key>Cthulhu Modifier</key><key>R</key></keyseq> (double-clicked)
</p>
</item>
<item>
<p>
Toggle between cell and row reading in a table:
<keyseq><key>Cthulhu Modifier</key><key>F11</key></keyseq>
</p>
</item>
</list>
</page>

View File

@ -0,0 +1,63 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_time_date_notifications">
<info>
<link type="next" xref="commands_profiles" />
<link type="guide" xref="commands#getting_started" />
<link type="seealso" xref="howto_notifications" />
<title type="sort">4. Time, Date, and Notification</title>
<title type="link">Time, Date, and Notification</title>
<desc>
Commands for getting the time, date, and notification messages
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Time, Date, and Notification Commands</title>
<p>
The following commands can be used to obtain the current time and date
and to review previously-displayed notification messages:
</p>
<section id="time_and_date">
<title>Obtaining the Time and Date</title>
<list>
<item>
<p>
Present the time: <keyseq><key>Cthulhu Modifier</key><key>T</key></keyseq>
</p>
</item>
<item>
<p>
Present the date: <keyseq><key>Cthulhu Modifier</key><key>T</key></keyseq>
(double-clicked)
</p>
</item>
</list>
</section>
<section id="notifications">
<title>Reviewing Notification Messages</title>
<p>
Cthulhu has three unbound commands for accessing previously-displayed
<link xref="howto_notifications">notification messages</link>. Please
see <link xref="howto_key_bindings">Modifying Keybindings</link> for
information on how to bind these commands to keystrokes.
</p>
<list>
<item>
<p>Present the last (most recent) notification message: (Unbound)</p>
</item>
<item>
<p>Present the previous notification message: (Unbound)</p>
</item>
<item>
<p>Present the next notification message: (Unbound)</p>
</item>
<item>
<p>Present list of all notification messages: (Unbound)</p>
</item>
</list>
</section>
</page>

View File

@ -0,0 +1,97 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="commands_where_am_i">
<info>
<link type="next" xref="commands_time_date_notifications" />
<link type="guide" xref="commands#getting_started" />
<link type="seealso" xref="howto_whereami" />
<title type="sort">3. Where Am I</title>
<title type="link">Where Am I</title>
<desc>
Commands to learn about your location
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Where Am I Commands</title>
<p>
<app>Cthulhu</app>'s Where Am I feature gives you context-sensitive details
about your present location. For instance, in tables, Where Am I will give
you details about the table cell you are in, but in text it will present
the current line along with any text which happens to be selected. The full
list of what you can expect <app>Cthulhu</app> to present can be found in the
<link xref="howto_whereami">Introduction to Where Am I</link>.
</p>
<p><app>Cthulhu</app> provides the following Where Am I commands:</p>
<list>
<item>
<p>Perform basic Where Am I:</p>
<list>
<item>
<p>Desktop: <key>KP Enter</key></p>
</item>
<item>
<p>Laptop: <keyseq><key>Cthulhu Modifier</key><key>Return</key></keyseq></p>
</item>
</list>
</item>
<item>
<p>Perform detailed Where Am I:</p>
<list>
<item>
<p>Desktop: <key>KP Enter</key> (double-clicked)</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Return</key></keyseq>
(double-clicked)
</p>
</item>
</list>
</item>
</list>
<p>
In addition to the dedicated Where Am I commands, <app>Cthulhu</app> has
additional commands related to obtaining information about your present location:
</p>
<list>
<item>
<p>Present the title bar:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP Enter</key></keyseq>
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Slash</key></keyseq>
</p>
</item>
</list>
</item>
<item>
<p>Present the status bar:</p>
<list>
<item>
<p>
Desktop: <keyseq><key>Cthulhu Modifier</key><key>KP Enter</key></keyseq>
(double-clicked)
</p>
</item>
<item>
<p>
Laptop: <keyseq><key>Cthulhu Modifier</key><key>Slash</key></keyseq>
(double-clicked)
</p>
</item>
<item>
<p>Present size and location of current object in pixels: (Unbound)</p>
</item>
</list>
</item>
</list>
</page>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,54 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_bookmarks">
<info>
<link type="guide" xref="index#reviewing"/>
<title type="sort">6. Bookmarks</title>
<desc>Storing and retrieving objects</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Bookmarks</title>
<p>
<app>Cthulhu</app>'s Bookmarks support allows you to indicate that an object
is of interest. It includes the following features:
</p>
<list>
<item>
<p>
You are not limited to a single object: You can set up to six bookmarks
per environment. You can also save bookmarks so that they will persist
from Cthulhu session to Cthulhu session.
</p>
</item>
<item>
<p>
Having set a bookmark you can navigate to it later, and do so regardless
of whether or not you have chosen to permanently save the bookmarks
associated with your current environment. Navigation can be based on the
number of the bookmark should you wish to jump directly to a specific
item. Alternatively, you can navigate to the next or previous bookmark
just like you can a <link xref="howto_structural_navigation">Structural
Navigation</link> object.
</p>
</item>
<item>
<p>
Bookmarkable objects can be widgets within an application or objects on
the web page you are reading. Which environment you are in determines
what happens as you navigate amongst bookmarks: If you are in web
content, the caret will be moved to the bookmark so that you can
continue reading; otherwise, <link xref="howto_flat_review">Flat
Review</link> will be activated with the bookmark becoming the current
review item.
</p>
</item>
</list>
<p>
The specific keybindings associated with each of the above tasks can be
found in <link xref="commands_bookmarks">Bookmark Commands</link>.
</p>
</page>

View File

@ -0,0 +1,112 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_cthulhu_find">
<info>
<link type="guide" xref="index#reviewing"/>
<link type="next" xref="howto_mouse_review" />
<title type="sort">3. Cthulhu Find</title>
<desc>Searching a window for objects</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Cthulhu Find</title>
<p>
<app>Cthulhu</app>'s Find feature is a
<link xref="howto_flat_review">Flat-Review</link>-based search designed to
help you quickly locate objects that are visible on-screen within the
current window.
</p>
<note style="tip">
<title>Activating Cthulhu Find</title>
<p>
To open the Cthulhu <gui>Find</gui> dialog, use the following command based
on your chosen <link xref="howto_keyboard_layout">keyboard layout</link>:
</p>
<list>
<item>
<p>Desktop: <keyseq><key>KP Delete</key></keyseq></p>
</item>
<item>
<p>Laptop:
<keyseq><key>Cthulhu Modifier</key><key>Left Bracket</key></keyseq>
</p>
</item>
</list>
<p>
For a list of additional tasks you can perform, see the
<link xref="commands_find">Cthulhu Find commands</link>
</p>
</note>
<p>
When you activate Cthulhu Find, you will be placed in a dialog box.
</p>
<p>
Here you can specify the following items:
</p>
<list>
<item>
<p>The text to find</p>
</item>
<item>
<p>
The location from which to begin the search, which can either be
the current location or the top of the window
</p>
<p>
Default value of <gui>Start from</gui>: <gui>Current location</gui>
</p>
</item>
<item>
<p>
Whether or not capitalization should be taken into account when seeking
a match
</p>
<p>
Default value of <gui>Match case</gui>: not checked
</p>
</item>
<item>
<p>
Whether or not to limit matches to those which match the entire word
or phrase
</p>
<p>
Default value of <gui>Match entire word only</gui>: not checked
</p>
</item>
<item>
<p>
Whether Find should look down and/or to the right for the next
match or up and/or to the left.
</p>
<p>
Default value of <gui>Search backwards</gui>: not checked
</p>
</item>
<item>
<p>
Whether or not Find should wrap around to the top/bottom of the window
if there is no match found from the starting location in the direction
of the search.
</p>
<p>
Default value of <gui>Wrap around</gui>: checked
</p>
</item>
</list>
<p>
Having performed a search, you can quickly search for the next or previous
match without having to return to the Cthulhu Find dialog box.
</p>
<p>
Because it is a <link xref="howto_flat_review">Flat Review</link> feature,
when there is a match, Flat Review will automatically be activated and the
matching item or text will become the current review item. Note that focus
within the application will not be modified, nor will the caret be
repositioned. If you need to accomplish either, please see
<link xref="commands_mouse">Cthulhu's Mouse/Pointer-Related Commands</link>.
</p>
</page>

View File

@ -0,0 +1,67 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_documents">
<info>
<link type="guide" xref="index#reading"/>
<link type="next" xref="howto_text_attributes" />
<title type="sort">1. Documents</title>
<desc>
Reading content
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Documents</title>
<p>
To read the contents of any document, use the application's built-in caret
navigation mode. As you navigate within the text of the document, <app>Cthulhu</app>
will present your new location. As a result, you are likely already familiar with
how to read a document using <app>Cthulhu</app>. For instance:
</p>
<list>
<item>
<p>
Use <key>Left</key> and <key>Right</key> to move and read by character.
</p>
</item>
<item>
<p>
Use <keyseq><key>Ctrl</key><key>Left</key></keyseq> and
<keyseq><key>Ctrl</key><key>Right</key></keyseq> to move and read by word.
</p>
</item>
<item>
<p>
Use <key>Up</key> and <key>Down</key> to move and read by line.
</p>
</item>
<item>
<p>
Use <key>Shift</key> in combination with the above commands to select and
unselect text.
</p>
</item>
</list>
<note style="tip">
<title>Enabling Caret Navigation in an Application</title>
<p>
Not all applications have caret navigation enabled by default. For many GNOME
applications, caret navigation can be toggled on and off by pressing <key>F7</key>.
</p>
</note>
<p>
In addition to reading a document by caret navigation, you may find it helpful
to read, spell, and obtain the Unicode value for the current text. You can do
these things through <app>Cthulhu</app>'s <link xref="howto_flat_review">Flat
Review feature</link>.
</p>
<p>
Finally, in order to have <app>Cthulhu</app> speak the entire document from your
present location, use the Say All command. It, along with a more complete
listing of <app>Cthulhu</app>'s commands for accessing document text, can
be found in the <link xref="commands_reading">Reading Commands</link> guide.
</p>
</page>

View File

@ -0,0 +1,46 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_flat_review">
<info>
<link type="guide" xref="index#reviewing"/>
<link type="next" xref="howto_cthulhu_find" />
<title type="sort">2. Flat Review</title>
<desc>Examining a window spatially</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Flat Review</title>
<p>
<app>Cthulhu</app>'s Flat Review feature allows you to spatially review the
contents, both text and widgets, of the active window. In this mode,
<app>Cthulhu</app> treats the window as if it were a two-dimensional sheet of
text, eliminating any notion of widget hierarchy or other logical grouping
within the window.
</p>
<p>
The "flattened" contents, also known as the Flat Review context, can be
<link xref="commands_flat_review">navigated</link> by line, by word, by
character, and by object. In addition, you can perform a left-click or
right-click on the object being reviewed. Finally, you can use
<link xref="howto_cthulhu_find">Cthulhu Find</link>, a Flat-Review-based feature
to search the active window's contents.
</p>
<p>
Because the Flat Review context is a spatial representation of the active
window's contents, it is created when you first enter Flat Review and only
contains those objects which are visible. As a result, you will not be able
to use Flat Review to access items which are in the window but currently
off-screen. In addition, if the window's contents change of their own
accord, the Flat Review context will not automatically be updated. You can
cause a new context to be built by toggling Flat Review off and back on.
</p>
<p>
Finally, Flat Review by its nature is a mode that cannot be used at the same
time that <app>Cthulhu</app> is tracking focus. Thus if you are in Flat Review
and then use the application's navigation commands to move the caret or to
give focus to another object, you will automatically leave Flat Review.
</p>
</page>

95
help/C/howto_forms.page Normal file
View File

@ -0,0 +1,95 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_forms">
<info>
<link type="guide" xref="index#reading"/>
<link type="next" xref="howto_live_regions" />
<title type="sort">5. Filling out forms</title>
<desc>
Accessing widgets embedded in documents
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Filling out forms</title>
<p>
When interacting with web pages and other documents using <app>Cthulhu</app>,
you are interacting with the document itself; not a buffered copy of that
document. <app>Cthulhu</app>'s browse and focus modes let you switch between
reading and filling out forms.
</p>
<section id="navigating_amongst_form_fields">
<title>Navigating Amongst Form Fields</title>
<p>
To navigate amongst form fields, you have several options:
</p>
<list>
<item>
<p>
Use <key>Tab</key> and <keyseq><key>Shift</key><key>Tab</key></keyseq>
to navigate amongst focusable objects, regardless of type.
</p>
</item>
<item>
<p>
Use <app>Cthulhu</app>'s <link xref="commands_structural_navigation#forms">
structural navigation commands for forms</link>.
</p>
</item>
<item>
<p>
Depending on the form and the application, you may also be
able to use the arrow keys to navigate to a given form field.
</p>
</item>
</list>
<note style="tip">
<p>
In order to use <app>Cthulhu</app>'s caret navigation or structural navigation
commands to navigate to a form field, you must be in browse mode. If you are
in focus mode, you can switch to browse mode by pressing <keyseq><key>Cthulhu
Modifier</key><key>A</key></keyseq>.
</p>
</note>
</section>
<section id="exiting_form_fields">
<title>Exiting Form Fields</title>
<p>
To exit a form field, you have several options:
</p>
<list>
<item>
<p>
Use <key>Tab</key>/<keyseq><key>Shift</key><key>Tab</key></keyseq>
if you wish to leave the currently-focused form field and move to the
next/previous focusable object, regardless of type.
</p>
</item>
<item>
<p>
Use <app>Cthulhu</app>'s <link xref="commands_structural_navigation#forms">
structural navigation commands for forms</link> to move to the next or
previous form field.
</p>
</item>
<item>
<p>
Depending on the form and the application, you may also be
able to use the arrow keys to navigate out of a given form field.
</p>
</item>
</list>
<note style="tip">
<p>
In order to use <app>Cthulhu</app>'s caret navigation or structural navigation
commands to exit a form field, you must be in browse mode. If you are in
focus mode, you can switch to browse mode by pressing <keyseq><key>Cthulhu
Modifier</key><key>A</key></keyseq>.
</p>
</note>
</section>
</page>

View File

@ -0,0 +1,141 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_key_bindings">
<info>
<link type="guide" xref="index#getting_started"/>
<link type="next" xref="howto_profiles" />
<title type="sort">8. Keybindings</title>
<desc>Binding, rebinding, and unbinding commands</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Keybindings</title>
<p>
Cthulhu has many commands, some of which are bound to a keystroke, others
of which are unbound. You can bind, rebind, and unbind <app>Cthulhu</app>'s
commands by following the steps below.</p>
<steps>
<title>Binding an Unbound Command</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog
by pressing <keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>.
</p>
</item>
<item>
<p>Move to the <gui>Key Bindings</gui> page.</p>
</item>
<item>
<p>
Arrow to the cell which contains the command you want to assign a
keystroke to.
</p>
</item>
<item>
<p>
Arrow once to the right. This will place focus in the <gui>Key
Binding</gui> column. Press <key>Return</key>.
</p>
</item>
<item>
<p>Press the desired key combination.</p></item>
<item>
<p>
Press <key>Return</key> to confirm the new combination. The new
keystroke will be saved and the check box in the last column (the
<gui>Modified</gui> column) will indicate that the key binding
has been modified.
</p>
</item>
<item>
<p>Press the <gui>Apply</gui> button.</p>
</item>
</steps>
<steps>
<title>Changing Existing Bindings</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog by
pressing <keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>.
</p>
</item>
<item>
<p>Move to the <gui>Key Bindings</gui> page.</p>
</item>
<item>
<p>
Arrow to the cell which contains the binding you which to change and
press <key>Return</key>.
</p>
</item>
<item>
<p>Press the desired key combination.</p>
</item>
<item>
<p>
Press <key>Return</key> to confirm the new combination. The new
keystroke will be saved and the check box in the last column (the
<gui>Modified</gui> column) will indicate that the key binding has
been modified.
</p>
</item>
<item>
<p>Press the <gui>Apply</gui> button.</p>
</item>
</steps>
<steps>
<title>Restoring Original Bindings</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog by
pressing <keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>.
</p>
</item>
<item>
<p>Move to the <gui>Key Bindings</gui> page.</p>
</item>
<item>
<p>Arrow to the modified column associated with the key binding.</p>
</item>
<item>
<p>Uncheck the checkbox by pressing <key>Space</key>.</p>
</item>
<item>
<p>Press the <gui>Apply</gui> button.</p>
</item>
</steps>
<steps>
<title>Unbinding Bound Commands</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog by
pressing <keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>.
</p>
</item>
<item>
<p>Move to the <gui>Key Bindings</gui> page.</p>
</item>
<item>
<p>
Arrow to the cell which contains the binding you which to delete
and press <key>Return</key>.
</p>
</item>
<item>
<p>
When prompted for the new keybinding, press <key>Delete</key> or
<key>BackSpace</key>. You will be told that the key binding has
been removed.
</p>
</item>
<item>
<p>Press <key>Return</key> to confirm.</p>
</item>
<item>
<p>Press the <gui>Apply</gui> button.</p>
</item>
</steps>
</page>

View File

@ -0,0 +1,62 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_keyboard_layout">
<info>
<link type="guide" xref="index#getting_started"/>
<link type="next" xref="howto_toggling_caps_lock" />
<title type="sort">6. Keyboard Layout</title>
<desc>Selecting the Desktop or Laptop layout</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Keyboard Layout</title>
<p>
Cthulhu has two keyboard layouts: Desktop (i.e. with a numeric keypad) and
Laptop. The layout you choose impacts which key is used as the Cthulhu Modifier.
</p>
<list>
<item>
<p>
If you are using the Laptop layout, the default Cthulhu Modifier will be
<key>CapsLock</key>
</p>
</item>
<item>
<p>
If you are using the Desktop layout, the Cthulhu Modifier will be both
<key>Insert</key> and <key>KP_Insert</key>, the latter being the
same key as <key>KP_0</key>.
</p>
</item>
</list>
<p>
The layout also determines the keystrokes associated with a number of
<app>Cthulhu</app>'s commands, especially in the areas of Flat Review,
Where Am I, and Say All.
</p>
<steps>
<title>
Changing Your Keyboard Layout
</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog
by pressing <keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>.
</p>
</item>
<item>
<p>
Move to the <gui>Keyboard Layout</gui> group of radio buttons.
</p>
</item>
<item>
<p>Arrow to the desired layout.</p>
</item>
<item>
<p>Press the <gui>Apply</gui> button.</p>
</item>
</steps>
</page>

View File

@ -0,0 +1,69 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_learn_modes">
<info>
<link type="guide" xref="index#getting_started" />
<link type="next" xref="howto_keyboard_layout" />
<title type="sort">5. Learn Mode</title>
<desc>
Discovering <app>Cthulhu</app>'s commands
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Learn Mode</title>
<p>
In Learn Mode, <app>Cthulhu</app> will announce each keystroke you pressed
along with any associated <app>Cthulhu</app> command that keystroke is bound
to. In this mode, you can also get a list of shortcuts containing all the
<app>Cthulhu</app> commands you can use.
</p>
<steps>
<title>Using Learn Mode</title>
<item>
<p>
Get into Learn Mode by pressing <keyseq><key>Cthulhu Modifier</key>
<key>H</key></keyseq>.
</p>
</item>
<item>
<p>
Press any key or keystroke. <app>Cthulhu</app> will announce the keys and
any associated command.
</p>
</item>
<item>
<p>Press <key>Esc</key> to exit Learn Mode.</p>
</item>
</steps>
<steps>
<title>Getting a List of Shortcuts</title>
<item>
<p>
Get into Learn Mode by pressing <keyseq><key>Cthulhu Modifier</key>
<key>H</key></keyseq>.
</p>
</item>
<item>
<p>
Press <key>F2</key> if you want a list of shortcuts that apply
<app>Cthulhu</app>-wide, or press <key>F3</key> if you want a list
of shortcuts that are specifically for the application with focus.
</p>
</item>
<item>
<p>
Press <key>Up</key> or <key>Down</key> to examine the contents of the
list.
</p>
</item>
<item>
<p>
Press <key>Esc</key> to exit the list.
</p>
</item>
</steps>
</page>

View File

@ -0,0 +1,60 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_live_regions">
<info>
<link type="guide" xref="index#reading"/>
<link type="next" xref="howto_whereami" />
<title type="sort">6. Live Regions</title>
<desc>
Interacting with dynamic web content
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Live Regions</title>
<p>
A live region is a dynamically-updated portion of a web page, such as a
table of sports statistics, a list of current stock prices, a log from
a chat, or an alert displayed by the page you are reading. While live
regions appear quite frequently, fully accessible web pages with live
regions are encountered less often. This problem is actively being
addressed by a number of organizations.
</p>
<section id="politeness_levels">
<title>Live Region Politeness Levels</title>
<p>
Live regions have an associated "politeness" level which is set by the
author as a means to convey the importance of the information and to
suggest when users should be informed by their assistive technology of
updates made within that region. Live regions can be "off", "polite", or
"assertive" to the point of being "rude."
</p>
</section>
<section id="cthulhu_support">
<title><app>Cthulhu</app>'s Support for Live Regions</title>
<p>
Because you might not agree with the politeness level specified by the
author whose page you are viewing, <app>Cthulhu</app> provides a number of
<link xref="commands_live_regions">live region commands</link> which
allow you to modify the level of any or all of the regions on a page.
In addition, you can:
</p>
<list>
<item>
<p>Turn live region support on or off</p>
</item>
<item>
<p>Jump to the next and previous live region spatially</p>
</item>
<item>
<p>Jump to the last live region which presented information</p>
</item>
<item>
<p>Review the last nine live region messages which were presented</p>
</item>
</list>
</section>
</page>

View File

@ -0,0 +1,50 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_mouse_review">
<info>
<link type="guide" xref="index#reviewing"/>
<link type="next" xref="howto_notifications" />
<title type="sort">4. Mouse Review</title>
<desc>Using the pointer to examine the screen</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Mouse Review</title>
<p>
<app>Cthulhu</app>'s Mouse Review feature causes <app>Cthulhu</app> to present
the object under the mouse pointer. Unlike <app>Cthulhu</app>'s
<link xref="howto_flat_review">Flat Review</link> feature, Mouse Review
is not limited to the active window; instead, <app>Cthulhu</app> will attempt
to identify what accessible object, if any, is visually under the pointer
as you move the mouse. If you have moved the pointer over an accessible
object with information to present, <app>Cthulhu</app> will present that object
and its information to you.
</p>
<p>
Because enabling Mouse Review causes <app>Cthulhu</app> to listen for, and then
process, all changes in the position of the Mouse Pointer, this feature is
disabled by default. To have it always enabled, check the <gui>Speak object
under mouse</gui> checkbox found on the
<link xref="preferences_general">General page of <app>Cthulhu</app>'s
Preferences dialog</link>. In addition, you will find an unbound command
named <gui>Toggle mouse review mode</gui> on the
<link xref="preferences_key_bindings">Key Bindings page</link> of that same
dialog box. By binding this command, as described in the
<link xref="howto_key_bindings">Introduction to Key Bindings</link>,
you can enable and disable Mouse Review on an as-needed basis.
</p>
<note style="tip">
<title>
Default Settings and Keybindings Are Independent of One Another
</title>
<p>
Note that you can choose to have Mouse Review always enabled or not and
still toggle it on and off by binding and using the <gui>Toggle mouse
review mode</gui> command. It is not necessary to enable it in order to
toggle it because settings and keybindings are independent of one another.
</p>
</note>
</page>

View File

@ -0,0 +1,69 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_notifications">
<info>
<link type="guide" xref="index#reviewing"/>
<link type="next" xref="howto_bookmarks" />
<title type="sort">5. Notifications</title>
<desc>Reading previously-received messages</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Notifications</title>
<p>
The GNOME Desktop includes a "notification area" which can be used by
applications to present information to the user. Examples of notifications
include incoming chat messages, the details associated with the song your
media player is starting to play, and warnings that your battery level is
getting low.
</p>
<p>
Because notifications are intended to present information to users without
interrupting what the user is doing, these messages tend to appear and
disappear relatively quickly. They are also not focusable. While
<app>Cthulhu</app> will present these messages to you as they come in, it is
far too easy to interrupt <app>Cthulhu</app>'s announcement accidentally by
continuing to type or to change focus. For this reason, <app>Cthulhu</app> has
three commands which you can use to access previously-displayed notification
messages:
</p>
<list>
<item>
<p>Present the last (most recent) notification message</p>
</item>
<item>
<p>Present the previous notification message</p>
</item>
<item>
<p>Present list of all notification messages</p>
</item>
</list>
<p>
The first two commands are designed mainly for quick access to a message
you just received. The last command is the most powerful as it stores your
notification message history.
</p>
<p>
When you enter the list of notification messages, you will be told the size
of the list and prompted with the following choices:
</p>
<list>
<item><p>Press H for help.</p></item>
<item><p>Use Up, Down, Home or End to navigate in the list.</p></item>
<item><p>Press Escape to exit.</p></item>
<item><p>Press Space to repeat the last message read.</p></item>
<item><p>Press one digit to read a specific message.</p></item>
</list>
<p>
Note that the most recently-received message is at the top of the list.
</p>
<p>
Each of <app>Cthulhu</app>'s notification review commands is unbound by
default. You can bind any or all of them to the shortcut or shortcuts
you choose. How to do so is described in the
<link xref="howto_key_bindings">Introduction to Key Bindings</link>.
</p>
</page>

116
help/C/howto_profiles.page Normal file
View File

@ -0,0 +1,116 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_profiles">
<info>
<link type="guide" xref="index#getting_started"/>
<link type="next" xref="howto_documents" />
<title type="sort">9. Profiles</title>
<desc>Maintaining multiple configurations</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Profiles</title>
<p>
Cthulhu's profiles allow you to save and load multiple configurations so
that you can quickly access the settings you need.
</p>
<steps>
<title>Saving a New Profile</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog box.
</p>
</item>
<item>
<p>Change whatever settings you wish.</p>
</item>
<item>
<p>
On the <gui>General</gui> page, press the <gui>Save As</gui> button.
</p>
</item>
<item>
<p>
Type the new profile name in the resulting <gui>Save Profile As</gui>
dialog box.
</p>
</item>
<item>
<p>
Press the <gui>OK</gui> button in the <gui>Save Profile As</gui>
dialog box.
</p>
</item>
</steps>
<steps>
<title>Loading an Existing Profile</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog box.
</p>
</item>
<item>
<p>
On the <gui>General</gui> page, select the profile to load from the
<gui>Active Profile</gui> combo box.
</p>
</item>
<item>
<p>Press the <gui>Load</gui> button.</p>
</item>
<item>
<p>
You will be asked to confirm. Press the <gui>Yes</gui> button.
</p>
</item>
<item>
<p>Press the <gui>OK</gui> button.</p>
</item>
</steps>
<steps>
<title>Changing an Existing Profile</title>
<item>
<p>
Follow the steps described above to load the profile you wish to change.
</p>
</item>
<item>
<p>Follow the steps described above to save a new profile.</p>
</item>
<item>
<p>
When prompted for the new profile name, type the same name as current
profile. When you press the <gui>OK</gui> button, you will be told there
is a name conflict.
</p>
</item>
<item>
<p>
Press the <gui>Yes</gui> button to confirm you wish to overwrite the
existing profile with the new settings.
</p>
</item>
</steps>
<steps>
<title>Changing the <gui>Start-up Profile</gui></title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog box.
</p>
</item>
<item>
<p>
On the <gui>General</gui> page, select the profile to load from the
<gui>Start-up Profile</gui> combo box.
</p>
</item>
<item>
<p>Press the <gui>OK</gui> button. The next time you launch <app>Cthulhu</app>,
the newly-selected profile will be used.
</p>
</item>
</steps>
</page>

View File

@ -0,0 +1,30 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_setting_up_cthulhu">
<info>
<link type="seealso" xref="preferences" />
<link type="guide" xref="index#getting_started" />
<link type="next" xref="howto_the_cthulhu_modifier" />
<title type="sort">4. Cthulhu Configuration</title>
<title type="link">Configuration</title>
<desc>
Setting up <app>Cthulhu</app>
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Cthulhu Configuration</title>
<p>
If you want to configure <app>Cthulhu</app>, get into the
<link xref="preferences">Preferences</link> dialog by pressing
<keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq> from
within any accessible application. Alternatively, you can type
<cmd>cthulhu</cmd> followed by either <cmd>-s</cmd> or <cmd>--setup</cmd>
in a terminal window or within the <gui>Run</gui> dialog and then press
<key>Return</key>.
</p>
</page>

View File

@ -0,0 +1,123 @@
<page xmlns="http://projectmallard.org/1.0/"
type="topic"
id="howto_structural_navigation">
<info>
<link type="guide" xref="index#reading"/>
<link type="next" xref="howto_tables" />
<title type="sort">3. Structural Navigation</title>
<desc>
Moving by heading and other elements
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Structural Navigation</title>
<p>
<app>Cthulhu</app>'s Structural Navigation feature allows you to navigate
amongst elements in a document. The types of elements by which you can
navigate include:
</p>
<list>
<item><p>Headings and other text blocks</p></item>
<item><p>Form controls</p></item>
<item><p>Links</p></item>
<item><p>Lists and list items</p></item>
<item><p>Landmarks, separators, and anchors</p></item>
<item><p>Tables and table cells</p></item>
</list>
<p>
A full list of individual elements and their associated keybindings can
be found in <link xref="commands_structural_navigation">Structural
Navigation Commands</link>.
</p>
<section id="applications">
<title>Supported Applications</title>
<p>
Currently, Structural Navigation is fully implemented for web content,
including the help content you are reading now. <app>Cthulhu</app>'s
Structural Navigation support for table cells has also been implemented
for <app>OpenOffice Writer</app> and <app>LibreOffice Writer</app>.
Implementing the remainder of the Structural Navigation objects to
these office suites requires changes to be made by their respective
developers. Implementing any Structural Navigation features within
<app>Evince</app> will require a similar effort on the part of its
developers.
</p>
<note style="tip">
<title>Don't Forget To Toggle Structural Navigation On!</title>
<p>
Depending on where you are, it may be necessary for you to explicitly
toggle Structural Navigation on before you can use it.
</p>
</note>
<section id="toggling_required">
<title>When Toggling Structural Navigation On Is Required</title>
<p>
In web pages, explicitly toggling Structural Navigation on is
generally unnecessary because your interaction with the document
largely consists of reading its content. Thus there is no question
as to whether the 'H' you just pressed was meant to be a writing
command or a navigation command.
</p>
<p>
On the other hand, in editable documents such as those found in
<app>OpenOffice</app> and <app>LibreOffice</app>, it is far more
difficult for <app>Cthulhu</app> to accurately predict what you expect
to have happen as a result of pressing 'H'. Therefore, before you
can use any Structural Navigation command in an editable document,
you must first toggle Structural Navigation on by pressing
<keyseq><key>Cthulhu Modifier</key><key>Z</key></keyseq>.
When you are finished navigating and ready to resume writing, press
<keyseq><key>Cthulhu Modifier</key><key>Z</key></keyseq> again to toggle
Structural Navigation off.
</p>
</section>
</section>
<section id="settings">
<title>Available Settings</title>
<p>
In addition to the aforementioned commands, <app>Cthulhu</app> has a number
of configurable options available specifically for applications in which
there is structural navigation support.
</p>
<steps>
<title>Configuring Structural Navigation</title>
<item>
<p>
Give focus to an application for which <app>Cthulhu</app> has
Structural Navigation support.
</p>
</item>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link>
dialog box for the current application by pressing
<keyseq>
<key>Ctrl</key><key>Cthulhu Modifier</key><key>Space</key>
</keyseq>.
</p>
</item>
<item>
<p>
Navigate to the last page of the dialog box which should be
named according to the name of your current application.
</p>
</item>
<item>
<p>
Examine and change the settings as you see fit.
</p>
</item>
<item>
<p>
Press the <gui>OK</gui> button.
</p>
</item>
</steps>
</section>
</page>

148
help/C/howto_tables.page Normal file
View File

@ -0,0 +1,148 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_tables">
<info>
<link type="guide" xref="index#reading"/>
<link type="next" xref="howto_forms" />
<title type="sort">4. Tables</title>
<desc>
Navigating and setting dynamic headers
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Tables</title>
<p>
<app>Cthulhu</app> provides several features specifically designed to improve
access to tables found in web pages and other documents: configurable cell
versus row reading, <link xref="howto_structural_navigation">Structural
Navigation</link> and Dynamic Headers.
</p>
<section id="cell_row">
<title>Cell Versus Row Reading</title>
<p>
Consider the process of examining the list of messages in your Inbox.
In order to have Cthulhu announce the sender, subject, date, and presence
of attachments you would need <app>Cthulhu</app> to speak the row. On the
other hand, when navigating amongst rows in a spreadsheet, hearing the
full row may not be desired if for no other reason than the sheer number
of cells in each row. Thus in that case, you would want <app>Cthulhu</app>
to only speak the cell with focus. Similar situations occur in document
tables.
</p>
<p>
<app>Cthulhu</app> allows you to customize whether only the cell should be
read, or if the full row should be, for GUI tables, document tables,
and spreadsheets. Because these settings are independent of one another,
you do not have to choose one table reading mode to fit multiple types of
tables.
</p>
<p>
You can set each of <app>Cthulhu</app>'s table reading preferences <app>Cthulhu</app>
wide as well as on an application-by-application basis. How to do each is
described in the guide on <link xref="preferences"><app>Cthulhu</app>'s preferences
dialogs</link>. The settings can be found on the <link xref="preferences_speech">
<gui>Speech</gui> page</link>.
</p>
<p>
Lastly, there is also an <app>Cthulhu</app> command which allows you to toggle
cell versus row reading on the fly for the currently-active table:
<keyseq><key>Cthulhu Modifier</key><key>F11</key></keyseq>.
</p>
</section>
<section id="structural_navigation">
<title>Structural Navigation</title>
<p>
<app>Cthulhu</app>'s <link xref="commands_structural_navigation#tables">table
Structural Navigation commands</link> make it possible for you to quickly
locate tables, jump immediately to a table's first or last cell, and
move to the next cell in any direction.
</p>
<p>
As you navigate amongst and within tables using Structural Navigation,
<app>Cthulhu</app> will announce additional details to help you understand
your position, such as the dimensions of the table you just entered and
the fact that you have reached the edge of the table in the direction you
are moving.
</p>
<p>
In addition, <app>Cthulhu</app> provides configurable
<link xref="preferences_table_navigation">presentation options</link>
which work in conjunction with Structural Navigation and allow you to
control whether or not cell coordinates are presented, multiple cell spans
are indicated, and cell headers are announced.
</p>
<note style="tip">
<title>Don't Forget To Toggle Structural Navigation On!</title>
<p>
Depending on where you are, it may be necessary for you to explicitly
toggle Structural Navigation on before you can use it. To learn more, read
<link xref="howto_structural_navigation#toggling_required">
when toggling Structural Navigation on is required.</link>
</p>
</note>
</section>
<section id="dynamic_headers">
<title>Dynamic Headers</title>
<p>
Many of the tables you will encounter while reading have cells which serve
as the header for a row or a column. Whether or not the creator of that
table correctly marked those cells as headers is hard to say. In many
cases, the text was simply formatted to be larger and/or bold. And even if
the table is correctly marked up, that is no guarantee that the application
or toolkit exposes that text as header information to assistive technologies.
<app>Cthulhu</app>'s Dynamic Header support makes it possible to overcome these
challenges.
</p>
<steps>
<title>Setting Column Headers</title>
<item>
<p>
Move to the row which contains all of the column headers.
</p>
</item>
<item>
<p>
Press <keyseq><key>Cthulhu Modifier</key><key>R</key></keyseq> to tell
<app>Cthulhu</app> that the current row is the one with the headers.
</p>
</item>
</steps>
<steps>
<title>Setting Row Headers</title>
<item>
<p>
Move to the column which contains all of the row headers.
</p>
</item>
<item>
<p>
Press <keyseq><key>Cthulhu Modifier</key><key>C</key></keyseq> to tell
<app>Cthulhu</app> that the current column is the one with the headers.
</p>
</item>
</steps>
<p>
Having set either the column headers or the row headers, you should find
that as you navigate amongst the cells, <app>Cthulhu</app> will present each
header that has changed. Or to put it another way, <app>Cthulhu</app> will
not present the column header over and over again as you move up or down
within the current column. Likewise, it will not present the row header
over and over again as you move left or right within the current row.
However, if you change rows and there are row headers, the header
associated with the new row will be presented. And if you change columns
and there are column headers, the header associated with the new column
will be presented.
</p>
<p>
To clear headers, simply double-click the command you used to set them.
Thus double-clicking <keyseq><key>Cthulhu Modifier</key><key>R</key></keyseq>
tells <app>Cthulhu</app> there are no column headers. Double-clicking
<keyseq><key>Cthulhu Modifier</key><key>C</key></keyseq> tells <app>Cthulhu</app>
there are no row headers.
</p>
</section>
</page>

View File

@ -0,0 +1,71 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_text_attributes">
<info>
<link type="guide" xref="index#reading"/>
<link type="next" xref="howto_structural_navigation" />
<title type="sort">2. Text Attributes</title>
<desc>
Examining text formatting
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Text Attributes</title>
<p>
The term "text attributes" refers to all of the font, style, alignment,
and other formatting associated with a given character or series of
characters.
</p>
<section id="obtaining">
<title>Obtaining Formatting Information</title>
<p>
When you press <keyseq><key>Cthulhu Modifier</key><key>F</key>
</keyseq>, <app>Cthulhu</app> will speak known text attribute
information about an object. In addition, <app>Cthulhu</app>
will optionally indicate text attributes in braille by
"underlining" them as you navigate a document.
</p>
<p>
Because the number of text attributes is large, and not everyone cares
about every attribute, the <link xref="preferences_text_attributes">
Text Attributes page of the preferences dialog</link> allows you to
customize which text attributes <app>Cthulhu</app> will present in speech,
along with the order in which they should be presented, and which ones
<app>Cthulhu</app> will indicate in braille.
</p>
<p>
Because the <link xref="preferences_text_attributes">Text Attributes
page</link> is also part of the application-specific settings, you can
customize text attribute presentation on an as-needed basis for each
application you use.
</p>
</section>
<section id="identifying_misspelled_words">
<title>Identifying Misspelled Words</title>
<p>
Most applications and toolkits indicate that a word is misspelled by
underlining that word with a red, squiggly line. The presence of this line
is typically exposed to assistive technologies as a text attribute. As a
result, you will find spelling errors amongst the text attributes you can
choose. By default, the spelling error attribute is enabled for both
speech and braille and will therefore be presented along with any other
attributes whose indication you have enabled.
</p>
<p>
In addition to accessing the presence of spelling errors as a text
attribute, if you have key echo and/or word echo enabled and type a
word which is misspelled, when the spelling error indication appears,
<app>Cthulhu</app> will announce "misspelled" so that you can immediately go
back and correct the error.
</p>
<p>
Finally, when you are navigating within a document and the caret moves
into a word which is misspelled, <app>Cthulhu</app> will announce the
presence of the spelling error.
</p>
</section>
</page>

View File

@ -0,0 +1,75 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_the_cthulhu_modifier">
<info>
<link type="guide" xref="index#getting_started"/>
<link type="next" xref="howto_learn_modes" />
<title type="sort">3. The Cthulhu Modifier</title>
<desc>
A key that works like <key>Shift</key>, <key>Ctrl</key>,
and <key>Alt</key>
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>The Cthulhu Modifier</title>
<p>
Cthulhu has a special modifier key that works like <key>Shift</key>,
<key>Ctrl</key>, and <key>Alt</key>. It is designed specifically
for performing <app>Cthulhu</app> commands and doing so without
introducing conflicts with the commands of the applications you
are accessing.
</p>
<p>
Which key the "Cthulhu Modifier" is bound to will, by default, depend
on whether you are using <app>Cthulhu</app>'s Laptop keyboard layout
or its Desktop keyboard layout:
</p>
<list>
<item>
<p>
If you are using the Laptop layout, the default Cthulhu Modifier
will be <key>CapsLock</key>
</p>
</item>
<item>
<p>
If you are using the Desktop layout, the Cthulhu Modifier will
be both <key>Insert</key> and <key>KP_Insert</key>, the
latter being the same key as <key>KP_0</key>.
</p>
</item>
</list>
<p>
If you want to maintain your current keyboard layout but select a different
modifier key, you can do so by performing the following steps:
</p>
<steps>
<title>Changing the Cthulhu Modifier</title>
<item>
<p>
Get into the <link xref="preferences">Cthulhu Preferences</link> dialog by
pressing <keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>. Alternatively, you can start Cthulhu with the preferences dialog open from a terminal: type <cmd>cthulhu -s</cmd> and press <key>Return</key>.
</p>
</item>
<item>
<p>Move to the <gui>Key Bindings</gui> page.</p>
</item>
<item>
<p>Move to the <gui>Screen Reader Modifier Key(s)</gui> combobox.</p>
</item>
<item>
<p>Arrow to the desired modifier. The available options are:</p>
<list>
<item><p>Insert, KP_Insert</p></item>
<item><p>KP_Insert</p></item>
<item><p>Insert</p></item>
<item><p>Caps_Lock</p></item>
</list>
</item>
<item><p>Press the <gui>Apply</gui> button.</p></item>
</steps>
</page>

View File

@ -0,0 +1,37 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_toggling_caps_lock">
<info>
<link type="guide" xref="index#getting_started"/>
<link type="next" xref="howto_key_bindings" />
<title type="sort">7. CapsLock in Laptop Layout</title>
<desc>Toggling it when it is the <key>Cthulhu Modifier</key></desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>CapsLock in Laptop Layout</title>
<p>
Cthulhu has two keyboard layouts: Desktop and Laptop. The layout you choose
impacts which key is used as the Cthulhu Modifier. If you are using the Laptop
layout, the default Cthulhu Modifier will be <key>CapsLock</key>. If you are
using <app>Cthulhu</app>'s Laptop Layout and want to lock or unlock
<key>CapsLock</key>, you can do so by either pressing <key>CapsLock</key>
twice (requires at-spi2 version 2.32 or later), or by performing the
following steps:
</p>
<steps>
<title>Toggling CapsLock in Laptop Layout</title>
<item>
<p>
Press the Bypass command, <keyseq><key>Cthulhu Modifier</key><key>BackSpace</key>
</keyseq>, to tell <app>Cthulhu</app> that the next command should be ignored.
</p>
</item>
<item>
<p>Press <key>CapsLock</key> to toggle its locked state.</p>
</item>
</steps>
</page>

110
help/C/howto_whereami.page Normal file
View File

@ -0,0 +1,110 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="howto_whereami">
<info>
<link type="guide" xref="index#reviewing"/>
<link type="next" xref="howto_flat_review" />
<title type="sort">1. Where Am I</title>
<desc>
Learning about your location
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Where Am I</title>
<p>
In addition to dedicated commands for reading the title bar and the
status bar, Cthulhu provides two context-sensitive Where Am I commands:
Basic Where Am I and Detailed Where Am I. Basic Where Am I is implemented
for all objects. Detailed Where Am I is implemented just for those objects
for which there is a significant amount of information you may wish to know,
but likely will not wish to know all of the time.
</p>
<p>
The best way to become familiar with what Where Am I will present is to
give the <link xref="commands_where_am_i">Where Am I commands</link> a
try. However, to give you a better idea of the context-sensitive nature
of <app>Cthulhu</app>'s Where Am I feature, consider the following:
</p>
<p>
For most widgets, you will at least be told the label and/or name, the
type or role of the widget, and the mnemonic and/or accelerator key if
they happen to exist. In addition:
</p>
<list>
<item>
<p>
If the widget is text, and you perform a basic Where Am I, you will be
told the current line if no text is selected. If text is selected,
however, a basic Where Am I will tell you what text is selected. A
detailed Where Am I within the text will also include the text
attributes.
</p>
</item>
<item>
<p>
If the widget can be checked, as is the case with checkboxes and
radio buttons, the checked state will be included.
</p>
</item>
<item>
<p>
If the widget is a list or list-like object, such as a combo box, radio
button group, or page tab list, the position of the current item will be
included.
</p>
</item>
<item>
<p>
If the widget is hierarchical, such as a tree, and you are on an
expandable node, you will be told if that node is expanded or not.
And if it is expanded, you will also be told how many children it
contains. In addition, the nesting level will also be provided.
</p>
</item>
<item>
<p>
If the widget is a progress bar or a slider, you will be told the
current percent.
</p>
</item>
<item>
<p>
If the widget is an icon within an icon group, a basic Where Am I
will include the object you are in, the item you are on, and the
number of items which are selected. In a detailed Where Am I, you
will also be told which items are selected.
</p>
</item>
<item>
<p>
If you are on a link, the type of link (same site, different site,
FTP link, etc.) will be included.
</p>
</item>
<item>
<p>
If you are in a table cell, the coordinates of that cell and the cell
headers will be included.
</p>
</item>
<item>
<p>
If you are in the spell checker of an application where <app>Cthulhu</app>
provides enhanced support, a basic Where Am I will repeat the error
respecting your <link xref="preferences_spellcheck">spell check
preferences</link>. A detailed Where Am I will cause <app>Cthulhu</app> to
present the full details of the error.
</p>
</item>
</list>
<p>
And so on. Again, the goal of <app>Cthulhu</app>'s Where Am I is to provide
you with the details you are most likely interested in knowing about the
object you are currently in. To give Where Am I a try, see the list of
<link xref="commands_where_am_i">Where Am I commands</link>.
</p>
</page>

47
help/C/index.page Normal file
View File

@ -0,0 +1,47 @@
<page xmlns="http://projectmallard.org/1.0/"
xmlns:its="http://www.w3.org/2005/11/its"
type="guide"
id="index">
<info>
<title type="text">Cthulhu Screen Reader</title>
<title type="link">Introduction to the <app>Cthulhu</app> Screen Reader</title>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
<desc>Cthulhu is a free, open source, flexible, and extensible screen reader
that provides access to the graphical desktop via speech and refreshable
braille.</desc>
</info>
<title>
<media type="image" mime="image/png" src="figures/cthulhu-logo.png" its:translate="no">
<span its:translate="yes"><app>Cthulhu</app>'s logo</span>
</media>
<app>Cthulhu</app> Screen Reader
</title>
<note style="important">
<title>Before You Begin</title>
<p>
If you are not yet familiar with the navigation commands provided by
your desktop environment, you are encouraged to read that documentation
first.
</p>
</note>
<section id="getting_started" style="2column">
<title>Getting Started</title>
</section>
<section id="reading" style="2column">
<title>Reading Documents and Web Pages</title>
</section>
<section id="reviewing" style="2column">
<title>Reviewing and Interacting with Screen Contents</title>
</section>
<section id="quick_reference" style="2column">
<title>Quick Reference</title>
</section>
</page>

138
help/C/introduction.page Normal file
View File

@ -0,0 +1,138 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="introduction">
<info>
<link type="guide" xref="index#getting_started" />
<link type="next" xref="howto_setting_up_cthulhu" />
<title type="sort">1. Welcome to Cthulhu</title>
<desc>
Introducing the <app>Cthulhu</app> screen reader
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Welcome to Cthulhu</title>
<p>
<app>Cthulhu</app> is a free, open source, flexible, and extensible
screen reader that provides access to the graphical desktop via
speech and refreshable braille.
</p>
<p>
<app>Cthulhu</app> works with applications and toolkits that support
the Assistive Technology Service Provider Interface (AT-SPI), which
is the primary assistive technology infrastructure for Linux and
Solaris. Applications and toolkits supporting the AT-SPI include
Gtk+, Qt, Java Swing, LibreOffice, Gecko, WebKitGtk, and Chrome/Chromium.
</p>
<section id="launching">
<title>Launching <app>Cthulhu</app></title>
<p>To launch <app>Cthulhu</app>:</p>
<list>
<item>
<p>
The method for configuring <app>Cthulhu</app> to be launched
automatically as your preferred screen reader will depend upon
which desktop environment you use.
</p>
</item>
<item>
<p>
To toggle <app>Cthulhu</app> on and off in GNOME, press
<keyseq><key>Super</key><key>Alt</key><key>S</key></keyseq>.
</p>
</item>
<item>
<p>
Type <cmd>cthulhu</cmd>, along with any optional parameters, in a
terminal window or within the <gui>Run</gui> dialog and then press
<key>Return</key>.
</p>
</item>
</list>
</section>
<section id="loadtime">
<title>Load-Time Options</title>
<p>
The following options can be specified when launching <app>Cthulhu</app>
in a terminal window or within the <gui>Run</gui> dialog:
</p>
<list>
<item>
<p><cmd>-h</cmd>, <cmd>--help</cmd>: Show the help message</p>
</item>
<item>
<p>
<cmd>-v</cmd>, <cmd>--version</cmd>: Show the version of
<app>Cthulhu</app>
</p>
</item>
<item>
<p>
<cmd>-s</cmd>, <cmd>--setup</cmd>: Set up user preferences
</p>
</item>
<item>
<p>
<cmd>-u</cmd>, <cmd>--user-prefs=<em>dirname</em></cmd>:
Use <em>dirname</em> as the alternate directory for user
preferences
</p>
</item>
<item>
<p>
<cmd>-e</cmd>, <cmd>--enable=<em>option</em></cmd>: Force use
of option, where the <em>option</em> can be one of the following:
</p>
<list>
<item><p><cmd>speech</cmd></p></item>
<item><p><cmd>braille</cmd></p></item>
<item><p><cmd>braille-monitor</cmd></p></item>
</list>
</item>
<item>
<p>
<cmd>-d</cmd>, <cmd>--disable=<em>option</em></cmd>: Prevent the
use of an option, where the <em>option</em> can be one of the
following:
</p>
<list>
<item><p><cmd>speech</cmd></p></item>
<item><p><cmd>braille</cmd></p></item>
<item><p><cmd>braille-monitor</cmd></p></item>
</list>
</item>
<item>
<p>
<cmd>-p</cmd>, <cmd>--profile=<em>filename</em></cmd>:
Import a profile from a given <app>Cthulhu</app> profile file
</p>
</item>
<item>
<p>
<cmd>-r</cmd>, <cmd>--replace</cmd>: Replace a currently-running <app>Cthulhu</app>
</p>
</item>
<item>
<p>
<cmd>-l</cmd>, <cmd>--list-apps</cmd>: Print the known running
applications
</p>
</item>
<item>
<p>
<cmd>--debug</cmd>: Send debug output to debug-YYYY-MM-DD-HH:MM:SS.out
</p>
</item>
<item>
<p>
<cmd>--debug-file=<em>filename</em></cmd>: Send debug output to
the specified file
</p>
</item>
</list>
</section>
</page>

21
help/C/preferences.page Normal file
View File

@ -0,0 +1,21 @@
<page xmlns="http://projectmallard.org/1.0/" type="guide" id="preferences">
<info>
<link type="next" xref="preferences_introduction" />
<link type="guide" xref="index#quick_reference" />
<title type="link">Preferences</title>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title><app>Cthulhu</app>'s Preferences Dialogs</title>
<section id="cthulhu" style="2column">
<title>Cthulhu Preferences</title>
</section>
<section id="application" style="2column">
<title>Application-Unique Preferences</title>
</section>
</page>

View File

@ -0,0 +1,183 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_braille">
<info>
<title type="sort">3. Braille</title>
<title type="link">Braille</title>
<desc>
Configuring <app>Cthulhu</app>'s braille display support
</desc>
<link type="guide" xref="preferences#cthulhu" />
<link type="next" xref="preferences_key_echo" />
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Braille Preferences</title>
<section id="braillesupport">
<title>Enable Braille Support</title>
<p>
This check box toggles whether or not <app>Cthulhu</app> will make
use of a braille display. If BrlTTY is not running, <app>Cthulhu</app>
will recover gracefully and will not communicate with the braille
display.
</p>
<p>
Default value: not checked
</p>
<note style="tip">
<p>
If you configure BrlTTY later on, you need to restart <app>Cthulhu</app>
in order to use braille.
</p>
</note>
</section>
<section id="braillewordwrap">
<title>Enable word wrap</title>
<p>
If <gui>Enable word wrap</gui> is checked, <app>Cthulhu</app> will adjust the
text so that only full words are shown on the braille display. If it is not
checked, <app>Cthulhu</app> will use all of the cells on the display so that
more text can be shown at once.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="contractedbraille">
<title>Enable Contracted Braille</title>
<p>
Cthulhu supports contracted braille via the liblouis project. Because many
distros include liblouis, you will likely automatically have access to
contracted braille support in <app>Cthulhu</app>.
</p>
<p>
To enable contracted braille on a system where liblouis has been installed,
be sure that the <gui>Enable Contracted Braille</gui> checkbox is checked.
Then choose your desired translation table from the <gui>Contraction
Table</gui> combo box.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="rolenames">
<title>Abbreviated Role Names</title>
<p>
This check box determines the manner in which role names are
displayed and can be used to help conserve real estate on the
braille display. For instance, if a slider had focus, the word
"slider" would be displayed if abbreviated role names is not
checked; if it were checked, "sldr" would be displayed instead.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="eolindicator">
<title>Disable end of line symbol</title>
<p>
Checking this checkbox tells <app>Cthulhu</app> to not present the
"$l" string at the end of a line of text.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="verbosity">
<title>Verbosity</title>
<p>
This radio button group determines the amount of information that
will be brailled in certain situations. For example, if it is set
to verbose, keyboard shortcut and role name information is displayed.
This information is not displayed in brief mode.
</p>
<p>
Default value: <gui>Verbose</gui>
</p>
</section>
<section id="selectionandhyperlink">
<title>Selection and Hyperlink Indicators</title>
<p>
The <gui>Selection Indicator</gui> and <gui>Hyperlink Indicator</gui>
radio button groups allow you to configure <app>Cthulhu</app>'s behavior
when displaying selected text and hyperlinks. By default, when you
encounter either, <app>Cthulhu</app> will "underline" that text on
your braille display with Dots 7 and 8. If you would prefer, you
can change the indicator to only be Dot 7, only be Dot 8, or not
be present at all.
</p>
<p>
Default value: <gui>Dots 7 and 8</gui>
</p>
<note style="tip">
<title>Text Attribute Indicators</title>
<p>
You can also optionally have text attributes indicated in braille.
Enabling this feature and choosing which attributes are of
interest is done on the <link xref="preferences_text_attributes">
<gui>Text Attributes</gui> page</link> of the preferences dialog.
</p>
</note>
</section>
<section id="flashMessageSettings">
<title>Flash Message Settings</title>
<p>
Flash messages are similar in nature to notifications or announcements:
They are shown on your refreshable braille display for a brief time,
after which the original contents of the braille display are restored.
<app>Cthulhu</app> has several settings you can use to control flash message
presentation.
</p>
<section id="flashMessageSettings_enable">
<title>Enable flash messages</title>
<p>
If <gui>Enable flash messages</gui> is checked, <app>Cthulhu</app> will
present messages to you in braille. If you prefer to only have
<app>Cthulhu</app>'s messages spoken, you should uncheck this checkbox.
</p>
<p>
Default value: checked
</p>
</section>
<section id="flashMessageSettings_detailed">
<title>Messages are detailed</title>
<p>
If <gui>Messages are detailed</gui> is checked, <app>Cthulhu</app> will
present detailed messages to you in braille. For instance, if you
use <app>Cthulhu</app>'s command to change echo, <app>Cthulhu</app> might
display "Echo set to word." If you would prefer shorter messages,
such as simply "word," you should uncheck this checkbox.
</p>
<p>
Default value: checked
</p>
</section>
<section id="flashMessageSettings_persistent">
<title>Messages are persistent</title>
<p>
As stated above, flash messages are only shown for a brief period of time.
If you would prefer messages remain displayed until you perform an action
which causes your display to be updated, you should check the <gui>Messages
are persistent</gui> checkbox.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="flashMessageSettings_duration">
<title>Duration (secs)</title>
<p>
The amount of time <app>Cthulhu</app> will wait before removing the message and
restoring the original contents of your display can be set in the <gui>
Duration (secs)</gui> spin button. Note that the value of this
setting will be ignored if you have enabled persistent flash messages.
</p>
<p>
Default value: 5
</p>
</section>
</section>
</page>

View File

@ -0,0 +1,79 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_chat">
<info>
<link type="guide" xref="preferences#application" />
<link type="next" xref="preferences_spellcheck" />
<title type="sort">3. Chat</title>
<title type="link">Chat</title>
<desc>
Configuring <app>Cthulhu</app>'s support for IM and IRC
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Chat Preferences</title>
<p>
The following options allow you to customize how <app>Cthulhu</app>
behaves when providing access to instant messaging and internet
relay chat clients.
</p>
<section id="speak_name">
<title>Speak Chat Room name</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will prefix incoming messages
with the name of the room or buddy they came from, unless they came from
the currently-focused conversation.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="announce_typing">
<title>Announce when your buddies are typing</title>
<p>
If this checkbox is checked, and if <app>Cthulhu</app> has sufficient
information identifying that your buddy is typing, <app>Cthulhu</app> will
announce changes in typing status.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="message_histories">
<title>Provide chat room specific message histories</title>
<p>
If this checkbox is checked, <app>Cthulhu</app>'s commands for reviewing
recent messages will only apply to the currently-focused conversation.
Otherwise, the history will contain the most recent messages regardless
of which conversation they came from.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="speak_messages_from">
<title>Speak messages from</title>
<p>
This group of radio buttons allows you to control under what circumstances
<app>Cthulhu</app> will present an incoming message to you. Your choices are:
</p>
<list>
<item>
<p><gui>All channels</gui></p>
</item>
<item>
<p><gui>A channel only if its window is active</gui></p>
</item>
<item>
<p><gui>All channels when any chat window is active</gui></p>
</item>
</list>
<p>
Default value: all channels
</p>
</section>
</page>

View File

@ -0,0 +1,279 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_general">
<info>
<title type="sort">1. General</title>
<title type="link">General</title>
<desc>
Configuring <app>Cthulhu</app>'s fundamental behaviors
</desc>
<link type="guide" xref="preferences#cthulhu" />
<link type="next" xref="preferences_voice" />
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>General Preferences</title>
<section id="keyboardlayout">
<info>
<desc>
Preferences dialog box option to select which <app>Cthulhu</app> keyboard
layout to use, desktop or laptop.
</desc>
</info>
<title>Keyboard Layout</title>
<p>
The <gui>Keyboard Layout</gui> radio button group allows you to specify if
you will be working on a desktop (i.e. with a numeric keypad) or laptop
keyboard. Which layout you choose will determine both the <key>Cthulhu
Modifier</key> as well as a number of keyboard shortcuts for performing
<app>Cthulhu</app> commands.</p>
<p>
Default value: <gui>Desktop</gui>
</p>
</section>
<section id="presenttooltips">
<info>
<desc>
Preferences dialog box option to enable presentation of tooltips which
appear as the result of mouse hovering.
</desc>
</info>
<title>Present Tooltips</title>
<p>
When checked, this option will tell <app>Cthulhu</app> to present information
about tooltips when they appear as the result of mouse hovering. Specific
actions to force tooltips to appear, such as pressing <keyseq>
<key>Ctrl</key><key>F1</key></keyseq> when an object has focus, will
always result in tooltips being presented, regardless of this setting.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="objectundermouse">
<info>
<desc>
Preferences dialog box option to enable presentation of the object
under the mouse pointer.
</desc>
</info>
<title>Speak Object Under Mouse</title>
<p>
When checked, this option will tell <app>Cthulhu</app> to present
information about the object under the mouse pointer as you move
it around the screen using <app>Cthulhu</app>'s
<link xref="howto_mouse_review">Mouse Review</link> feature.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="timeanddate">
<info>
<desc>
Preferences dialog box options for customizing the time and date
formats used by <app>Cthulhu</app>.
</desc>
</info>
<title>Time Format and Date Format</title>
<p>
The <gui>Time Format</gui> and <gui>Date Format</gui> combo boxes allow
you to specify how <app>Cthulhu</app> will speak and braille the time and the
date.
</p>
<p>
Default value: use the system locale's format for each
</p>
</section>
<section id="navigation_in_say_all">
<info>
<desc>
Preferences dialog box options for enabling rewind, fast forward,
and structural navigation during Say All.
</desc>
</info>
<title>Navigation in Say All</title>
<p>
<app>Cthulhu</app>'s Say All feature speaks document content from your
present location to the end of the document. By default, pressing any
key will interrupt Say All's presentation. However, if you check the
<gui>Enable rewind and fast forward in Say All</gui> checkbox,
<key>Up</key> and <key>Down</key> can be used during Say All to quickly
move within the document in order to re-hear something which was just
read or skip past text of no interest without having to restart Say All.
</p>
<p>
If you are reading a document within an application that has structural
navigation support, and you have checked the <gui>Enable structural navigation
in Say All</gui> checkbox, you can use the supported structural navigation
commands in a similar fashion: <key>H</key>/<keyseq><key>Shift</key>
<key>H</key></keyseq> continues reading from the next/previous heading,
<key>P</key>/<keyseq><key>Shift</key><key>P</key></keyseq> continues reading
from the next/previous paragraph, <key>T</key>/<keyseq><key>Shift</key>
<key>T</key></keyseq> continues reading from the next/previous table, and
so on.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="say_all_announce_context">
<title>Announce Contextual Information in Say All</title>
<p>
<app>Cthulhu</app> can optionally provide more information about the document
content being spoken, such as announcing when you are entering and leaving
a blockquote, list, table, or other container. Whether or not these
announcements are made can be configured independently through the following
checkboxes:
</p>
<list>
<item><p>Announce blockquotes in Say All</p></item>
<item><p>Announce forms in Say All</p></item>
<item><p>Announce landmarks in Say All</p></item>
<item><p>Announce lists in Say All</p></item>
<item><p>Announce panels in Say All</p></item>
<item><p>Announce tables in Say All</p></item>
</list>
<p>
Default value: checked
</p>
<note style="note">
<p>
Whether or not <app>Cthulhu</app> makes these announcements during
navigation is also configurable. You will find similar checkboxes
on the <gui>Speech</gui> page. For more information, see
<link xref="preferences_speech#spoken_context">Spoken Context</link>.
</p>
</note>
</section>
<section id="say_all_by">
<info>
<desc>
Preferences dialog box option for customizing <app>Cthulhu</app>'s
Say All presentation.
</desc>
</info>
<title>Say All By</title>
<p>
The <gui>Say All By</gui> combo box allows you to specify whether
<app>Cthulhu</app> speaks a sentence at a time or a line at a time when
doing a "Say All" of a document.
</p>
<p>
Default value: <gui>Sentence</gui>
</p>
</section>
<section id="profiles">
<info>
<desc>
Preferences dialog box options for managing settings profiles.
</desc>
</info>
<title>Profiles</title>
<p>
The <gui>Profiles</gui> group of controls, which appear at the bottom
of the <gui>General</gui> page, make it possible for you to maintain
and use multiple configurations.
</p>
<list>
<item>
<p>
The <gui>Active Profile</gui> combo box displays the current profile
and allows you to select a different profile to load.
</p>
</item>
<item>
<p>
The <gui>Load</gui> button will cause <app>Cthulhu</app> to load the
profile indicated in the <gui>Active Profile</gui> combo box.
</p>
</item>
<item>
<p>
The <gui>Save As</gui> button allows you to save the current set of
options from the preferences dialog box to a named profile.
</p>
</item>
<item>
<p>
The <gui>Start-up Profile</gui> combo box allows you to select the
profile which should be automatically loaded each time you launch
<app>Cthulhu</app>.
</p>
</item>
</list>
</section>
<section id="progress_bar_updates">
<title>Progress Bar Updates</title>
<section id="progress_bar_updates_speak">
<title>Speak updates</title>
<p>
If the <gui>Speak updates</gui> checkbox is checked <app>Cthulhu</app> will
periodically speak the status of progress bars.
</p>
<p>
Default value: checked
</p>
</section>
<section id="progress_bar_updates_braille">
<title>Braille updates</title>
<p>
If the <gui>Braille updates</gui> checkbox is checked <app>Cthulhu</app> will
periodically display the status of progress bars on your refreshable braille
display.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="progress_bar_updates_beep">
<title>Beep updates</title>
<p>
If the <gui>Beep updates</gui> checkbox is checked <app>Cthulhu</app> will
periodically emit beeps which increase in pitch as the value of the progress
bar increases.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="progress_bar_updates_frequency">
<title>Frequency (secs)</title>
<p>
This spin button determines how often updates are presented.
</p>
<p>
Default value: 10
</p>
</section>
<section id="progress_bar_updates_restrict">
<title>Applies to</title>
<p>
This combo box allows you to control which progress bars should be
presented, assuming the presentation of progress bar updates has been
enabled. The choices are <gui>All</gui>, <gui>Application</gui>, and
<gui>Window</gui>.
</p>
<p>
Choosing <gui>All</gui> will result in <app>Cthulhu</app> presenting
updates for all progress bars, regardless of where the progress bars
are located.
</p>
<p>
Choosing <gui>Application</gui> will result in <app>Cthulhu</app>
presenting updates from progress bars in the active application, even
if they are not in the active window.
</p>
<p>
Choosing <gui>Window</gui> will result in <app>Cthulhu</app> only
presenting updates for progress bars in the active window.
</p>
<p>
Default value: <gui>Application</gui>
</p>
</section>
</section>
</page>

View File

@ -0,0 +1,59 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_introduction">
<info>
<title type="sort">0. Introduction to <app>Cthulhu</app>'s Preferences</title>
<title type="link">Introduction to <app>Cthulhu</app>'s Preferences</title>
<link type="guide" xref="preferences" />
<link type="next" xref="preferences_general" />
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Introduction to <app>Cthulhu</app>'s Preferences</title>
<section id="cthulhu">
<title>Cthulhu Preferences</title>
<p>
Cthulhu preferences allow you to customize functionality in <app>Cthulhu</app>
which applies to all applications. An example of an Cthulhu preference is
echo because echo is something that applies to all applications.
</p>
<p>
Note that Cthulhu preferences can be customized on an application-by-application
basis. For instance you can set the default echo to words and then
set the echo for Pidgin to be none. Having done so, <app>Cthulhu</app>
would always echo each word that you typed, unless you were in Pidgin.
</p>
<note style="tip">
<title>Keyboard Shortcuts for Getting Into the Preferences Dialogs</title>
<list>
<item>
<p>
<keyseq><key>Cthulhu Modifier</key><key>Space</key></keyseq>:
<app>Cthulhu</app>'s Preferences
</p>
</item>
<item>
<p>
<keyseq><key>Ctrl</key><key>Cthulhu Modifier</key><key>Space</key>
</keyseq>: <app>Cthulhu</app>'s Preferences for the current
application
</p>
</item>
</list>
</note>
</section>
<section id="application_unique">
<title>Application-Unique Preferences</title>
<p>
In contrast to Cthulhu preferences, there are application-unique preferences.
These preferences allow you to customize <app>Cthulhu</app> functionality
that only applies in certain environments, such as on web pages or in
chat applications. As a result, you will only find these options
available in the application-specific preferences dialogs and only for
those applications to which these options apply.
</p>
</section>
</page>

View File

@ -0,0 +1,75 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_key_bindings">
<info>
<link type="guide" xref="preferences#cthulhu"/>
<link type="next" xref="preferences_pronunciation" />
<link type="seealso" xref="howto_key_bindings" />
<title type="sort">6. Key Bindings</title>
<title type="link">Key Bindings</title>
<desc>
Configuring <app>Cthulhu</app>'s keyboard shortcuts
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Key Bindings Preferences</title>
<section id="cthulhu_modifier_keys">
<title>Cthulhu Modifier Keys</title>
<p>
The <gui>Screen Reader Modifier Key(s)</gui> combo box allows you to select which
key or keys will serve as the Cthulhu Modifier. The available options are:
</p>
<list>
<item>
<p>
<gui>KP_Insert</gui> (the same key as the <key>0</key> on the
numeric keypad)
</p></item>
<item><p><gui>Insert</gui></p></item>
<item><p><gui>Insert, KP_Insert</gui></p></item>
<item><p><gui>Caps_Lock</gui></p></item>
</list>
</section>
<section id="key_bindings_table">
<title>The Key Bindings Table</title>
<p>
The key bindings table provides a list of <app>Cthulhu</app> operations
and the keys that are bound to them.
</p>
<list>
<item>
<p>
The <gui>Command</gui> column contains a description of the
<app>Cthulhu</app> command to be performed.
</p>
</item>
<item>
<p>
The <gui>Key Binding</gui> column contains the keyboard shortcut currently
assigned to the <app>Cthulhu</app> command. You can modify the value of
this column by pressing <key>Return</key>, pressing the keys for the
new binding, and pressing <key>Return</key> again.
</p>
</item>
<item>
<p>
The <gui>Modified</gui> column serves both as an indicator to what
has been changed and as a way to restore the default bindings
associated with that command.
</p>
</item>
</list>
<p>
Beneath the list of <app>Cthulhu</app> keybindings, you will find a group
of "unbound" commands. These are commands which we feel will be very
useful for some users, but not needed by most users. Rather than "use
up" a keystroke for such commands, we have left them unassigned by
default. At the end of the list are the braille bindings, for use with
a refreshable braille display.
</p>
</section>
</page>

View File

@ -0,0 +1,183 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_key_echo">
<info>
<title type="link">Echo</title>
<title type="sort">4. Echo</title>
<desc>
Configuring what is spoken as you type
</desc>
<link type="guide" xref="preferences#cthulhu" />
<link type="next" xref="preferences_key_bindings" />
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Echo Preferences</title>
<section id="keyecho">
<title>Enable key echo</title>
<p>
Cthulhu's key echo setting controls what happens each time you press
a key. To enable key echo, check the "Enable key echo" checkbox.
Doing so causes additional checkboxes to become available through
which you can choose exactly which keys should and should not be
echoed to best suit your needs.
</p>
<p>
Default value: checked
</p>
<section id="keyecho_enable_alphanumeric">
<title>Enable alphabetic keys</title>
<p>
This option controls whether or not keys like <key>a</key>,
<key>b</key>, and <key>c</key> should be spoken when pressed.
</p>
<p>
Default value: checked
</p>
</section>
<section id="keyecho_enable_numeric">
<title>Enable numeric keys</title>
<p>
This option controls whether or not keys like <key>1</key>,
<key>2</key>, and <key>3</key> should be spoken when pressed.
</p>
<p>
Default value: checked
</p>
</section>
<section id="keyecho_enable_punctuation">
<title>Enable punctuation keys</title>
<p>
This option controls whether or not keys like <key>%</key>,
<key>;</key>, and <key>?</key> should be spoken when pressed.
</p>
<p>
Default value: checked
</p>
</section>
<section id="keyecho_enable_space">
<title>Enable space</title>
<p>
This option controls whether or not <key>Space</key> should be
spoken when pressed.
</p>
<p>
Default value: checked
</p>
</section>
<section id="keyecho_enable_modifier">
<title>Enable modifier keys</title>
<p>
This option controls whether or not <key>Shift</key>, <key>Ctrl</key>,
<key>Alt</key> and <key>Meta</key> should be spoken when pressed.
</p>
<p>
Default value: checked
</p>
</section>
<section id="keyecho_enable_function">
<title>Enable function keys</title>
<p>
This option controls whether or not <key>F1</key> through <key>F12</key>
should be spoken when pressed.
</p>
<p>
Default value: checked
</p>
</section>
<section id="keyecho_enable_action">
<title>Enable action keys</title>
<p>
This option controls whether or not <key>BackSpace</key>, <key>Delete
</key>, <key>Return</key>, <key>Esc</key>, <key>Tab</key>, <key>Page
Up</key>, <key>Page Down</key>, <key>Home</key>, and <key>End</key>
should be spoken when pressed.
</p>
<p>
Default value: checked
</p>
</section>
<section id="keyecho_enable_navigation">
<title>Enable navigation keys</title>
<p>
This option controls whether or not <key>Left</key>, <key>Right</key>,
<key>Up</key>, and <key>Down</key> should be spoken when pressed. This
option also applies to any key combination in which <key>Cthulhu
Modifier</key> is being held down, for instance when flat review is
being used.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="keyecho_enable_diacritical">
<title>Enable non-spacing diacritical keys</title>
<p>
This option controls whether or not "dead keys" used to generate
accented letters should be spoken when pressed.
</p>
<p>
Default value: not checked
</p>
</section>
</section>
<section id="characterecho">
<title>Enable echo by character</title>
<p>
Enabling this option causes Cthulhu to echo the character
you just typed.
</p>
<p>
While echo by character seems quite similar to the key echo of
alphabetic, numeric, and punctuation keys, there are important differences,
especially with respect to accented letters and other symbols for which
there is no dedicated key:
</p>
<list>
<item>
<p>
Key echo causes <app>Cthulhu</app> to announce what you just <em>
pressed</em>.
</p>
</item>
<item>
<p>
Character echo causes <app>Cthulhu</app> to announce what was just
<em>inserted</em>.
</p>
</item>
</list>
<p>
Thus to have accented characters spoken as you type them, you should
enable character echo.
</p>
<p>
Default value: not checked
</p>
<note style="tip">
<title>Enabling both key echo and character echo</title>
<p>
If you like key echo and you frequently type accented characters,
consider enabling both. <app>Cthulhu</app>'s character echo logic
attempts to filter out characters which were spoken as a result
of key echo, thus minimizing the likelihood of "double speaking"
as you type.
</p>
</note>
</section>
<section id="wordandsentenceecho">
<title>Enable echo by word and Enable echo by sentence</title>
<p>
Checking the <gui>Enable echo by word</gui> checkbox causes
<app>Cthulhu</app> to echo the word you just typed. Similarly,
checking the <gui>Enable echo by sentence</gui> checkbox causes
<app>Cthulhu</app> to echo the sentence you just typed.
</p>
<p>
Default value: not checked
</p>
</section>
</page>

View File

@ -0,0 +1,87 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic"
id="preferences_pronunciation">
<info>
<link type="guide" xref="preferences#cthulhu" />
<link type="next" xref="preferences_text_attributes" />
<title type="sort">7. Pronunciation</title>
<title type="link">Pronunciation</title>
<desc>
Defining how specific words get pronounced
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Pronunciation Preferences</title>
<p>
Sometimes your speech synthesizer just doesn't say the right thing
for a given string. You might prefer to hear "laughing out loud"
rather than "LOL," or "accessibility" rather than "a11y". Or there
may be a name or a technical term which the synthesizer mispronounces.
</p>
<p>
The <gui>Pronunciation</gui> page of the <app>Cthulhu</app> preferences
dialog allows you to add, edit, and delete entries in <app>Cthulhu</app>'s
pronunciation dictionary.
</p>
<p>
Because the <gui>Pronunciation</gui> page is also part of the
application-specific settings, you can customize your entries on an
as-needed basis for each application you use.
</p>
<steps>
<title>Adding a new dictionary entry</title>
<item>
<p>
Press the <gui>New Entry</gui> button (<keyseq><key>Alt</key><key>N</key></keyseq>)
</p>
</item>
<item>
<p>
Type the text of the new entry and press <key>Return</key> to finish
editing the actual string.
</p>
</item>
<item>
<p>
Move to the <gui>Replacement String</gui> column and press <key>Return
</key> to begin editing.
</p>
</item>
<item>
<p>
Type the text that you would like to have spoken instead and press <key>
Return</key> to finish editing the replacement string.
</p>
</item>
</steps>
<steps>
<title>Editing an existing dictionary entry</title>
<item>
<p>
Move to the cell you wish to edit and press <key>Return</key> to begin
editing.
</p>
</item>
<item>
<p>
Make your changes and then press <key>Return</key> to finish editing.
</p>
</item>
</steps>
<steps>
<title>Deleting an existing dictionary entry</title>
<item>
<p>Move to the entry you wish to delete.</p>
</item>
<item>
<p>
Press the <gui>Delete</gui> button or <keyseq><key>Alt</key><key>D</key></keyseq>.
</p>
</item>
</steps>
</page>

View File

@ -0,0 +1,348 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_speech">
<info>
<link type="guide" xref="preferences#cthulhu" />
<link type="next" xref="preferences_braille" />
<title type="sort">2.1 Speech</title>
<title type="link">Speech</title>
<desc>
Configuring what gets spoken
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Speech Preferences</title>
<section id="enable_speech">
<title>Enable speech</title>
<p>
The <gui>Enable speech</gui> check box controls whether or not
<app>Cthulhu</app> will make use of a speech synthesizer.
Braille-only users will likely want to uncheck this checkbox.
</p>
<p>
Default value: checked
</p>
</section>
<section id="verbosity">
<title>Verbosity</title>
<p>
The <gui>Verbosity</gui> setting determines the amount of information
that will be spoken in various situations. For example, if it is set
to verbose, and you arrow into a word that is misspelled, <app>Cthulhu</app>
will announce that the word is misspelled. When the level is set to brief,
this announcement will not be made.
</p>
<p>
Default value: <gui>Verbose</gui>
</p>
</section>
<section id="punctuation_level">
<title>Punctuation Level</title>
<p>
The <gui>Punctuation Level</gui> radio button group is used to
adjust the amount of punctuation spoken by the synthesizer. The
available levels are <gui>None</gui>, <gui>Some</gui>, <gui>Most</gui>,
and <gui>All</gui>.
</p>
<p>
Default value: <gui>Most</gui>
</p>
<section id="punctuation_level_none">
<title>None</title>
<p>
Choosing a punctuation level of <gui>None</gui> would, as you expect,
cause no punctuation to be spoken. Note, however, that special symbols
such as subscripted and superscripted numbers, Unicode fractions, and
bullets are still spoken at this level, even though some might consider
these types of symbols punctuation.
</p>
</section>
<section id="punctuation_level_some">
<title>Some</title>
<p>
Choosing a punctuation level of <gui>Some</gui> causes all of the
previously-mentioned symbols to be spoken. In addition, <app>Cthulhu</app>
will speak known mathematical symbols, currency symbols, and "^", "@",
"/", "&amp;", "#".
</p>
</section>
<section id="punctuation_level_most">
<title>Most</title>
<p>
Choosing a punctuation level of <gui>Most</gui> causes all of the
previous-mentioned symbols to be spoken. In addition, <app>Cthulhu</app>
will speak all other known punctuation symbols <em>other than</em> "!",
"'", ",", ".", "?".
</p>
</section>
<section id="punctuation_level_all">
<title>All</title>
<p>
Choosing a punctuation level of <gui>All</gui>, as expected, causes
<app>Cthulhu</app> to speak all known punctuation symbols.
</p>
</section>
</section>
<section id="spoken_context">
<title>Spoken Context</title>
<p>
The following items control the presentation of a variety of
supplemental, "system" information about the item with focus.
Because the associated text does not appear on screen, this
information is presented in <app>Cthulhu</app>'s System voice.
</p>
<section id="only_speak_displayed_text">
<title>Only speak displayed text</title>
<p>
Checking this checkbox causes <app>Cthulhu</app> to only speak actual
text displayed on screen. This option is intended primarily for low
vision users and users with a visual learning disability.
</p>
<p>
Default value: not checked
</p>
<note style="note">
<p>
The following items will not be available for configuration if
the <gui>Only speak displayed text</gui> checkbox is checked.
</p>
</note>
</section>
<section id="speak_blank_lines">
<title>Speak blank lines</title>
<p>
If the <gui>Speak blank lines</gui> checkbox is checked,
<app>Cthulhu</app> will say "blank" each time you arrow to a blank
line. If it is unchecked, <app>Cthulhu</app> will say nothing when
you move to a blank line.
</p>
<p>
Default value: checked
</p>
</section>
<section id="indentation_and_justification">
<title>Speak indentation and justification</title>
<p>
When working with code or editing other documents it is often
desirable to be aware of justification and indentation. Checking
the <gui>Speak indentation and justification</gui> checkbox will
cause <app>Cthulhu</app> to announce this information.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="speak_misspelled_word_indicator">
<title>Speak misspelled-word indicator</title>
<p>
The misspelled-word indicator is the red squiggly line that appears
underneath misspelled words in editable text fields. If <gui>Speak
misspelled-word indicator</gui> is checked, when you navigate into
a word with this indicator, or type a word incorrectly causing this
indicator to appear, <app>Cthulhu</app> will speak "misspelled."
</p>
<p>
Default value: checked
</p>
</section>
<section id="mnemonics">
<title>Speak object mnemonics</title>
<p>
If the <gui>Speak object mnemonics</gui> checkbox is checked,
<app>Cthulhu</app> will announce the mnemonic associated with the
object with focus (such as <keyseq><key>Alt</key><key>O</key>
</keyseq> for an <gui>OK</gui> button).
</p>
<p>
Default value: not checked
</p>
</section>
<section id="child_position">
<title>Speak child position</title>
<p>
Checking the <gui>Speak child position</gui> checkbox will cause
<app>Cthulhu</app> to announce the position of the focused item in
menus, lists, and trees (e.g. "9 of 16").
</p>
<p>
Default value: not checked
</p>
</section>
<section id="speak_tutorial_messages">
<title>Speak tutorial messages</title>
<p>
If the <gui>Speak tutorial messages</gui> checkbox is checked, as
you move amongst objects in an interface, <app>Cthulhu</app> will
provide additional information, such as how to interact with the
currently-focused object.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="speak_description">
<title>Speak description</title>
<p>
If the <gui>Speak description</gui> checkbox is checked, as
you move amongst objects in an interface, <app>Cthulhu</app> will
speak the accessible description in addition to the accessible
name of the object.
</p>
<p>
Default value: checked
</p>
</section>
<section id="system_messages_are_detailed">
<title>System messages are detailed</title>
<p>
If <gui>System messages are detailed</gui> is checked, <app>Cthulhu</app> will
present detailed messages to you in speech. For instance, if you use
<app>Cthulhu</app>'s command to change echo, <app>Cthulhu</app> might
speak "Echo set to word." If you would prefer shorter messages,
such as simply "word," you should uncheck this checkbox.
</p>
<p>
Default value: checked
</p>
</section>
<section id="speak_colors_as_names">
<title>Speak colors as names</title>
<p>
If <gui>Speak colors as names</gui> is checked, <app>Cthulhu</app> will
describe colors, looking for the closest approximate. For instance,
RGB 0, 27, 51 would be spoken as "midnight blue." If you would prefer
to hear the exact RGB value, you should uncheck this checkbox.
</p>
<p>
Default value: checked
</p>
</section>
<section id="announce_blockquotes_during_navigation">
<title>Announce blockquotes during navigation</title>
<p>
If <gui>Announce blockquotes during navigation</gui> is checked,
<app>Cthulhu</app> will tell you when you navigate into or out of a
blockquote. Note that this setting is independent of whether or not
this announcement is made during Say All. See
<link xref="preferences_general#say_all_announce_context">Announce
Contextual Information in Say All</link> for more information.
</p>
<p>
Default value: checked
</p>
</section>
<section id="announce_forms_during_navigation">
<title>Announce forms during navigation</title>
<p>
If <gui>Announce forms during navigation</gui> is checked,
<app>Cthulhu</app> will tell you when you navigate into or out of a
form. Note that this setting is specific to forms which are not
ARIA landmarks. You can configure the presentation of ARIA landmarks
through the <gui>Announce landmarks during navigation</gui> checkbox.
In addition, note that this setting is independent of whether or not
this announcement is made during Say All. See
<link xref="preferences_general#say_all_announce_context">Announce
Contextual Information in Say All</link> for more information.
</p>
<p>
Default value: checked
</p>
</section>
<section id="announce_landmarks_during_navigation">
<title>Announce landmarks during navigation</title>
<p>
If <gui>Announce landmarks during navigation</gui> is checked,
<app>Cthulhu</app> will tell you when you navigate into or out of an
ARIA landmark. Note that this setting is independent of whether or not
this announcement is made during Say All. See
<link xref="preferences_general#say_all_announce_context">Announce
Contextual Information in Say All</link> for more information.
</p>
<p>
Default value: checked
</p>
</section>
<section id="announce_lists_during_navigation">
<title>Announce lists during navigation</title>
<p>
If <gui>Announce lists during navigation</gui> is checked,
<app>Cthulhu</app> will tell you when you navigate into or out of a
list. Note that this setting is independent of whether or not
this announcement is made during Say All. See
<link xref="preferences_general#say_all_announce_context">Announce
Contextual Information in Say All</link> for more information.
</p>
<p>
Default value: checked
</p>
</section>
<section id="announce_panels_during_navigation">
<title>Announce panels during navigation</title>
<p>
If <gui>Announce panels during navigation</gui> is checked,
<app>Cthulhu</app> will tell you when you navigate into or out of a
panel. Note that this setting is independent of whether or not
this announcement is made during Say All. See
<link xref="preferences_general#say_all_announce_context">Announce
Contextual Information in Say All</link> for more information.
</p>
<p>
Default value: checked
</p>
</section>
<section id="announce_tables_during_navigation">
<title>Announce tables during navigation</title>
<p>
If <gui>Announce tables during navigation</gui> is checked,
<app>Cthulhu</app> will tell you when you navigate into or out of a
table. Note that this setting is independent of whether or not
this announcement is made during Say All. See
<link xref="preferences_general#say_all_announce_context">Announce
Contextual Information in Say All</link> for more information.
</p>
<p>
Default value: checked
</p>
</section>
<section id="speak_full_row_in_gui_tables">
<title>Speak full row in GUI tables</title>
<p>
If <gui>Speak full row in GUI tables</gui> is checked, as you arrow up
and down in application tables such as the list of messages in your
Inbox, <app>Cthulhu</app> will speak the entire row. If you would prefer
to hear only the cell with focus, you should uncheck this checkbox.
</p>
<p>
Default value: checked
</p>
</section>
<section id="speak_full_row_in_document_tables">
<title>Speak full row in document tables</title>
<p>
If <gui>Speak full row in document tables</gui> is checked, as you arrow
up and down in tables such as those found in <app>Writer</app> and web
documents, <app>Cthulhu</app> will speak the entire row. If you would prefer
to hear only the cell with focus, you should uncheck this checkbox.
</p>
<p>
Default value: checked
</p>
</section>
<section id="speak_full_row_in_spreadsheets">
<title>Speak full row in spreadsheets</title>
<p>
If <gui>Speak full row in spreadsheets</gui> is checked, as you arrow
up and down in spreadsheets, <app>Cthulhu</app> will speak the entire
row. If you would prefer to hear only the cell with focus, you should
uncheck this checkbox.
</p>
<p>
Default value: not checked
</p>
</section>
</section>
</page>

View File

@ -0,0 +1,65 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_spellcheck">
<info>
<link type="guide" xref="preferences#application" />
<title type="sort">4. Spell Check</title>
<title type="link">Spell Check</title>
<desc>
Configuring <app>Cthulhu</app>'s support for Spell Check
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Spell Check Preferences</title>
<p>
<app>Cthulhu</app> tries to provide a consistent user experience when interacting
with application spell checkers. For applications where this enhanced support
has been provided, you will find several options which you can adjust to get
the verbosity level that works best for you.
</p>
<note style="tip">
<title>You can have both brief and verbose spell check information</title>
<p>
If you normally want very little verbosity when using a spell checker,
but occasionally need detailed information about a given error, you can
disable these options. When you need additional details, just use
<app>Cthulhu</app>'s detailed <link xref="howto_whereami">Where Am I</link>
command to have <app>Cthulhu</app> present the current error as if all of these
options were enabled.
</p>
</note>
<section id="spell_error">
<title>Spell error</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will spell out the misspelled
word after speaking it.
</p>
<p>
Default value: checked
</p>
</section>
<section id="spell_suggestion">
<title>Spell suggestion</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will spell out the suggested
correction after speaking it.
</p>
<p>
Default value: checked
</p>
</section>
<section id="error_context">
<title>Present context of error</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will speak the sentence or
line from the document in which the error is found.
</p>
<p>
Default value: checked
</p>
</section>
</page>

View File

@ -0,0 +1,69 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic"
id="preferences_table_navigation">
<info>
<link type="guide" xref="preferences#application" />
<link type="next" xref="preferences_chat" />
<link type="seealso" xref="commands_structural_navigation" />
<link type="seealso" xref="commands_table" />
<title type="sort">2. Table Navigation</title>
<title type="link">Table Navigation</title>
<desc>
Configuring <app>Cthulhu</app>'s navigation within tables
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Table Navigation Preferences</title>
<p>
The following options allow you to customize how <app>Cthulhu</app>
behaves when navigating within a table in
<link xref="howto_structural_navigation">Structural-Navigation</link>-enabled
applications.
</p>
<section id="speak_cell_coordinates">
<title>Speak cell coordinates</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will announce the coordinates
of each cell you navigate to.
</p>
<p>
Default value: checked
</p>
</section>
<section id="speak_multiple_cell_spans">
<title>Speak multiple cell spans</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will announce how many rows
and/or columns a cell spans when it spans more than one.
</p>
<p>
Default value: checked
</p>
</section>
<section id="announce_cell_header">
<title>Announce cell header</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will announce changes in the
header if the headers for the current cell can be determined.
</p>
<p>
Default value: checked
</p>
</section>
<section id="skip_blank_cells">
<title>Skip blank cells</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will skip blank cells when
you are using <app>Cthulhu</app>'s table structural navigation commands to
access the table.
</p>
<p>
Default value: not checked
</p>
</section>
</page>

View File

@ -0,0 +1,139 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic"
id="preferences_text_attributes">
<info>
<link type="guide" xref="preferences#cthulhu" />
<link type="next" xref="preferences_web" />
<link type="seealso" xref="howto_text_attributes" />
<title type="sort">8. Text Attributes</title>
<title type="link">Text Attributes</title>
<desc>
Configuring what formatting is presented
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Text Attributes Preferences</title>
<p>
The term "text attributes" refers to all of the font, style, alignment,
and other formatting associated with a given character or series of
characters. <app>Cthulhu</app>'s <gui>Text Attributes</gui> page allows you
to customize which text attributes <app>Cthulhu</app> will present in speech,
along with the order in which they should be presented, and which ones
<app>Cthulhu</app> will indicate in braille.
</p>
<section id="table">
<title>The text attributes table</title>
<p>
The text attributes table is where you specify what attributes will
and will not be presented and under what conditions. Each row consists
of four columns.
</p>
<list>
<item>
<p>
<gui>Attribute Name</gui>: The name of the text attribute.
</p>
</item>
<item>
<p>
<gui>Speak</gui>: Check this checkbox if you would like
<app>Cthulhu</app> to speak this attribute when you press
<keyseq><key>Cthulhu Modifier</key><key>F</key></keyseq>.
</p>
</item>
<item>
<p>
<gui>Mark in braille</gui>: Check this checkbox if you would
like <app>Cthulhu</app> to "underline" this attribute on your
braille display.
</p>
</item>
<item>
<p>
<gui>Present Unless</gui>: This editable field allows you to
specify when an enabled attribute is not of interest.
</p>
<p>
For example, by default the "underline" text attribute has a
value of "none". This causes <app>Cthulhu</app> to inform you
about underlined text as long as the text is actually underlined.
If you always want this attribute to be spoken irrespective of
whether or not the text is underlined, the <gui>Present unless</gui>
column should be empty for underline. In addition, you should be sure
that the <gui>Speak</gui> column for underline is checked.
</p>
</item>
</list>
</section>
<section id="reset">
<title>Undoing changes</title>
<p>
Beneath the list of text attributes, there is a <gui>Reset</gui> button
(<keyseq><key>Alt</key><key>R</key></keyseq>) which will restore
the values of the table to what they were when the dialog was
first displayed.
</p>
</section>
<section id="rearranging">
<title>Rearranging the order of presentation</title>
<p>
When you initially display the <gui>Text Attributes</gui> page, all of your enabled
attributes are placed at the top of the table in the order in which they
will be spoken. There are four buttons which can be used to rearrange
the order of presentation.
</p>
<list>
<item>
<p>
<gui>Move to top</gui> (<keyseq><key>Alt</key><key>T</key></keyseq>):
moves the selected attribute to the top of the list.
</p>
</item>
<item>
<p>
<gui>Move up</gui> (<keyseq><key>Alt</key><key>U</key></keyseq>):
moves the selected attribute up one row.
</p>
</item>
<item>
<p>
<gui>Move down</gui> (<keyseq><key>Alt</key><key>D</key></keyseq>):
moves the selected attribute down one row.
</p>
</item>
<item>
<p>
<gui>Move to bottom</gui> (<keyseq><key>Alt</key><key>B</key></keyseq>):
moves the selected attribute to the bottom of the list.
</p>
</item>
</list>
</section>
<section id="braille_indicator">
<title>Options for Configuring Braille "Underlining" for Formatting</title>
<p>
Beneath the push buttons is the <gui>Braille Indicator</gui> group
of radio buttons. Here you can select the cell or cells to be used
to indicate text which has at least one of the specified attributes.
</p>
<list>
<item>
<p><gui>None</gui>: Do not underline text attributes in braille (the default)</p>
</item>
<item>
<p><gui>Dot 7</gui>: Underline text attributes with only Dot 7</p>
</item>
<item>
<p><gui>Dot 8</gui>: Underline text attributes with only Dot 8</p>
</item>
<item>
<p><gui>Dots 7 and 8</gui>: Underline text attributes with both Dots 7 and Dots 8</p>
</item>
</list>
</section>
</page>

View File

@ -0,0 +1,138 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_voice">
<info>
<link type="guide" xref="preferences#cthulhu" />
<link type="next" xref="preferences_speech" />
<title type="sort">2.0 Voice</title>
<title type="link">Voice</title>
<desc>
Configuring the voice used by <app>Cthulhu</app>
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Voice Preferences</title>
<section id="voice_type_settings">
<title>Voice Type Settings</title>
<section id="voice_type">
<title>Voice type</title>
<p>
This combo box makes it possible for you to use different voices so that
you can better distinguish uppercase and linked text from other text,
and on-screen text from text added by <app>Cthulhu</app>.
</p>
<note style="tip">
<title>Configuring Multiple Voices</title>
<p>
For each voice you wish to configure, first select the
voice in the <gui>Voice type</gui> combo box. Then
configure the person, rate, pitch, and volume to be used
for that voice.
</p>
</note>
</section>
<section id="speech_system">
<title>Speech system</title>
<p>
This combo box allows you to select your preferred speech system from
those you have installed, such as Speech Dispatcher.
</p>
</section>
<section id="speech_synthesizer">
<title>Speech synthesizer</title>
<p>
This combo box allows you to select the speech synthesizer to be used
with your chosen Speech system.
</p>
</section>
<section id="person">
<title>Person</title>
<p>
This combo box allows you to choose which "person" or "speaker" should
be used with the selected voice. For instance, you might wish to have
David speak by default, but have hyperlinks spoken by Alice. Note that
what you find in the <gui>Person</gui> combo box will depend on which
speech synthesizers you have installed.
</p>
</section>
<section id="capitalization_style">
<title>Capitalization style</title>
<p>
This combo box allows you to choose which Speech Dispatcher capitalization
indication styles you wish to use in addition to <app>Cthulhu</app>'s
capitalization voice. The options, which are named using Speech Dispatcher's
terminology, are:
</p>
<list>
<item><p><gui>Icon</gui>: Plays a tone</p></item>
<item><p><gui>Spell</gui>: Speaks the word "capital"</p></item>
<item><p><gui>None</gui></p></item>
</list>
<note style="tip">
<title>This setting can be toggled on the fly</title>
<p>
<app>Cthulhu</app> also has a command to cycle through the available
capitalization styles. See <link xref="commands_speech_settings">
Speech Settings Commands</link> for more information.
</p>
</note>
<p>
Default value: none
</p>
</section>
<section id="rate_pitch_and_volume">
<title>Rate, Pitch, and Volume</title>
<p>
These three left-right sliders allow you to further customize the sound
of the person you have just selected.
</p>
</section>
</section>
<section id="global_voice_settings">
<title>Global Voice Settings</title>
<section id="pauses">
<title>Break speech into chunks between pauses</title>
<p>
Depending on the enabled speech settings, <app>Cthulhu</app> may have quite
a bit to say about a particular object such as its name, its role, its
state, its mnemonic, its tutorial message, and so on. Checking the
<gui>Break speech into chunks between pauses</gui> checkbox will cause
<app>Cthulhu</app> to insert brief pauses in between each of these pieces
of information.
</p>
<p>
Default value: checked
</p>
</section>
<section id="multicase_strings">
<title>Speak multicase strings as words</title>
<p>
In some text, and especially when working with code, one often comes
across a "word" consisting of several words with alternating case, such
as "MultiCaseString." Speech synthesizers do not always pronounce such
multicase strings correctly. Checking the <gui>Speak multicase strings
as words</gui> checkbox will cause <app>Cthulhu</app> to break a word like
"MultiCaseString" into separate words ("Multi," "Case," and "String")
prior to passing it along to the speech synthesizer.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="numbers_as_digits">
<title>Speak numbers as digits</title>
<p>
Checking the <gui>Speak numbers as digits</gui> checkbox will cause
<app>Cthulhu</app> to break a number like "123" into separate digits
("1," "2," and "3") prior to passing it along to the speech synthesizer.
</p>
<p>
Default value: not checked
</p>
</section>
</section>
</page>

223
help/C/preferences_web.page Normal file
View File

@ -0,0 +1,223 @@
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="preferences_web">
<info>
<link type="guide" xref="preferences#application" />
<link type="next" xref="preferences_table_navigation" />
<title type="sort">1. Web Navigation</title>
<title type="link">Web Navigation</title>
<desc>
Configuring <app>Cthulhu</app>'s support for <app>Firefox</app>,
<app>Thunderbird</app>, and <app>Chrome</app>/<app>Chromium</app>
</desc>
<credit type="author">
<name>Joanmarie Diggs</name>
<email>joanied@gnome.org</email>
</credit>
<license>
<p>Creative Commons Share Alike 3.0</p>
</license>
</info>
<title>Web Navigation Preferences</title>
<section id="page_navigation">
<title>Page Navigation</title>
<p>
The <gui>Page Navigation</gui> group of controls make it possible for you
to customize how <app>Cthulhu</app> presents, and allow you to interact with,
text and other content.
</p>
<section id="page_navigation_control_caret">
<title>Control caret navigation</title>
<p>
This checkbox toggles <app>Cthulhu</app>'s caret navigation on and off.
When it is on, <app>Cthulhu</app> takes control of the caret as you arrow
around within a page; when it is off, the browser's native caret navigation is
active.
</p>
<p>
Default value: checked
</p>
<note style="tip">
<title>This setting can be toggled on the fly</title>
<p>
To toggle this setting on the fly without saving it, use
<keyseq><key>Cthulhu Modifier</key><key>F12</key></keyseq>.
</p>
</note>
</section>
<section id="page_navigation_focus_caret">
<title>Automatic focus mode during caret navigation</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will automatically turn on
focus mode when you use caret navigation commands to navigate to a form
field. For example, pressing <key>Down</key> would allow you to move
into an entry but once you had done so, Cthulhu would switch to focus mode
and subsequent presses of <key>Down</key> would be controlled by the web
browser and not by Cthulhu. If this checkbox is not checked, <app>Cthulhu</app>
would continue to control what happens when you press <key>Down</key>,
thus making it possible to arrow out of the entry and continue reading.
</p>
<p>
Default value: not checked
</p>
<note style="tip">
<title>Manually switching between browse mode and focus mode</title>
<p>
In order to start or stop interacting with the focused form field,
use <keyseq><key>Cthulhu Modifier</key><key>A</key></keyseq> to switch
between browse mode and focus mode.
</p>
</note>
</section>
<section id="page_navigation_structural">
<title>Enable structural navigation</title>
<p>
This checkbox toggles <app>Cthulhu</app>'s
<link xref="howto_structural_navigation">Structural Navigation</link>
on and off. Structural Navigation allows you to navigate by elements
such as headings, links, and form fields.
</p>
<p>
Default value: checked
</p>
<note style="tip">
<title>This setting can be toggled on the fly</title>
<p>
To toggle this setting on the fly without saving it, use
<keyseq><key>Cthulhu Modifier</key><key>Z</key></keyseq>.
</p>
</note>
</section>
<section id="page_navigation_focus_structural">
<title>Automatic focus mode during structural navigation</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will automatically turn on
focus mode when you use structural navigation commands to navigate to a
form field. For example, pressing <key>E</key> to move to the next entry
would move focus there and also turn focus mode on so that your next press
of <key>E</key> would type an "e" into that entry. If this checkbox is not
checked, then <app>Cthulhu</app> will leave you in browse mode and your next
press of <key>E</key> would move you to the next entry on the page.
</p>
<p>
Default value: not checked
</p>
<note style="tip">
<title>Manually switching between browse mode and focus mode</title>
<p>
In order to start or stop interacting with the focused form field,
use <keyseq><key>Cthulhu Modifier</key><key>A</key></keyseq> to switch
between browse mode and focus mode.
</p>
</note>
</section>
<section id="page_navigation_focus_native">
<title>Automatic focus mode during native navigation</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will automatically turn on
focus mode when you use native browser navigation commands to navigate to a
form field. For example, pressing <key>Tab</key> to move to the next entry
would move focus there and also turn focus mode on so that your next press
of <key>E</key> would type an "e" into that entry. If this checkbox is not
checked, then <app>Cthulhu</app> will leave you in browse mode and your next
press of <key>E</key> would move you to the next entry on the page.
</p>
<p>
Default value: checked
</p>
<note style="tip">
<title>Manually switching between browse mode and focus mode</title>
<p>
In order to start or stop interacting with the focused form field,
use <keyseq><key>Cthulhu Modifier</key><key>A</key></keyseq> to switch
between browse mode and focus mode.
</p>
</note>
</section>
<section id="page_navigation_speak">
<title>Automatically start speaking a page when it is first loaded</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will perform a Say All on
the newly opened web page or email.
</p>
<p>
Default value: checked for Firefox; not checked for Thunderbird
</p>
</section>
<section id="page_navigation_summary">
<title>Present summary of a page when it is first loaded</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will summarize details about the
newly opened web page or email, such as the number of headings, landmarks,
and links.
</p>
<p>
Default value: checked for Firefox; not checked for Thunderbird
</p>
</section>
<section id="page_navigation_layout_mode">
<title>Enable layout mode for content</title>
<p>
If this checkbox is checked, <app>Cthulhu</app>'s caret navigation will respect
the on-screen layout of the content and present the full line, including any
links or form fields on that line. If this checkbox is not checked, <app>Cthulhu</app>
will treat objects such as links and form fields as if they were on separate
lines, both for presentation and navigation.
</p>
<p>
Default value: checked
</p>
</section>
</section>
<section id="table_options">
<title>Table Options</title>
<note>
<p>
To learn more about <app>Cthulhu</app>'s options for navigating within
tables, please see <link xref="preferences_table_navigation">Table
Navigation Preferences</link>.
</p>
</note>
</section>
<section id="find_options">
<title>Find Options</title>
<p>
The <gui>Find Options</gui> group of controls make it possible for you to
customize how <app>Cthulhu</app> presents the results of a search conducted
using the application's built-in search functionality.
</p>
<section id="find_options_speak_during_find">
<title>Speak results during find</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will read the line which
matches your current search query.
</p>
<p>
Default value: checked
</p>
</section>
<section id="find_options_speak_changed_lines_during_find">
<title>Only speak changed lines during find</title>
<p>
If this checkbox is checked, <app>Cthulhu</app> will not present the
matching line if it is the same line as the previous match. This
option is designed to prevent "chattiness" on a line with multiple
instances of the string for which you are searching.
</p>
<p>
Default value: not checked
</p>
</section>
<section id="find_options_minimum_match_length">
<title>Minimum length of matched text</title>
<p>
This editable spin button is where you can specify the number of
characters which must match before <app>Cthulhu</app> announces the
matching line. This option is also designed to prevent "chattiness"
as there are many matches when you first begin typing the string
for which you are searching.
</p>
<p>
Default value: 4
</p>
</section>
</section>
</page>

61
help/Makefile.am Normal file
View File

@ -0,0 +1,61 @@
@YELP_HELP_RULES@
HELP_ID = cthulhu
HELP_MEDIA = \
figures/cthulhu-logo.png
HELP_FILES = \
commands_bookmarks.page \
commands_braille.page \
commands_chat.page \
commands_controlling_cthulhu.page \
commands_debugging.page \
commands_find.page \
commands_flat_review.page \
commands_live_regions.page \
commands_mouse.page \
commands.page \
commands_profiles.page \
commands_reading.page \
commands_speech_settings.page \
commands_structural_navigation.page \
commands_table.page \
commands_time_date_notifications.page \
commands_where_am_i.page \
howto_bookmarks.page \
howto_documents.page \
howto_flat_review.page \
howto_forms.page \
howto_key_bindings.page \
howto_keyboard_layout.page \
howto_learn_modes.page \
howto_live_regions.page \
howto_mouse_review.page \
howto_notifications.page \
howto_cthulhu_find.page \
howto_profiles.page \
howto_setting_up_cthulhu.page \
howto_structural_navigation.page \
howto_tables.page \
howto_text_attributes.page \
howto_the_cthulhu_modifier.page \
howto_toggling_caps_lock.page \
howto_whereami.page \
index.page \
introduction.page \
preferences_braille.page \
preferences_chat.page \
preferences_web.page \
preferences_general.page \
preferences_introduction.page \
preferences_key_bindings.page \
preferences_key_echo.page \
preferences.page \
preferences_pronunciation.page \
preferences_speech.page \
preferences_spellcheck.page \
preferences_table_navigation.page \
preferences_text_attributes.page \
preferences_voice.page
HELP_LINGUAS = bg cs da de el es fr gl hu id pt_BR ru sl sv uk

7913
help/bg/bg.po Normal file

File diff suppressed because it is too large Load Diff

8175
help/cs/cs.po Normal file

File diff suppressed because it is too large Load Diff

8202
help/da/da.po Normal file

File diff suppressed because it is too large Load Diff

8380
help/de/de.po Normal file

File diff suppressed because it is too large Load Diff

8673
help/el/el.po Normal file

File diff suppressed because it is too large Load Diff

10062
help/es/es.po Normal file

File diff suppressed because it is too large Load Diff

8393
help/fr/fr.po Normal file

File diff suppressed because it is too large Load Diff

6975
help/gl/gl.po Normal file

File diff suppressed because it is too large Load Diff

8437
help/hu/hu.po Normal file

File diff suppressed because it is too large Load Diff

9043
help/id/id.po Normal file

File diff suppressed because it is too large Load Diff

9223
help/pt_BR/pt_BR.po Normal file

File diff suppressed because it is too large Load Diff

8296
help/ru/ru.po Normal file

File diff suppressed because it is too large Load Diff

6901
help/sl/sl.po Normal file

File diff suppressed because it is too large Load Diff

8456
help/sv/sv.po Normal file

File diff suppressed because it is too large Load Diff

8324
help/uk/uk.po Normal file

File diff suppressed because it is too large Load Diff

9
icons/AUTHORS Normal file
View File

@ -0,0 +1,9 @@
Cthulhu icon created by Stephen Brandt.
stephen@stephenbrandt.com
http://www.stephenbrandt.com/
This artwork is available under the terms of the GNU Lesser General Public License.
http://www.gnu.org/licenses/lgpl.html
This icon follows the Tango visual guidelines.
http://tango-project.org/

504
icons/COPYING Normal file
View File

@ -0,0 +1,504 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library 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 GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

57
icons/Makefile.am Normal file
View File

@ -0,0 +1,57 @@
hicolordir = $(datadir)/icons/hicolor
app_icons = \
cthulhu-16x16.png \
cthulhu-22x22.png \
cthulhu-24x24.png \
cthulhu-32x32.png \
cthulhu-48x48.png \
cthulhu-256x256.png \
cthulhu-scalable.svg \
cthulhu-symbolic.svg
install-data-local:
@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/16x16/apps
$(INSTALL_DATA) $(srcdir)/cthulhu-16x16.png $(DESTDIR)$(hicolordir)/16x16/apps/cthulhu.png
@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/22x22/apps
$(INSTALL_DATA) $(srcdir)/cthulhu-22x22.png $(DESTDIR)$(hicolordir)/22x22/apps/cthulhu.png
@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/24x24/apps
$(INSTALL_DATA) $(srcdir)/cthulhu-24x24.png $(DESTDIR)$(hicolordir)/24x24/apps/cthulhu.png
@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/32x32/apps
$(INSTALL_DATA) $(srcdir)/cthulhu-32x32.png $(DESTDIR)$(hicolordir)/32x32/apps/cthulhu.png
@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/48x48/apps
$(INSTALL_DATA) $(srcdir)/cthulhu-48x48.png $(DESTDIR)$(hicolordir)/48x48/apps/cthulhu.png
@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/scalable/apps
$(INSTALL_DATA) $(srcdir)/cthulhu-scalable.svg $(DESTDIR)$(hicolordir)/scalable/apps/cthulhu.svg
@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/symbolic/apps
$(INSTALL_DATA) $(srcdir)/cthulhu-symbolic.svg $(DESTDIR)$(hicolordir)/symbolic/apps/cthulhu-symbolic.svg
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi
uninstall-hook:
rm -f $(DESTDIR)$(hicolordir)/16x16/apps/cthulhu.png
rm -f $(DESTDIR)$(hicolordir)/22x22/apps/cthulhu.png
rm -f $(DESTDIR)$(hicolordir)/24x24/apps/cthulhu.png
rm -f $(DESTDIR)$(hicolordir)/32x32/apps/cthulhu.png
rm -f $(DESTDIR)$(hicolordir)/48x48/apps/cthulhu.png
rm -f $(DESTDIR)$(hicolordir)/scalable/apps/cthulhu.svg
rm -f $(DESTDIR)$(hicolordir)/symbolic/apps/cthulhu-symbolic.svg
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After uninstall, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi
update-icon-cache:
EXTRA_DIST = $(app_icons)

BIN
icons/cthulhu-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 B

BIN
icons/cthulhu-22x22.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Some files were not shown because too many files have changed in this diff Show More