This is emacspeak.info, produced by makeinfo version 7.1 from
emacspeak.texi.

INFO-DIR-SECTION Accessibility
START-INFO-DIR-ENTRY
* Emacspeak:(emacspeak).		Speech-enabled Audio Desktop.
END-INFO-DIR-ENTRY

INFO-DIR-SECTION Emacs
START-INFO-DIR-ENTRY
* Emacspeak:(emacspeak).		Speech-enabled Audio Desktop.
END-INFO-DIR-ENTRY

This manual documents *Emacspeak, The Complete Audio Desktop* and was
last updated on April 30, 2024.


File: emacspeak.info,  Node: Top,  Next: Copyright,  Up: (dir)

Emacspeak
*********

The manual is divided into the following chapters:

* Menu:

* Copying: Copyright.
* Announce: Announce.
* Background: Background.
* Introduction: Introduction.
* Installation: Installation.
* Basic Usage: Basic Usage.
* Audio Desktop: Audio Desktop.
* Voice Lock: Voice Lock.
* Using Online Help: Using Online Help.
* Emacs Packages:  Emacs Packages.
* Emacspeak Keymaps: Emacspeak Keymaps.
* Emacspeak Commands And Options:  Emacspeak Commands And Options.
* Running Terminal Based Applications: Running Terminal Based Applications.
* Emacspeak Keyboard Commands: Emacspeak Keyboard Commands.
* TTS Servers:  TTS Servers.
*  Emacspeak At Twenty: Emacspeak At Twenty.
* Acknowledgments: Acknowledgments.

Indices:
* Concept Index: Concept Index.
* Key Index: Key Index.
* Function Index: Function Index.
* Variable Index: Variable Index.


File: emacspeak.info,  Node: Copyright,  Next: Announce,  Prev: Top,  Up: Top

1 Copyright
***********

This manual documents Emacspeak, a speech extension to Emacs.

   Copyright (C)1994 - 2020 T. V. Raman All Rights Reserved.

   Permission is granted to make and distribute verbatim copies of this
manual without charge provided the copyright notice and this permission
notice are preserved on all copies.  Sections of this manual are
auto-generated from the source code, and the documentation inherits the
same license as the original source code.


File: emacspeak.info,  Node: Announce,  Next: Background,  Prev: Copyright,  Up: Top

2 Announcing Emacspeak Manual 2nd Edition As An Open Source Project
*******************************************************************

This is to announce the launch of a new open source project to create a
user manual for Emacspeak -- an Emacs speech extension that provides a
complete audio desktop.

* Menu:

* Contributing: Contributing.
* Authoring Guidelines: Authoring Guidelines.
* Credits: Credits.


File: emacspeak.info,  Node: Contributing,  Next: Authoring Guidelines,  Up: Announce

2.1 How To Contribute To This Manual
====================================

This manual is organized as a series of chapters, with each chapter in a
separate file.  If you feel capable of contributing to a specific
section, send out a message to the Emacspeak mailing list
<mailto:emacspeak@emacspeak.net>, stating your intention to work on a
section.  You can then start adding content to a local copy of the
chapter to which you are contributing.  When you feel you have something
to submit, send out a Github Pull Request.


File: emacspeak.info,  Node: Authoring Guidelines,  Next: Credits,  Prev: Contributing,  Up: Announce

2.2 Authoring Guidelines
========================

For this manual to hang together and make sense to the new user at whom
it is targeted, contributors need to stick to a consistent style.  If
you plan to contribute content, you should take some time to read the
existing sections -- note that many of these are skeletal and the first
contributions will be to flesh these sections out.

   If you are familiar with texinfo, go ahead and mark up your content
using texinfo.  If you are not, simply author the documentation you
create as plain formatted ASCII. If you do submit files as texinfo
source, make sure to validate them at your end first by running the
files through ‘makeinfo’ -- badly created or malformed texinfo source
takes more time to fix than marking up straight text.


File: emacspeak.info,  Node: Credits,  Prev: Authoring Guidelines,  Up: Announce

2.3 Credits
===========

This initial version draws heavily from the original Emacspeak user
manual, and includes contributions from Jim Van Zandt and Jason White.
Authors who contribute complete sections will be acknowledged here as
well as in the specific section they author.


File: emacspeak.info,  Node: Background,  Next: Introduction,  Prev: Announce,  Up: Top

3 Background
************

Emacspeak was originally developed in late 1994 and released as Open
Source in May 1995.  Since then, the system has been regularly updated
every six months to provide an up-to-date _Audio Desktop_.  Here is a
brief overview of some of the significant aspects of the system, and the
lessons learnt from its development and use.  The work on Emacspeak was
presented at CHI96 and the co-located Assets96 conference in Vancouver,
BC. This overview is being written nearly 15 years later to trace the
impact of the work.

* Menu:

* Speech-Enabling Applications::
* Audio Formatting And Aural CSS::
* Auditory Icons::
* Summary::


File: emacspeak.info,  Node: Speech-Enabling Applications,  Next: Audio Formatting And Aural CSS,  Up: Background

3.1 Speech-Enabling Applications
================================

The underlying thesis behind AsTeR (Audio System For Technical Readings)
and later Emacspeak is that information is display-independent.  This
leads to the insight that producing auditory renderings of information
starting from the true source of that information often produces better
renderings than those that result from working from a modality-specific
representation; thus, attempting to speak visually rendered information
can often prove sub-optimal.  AsTeR applied these ideas to documents
authored in LaTeX; Emacspeak generalized these ideas to user interfaces.

   Emacspeak was therefore designed from the ground-up to enable
applications generate their own spoken feedback, rather than having an
external software program construct the spoken feedback by responding to
events in its environment.

   In Emacspeak, theory meets practice to deliver a working
implementation; Emacspeak leverages the power of Emacs and its embedded
Lisp interpreter to inject spoken feedback into applications that run
within Emacs.  For a detailed overview on how the _advice_ mechanism in
Emacs is used, see the original Assets96 paper, as well as the chapter
on Emacspeak in the OReilly publication entitled Beautiful Code
(http://emacspeak.sourceforge.net/raman/publications/bc-emacspeak/publish-emacspeak-bc.html).


File: emacspeak.info,  Node: Audio Formatting And Aural CSS,  Next: Auditory Icons,  Prev: Speech-Enabling Applications,  Up: Background

3.2 Audio Formatting And Aural CSS
==================================

AsTeR introduced the notion of _audio formatting_ a concept analogous to
the well-understood notion of visual formatting.  The work on AsTeR
coincided with the Web being at its infancy.  As the Web evolved to
acquire Cascaded Style Sheets (CSS), ideas from AsTeR were used to
define Aural CSS as an appendix to CSS1 in 1995.  Emacspeak proved an
ideal platform to prototype the ideas within Aural CSS -- first within
the Emacs/W3 browser.  Around this time, Emacs itself evolved to support
multiple fonts and _font-locking_ to implement syntax coloring for
various types of content.  Emacspeak applied the ideas of audio
formatting to create the auditory analog of _font-lock_ -- Emacspeak
calls this _voice locking_.

   Voice locking in Emacspeak continues to be a unique feature among
systems that provide auditory feedback.  Later in 1997, Emacspeak's
implementation was overhauled to use Aural CSS for all aspects of
voice-locking, rather than just for Web content.


File: emacspeak.info,  Node: Auditory Icons,  Next: Summary,  Prev: Audio Formatting And Aural CSS,  Up: Background

3.3 Auditory Icons
==================

Emacspeak augments spoken feedback with short auditory icons that vastly
speed up interaction.  Combined with audio formatting, the resulting
experience is analogous to moving from a monochrome character-cell
display to a high-quality color display -- the overall user experience
is rich in comparison.  This enabled Emacspeak to explore innovative
means of auditory communication -- as an example, see my Assets-98 paper
entitled _Conversational Gestures For The Audio Desktop_ that details
how one can play Tetris on the Emacspeak desktop.


File: emacspeak.info,  Node: Summary,  Prev: Auditory Icons,  Up: Background

3.4 Summary
===========

The lessons learnt from developing Emacspeak are many -- here are a few
highlights:

   • A model for browsing tabular data -- see relevant chapter in my
     book _Auditory User Interfaces_

   • Audio formatting and Aural CSS

   • Auditory icons for efficient feedback.

   • Web widgets for rapid task completion on the Web.

   And many more than will fit this margin.


File: emacspeak.info,  Node: Introduction,  Next: Installation,  Prev: Background,  Up: Top

4 Introduction
**************

Emacspeak provides a complete audio desktop by speech-enabling all of
Emacs.

   In the past, screen reading programs have allowed visually impaired
users to get feedback using synthesized speech.  Such programs have been
commercially available for a long time.  Most of them originally ran on
PC's under DOS, and have moved over to the Windows environment.
However, screen-readers for the UNIX environment have been conspicuous
in their absence.  Note that this is now changing with the availability
of console-level Linux screenreaders such as ‘speakup’.  Such Linux
screenreaders provide the same level of UNIX accessibility provided in
the late 80's by PC terminal emulators running a DOS screenreader.  This
means that most visually impaired computer users face the additional
handicap of being DOS-impaired -- a far more serious problem:-)

   Emacspeak is an emacs subsystem that provides complete speech access.
It is *not* a screen-reader -- rather, it is a complete user environment
with built-in speech feedback.  Emacspeak has a significant advantage;
since it runs inside Emacs, a structure-sensitive, fully customizable
environment, Emacspeak has more context-specific information about what
it is speaking than its screenreader counterparts.  This is why
Emacspeak is not a "screenreader", it is a system that produces speech
output.

   A Traditional screen-reader speaks the content of the screen, leaving
it to the user to interpret the visual layout.  Emacspeak, on the other
hand, treats speech as a first-class output modality; it speaks the
information in a manner that is easy to comprehend when listening.

   The basic concepts used by Emacspeak are simple; all interactive
Emacs commands have been adapted to provide speech feedback.  Hence, you
use Emacs as normal; Emacspeak works behind the scene to give audio
feedback in addition to updating the screen.

   Emacspeak consists of a core speech system that provides speech and
audio services to the rest of the Emacspeak desktop;
application-specific extensions provide context-specific spoken feedback
using these services.  Emacspeak currently comes with speech extensions
for several popular Emacs subsystems and editing modes.  I would like to
thank their respective authors for their wonderful work which makes
Emacs more than a text editor(1).

   ---------- Footnotes ----------

   (1) I have now been using Emacspeak under Linux as the only source of
speech feedback since 1994.


File: emacspeak.info,  Node: Installation,  Next: Basic Usage,  Prev: Introduction,  Up: Top

5 Installation Instructions
***************************

This chapter gives brief and detailed installation instructions for
configuring, installing and starting Emacspeak.

* Menu:

* Obtaining Emacspeak::         Obtaining Emacspeak.
* Quick Installation::          Default installation  and startup.
* Building And Testing The Speech Server::


File: emacspeak.info,  Node: Obtaining Emacspeak,  Next: Quick Installation,  Up: Installation

5.1 Obtaining Emacspeak
=======================

Emacspeak is available on the Internet at:
WWW
     <http://emacspeak.sourceforge.net>
Git Repository
     <https://github.com/tvraman/emacspeak>
Mail List
     <emacspeak@emacspeak.net>
List Request
     <emacspeak-request@emacspeak.net>

   The Emacspeak mailing list is maintained by Greg E. Priest-Dorman.
If you are using Emacspeak, you should join the list by sending mail to
the request address, <mailto:emacspeak-request@emacspeak.net>.


File: emacspeak.info,  Node: Quick Installation,  Next: Building And Testing The Speech Server,  Prev: Obtaining Emacspeak,  Up: Installation

5.2 Quick Installation
======================

Here are the quick installation instructions.  See the next section for
detailed installation instructions.

   Packages for Linux distributions such as Debian typically become
available on the WWW a few weeks or months after a new version is
released.  The instructions below are for building and installing
Emacspeak from the source distribution.  If you install one of the
prepackaged distributions, use the install instructions that come with
that package.

   • Obtain the source code -- either by downloading the tar.bz2 file
     for the latest release -- or by cloning the git repository.

          git clone https://github.com/tvraman/emacspeak

   • Change to the ‘emacspeak’ directory.

   • Type ‘make config’ to configure the sources.

   • Type ‘make’ to compile the files.

   • Next, decide which text-to-speech engine you will be using, and
     proceed to install that engine.  Your choices are:

        • Open Source ESpeak on Linux.  Install the ESpeak packages for
          your system, then compile the Emacspeak ESpeak server by
          doing:

               cd servers/native-espeak
               make

        • ViaVoice Outloud (AKA Eloquent).  You need to purchase this
          engine from the voxin site.  That purchase will give you
          install-ready packages for installing the speech engine as
          well as Emacspeak.  See <https://voxin.oralux.net/rss.xml> for
          the latest packages, and <https://voxin.oralux.net> for the
          main Voxin Web site.

        • On the Mac, you can use the builtin Mac TTS engine --
          emacspeak comes with a speech server for that TTS engine
          written in Python.

   • Having installed and configured the TTS engine of your choice, and
     having built the associated speech server, set Emacspeak up to use
     that engine by setting environment variable ‘DTK_PROGRAM’.  If
     using ‘bash’ as your shell, add the line

          export DTK_PROGRAM=<ENGINE-NAME>

     to your ‘.bash_profile’.

     As an example, to use ESpeak, add

          export DTK_PROGRAM=espeak

   • Run it by adding the line

          (load-file "<EMACSPEAK-DIR>/lisp/emacspeak-setup.el")

     to the top of your .emacs file.

     In the above, <EMACSPEAK-DIR> refers to the directory where you
     unpacked the sources.

   See the next section for details on building and testing the speech
server.


File: emacspeak.info,  Node: Building And Testing The Speech Server,  Prev: Quick Installation,  Up: Installation

5.3 Building And Testing The Speech Server
==========================================

5.3.1 Speech Servers
--------------------

Speech servers are located in the ‘emacspeak/servers’ directory.

   • ESpeak: ‘servers/espeak’.  This is a TCL script that uses a library
     built in ‘servers/native-espeak/’.

   • Dectalk: ‘servers/dtk-exp’.  This is a TCL script that does not
     depend on any native code.

   • Outloud: ‘servers/outloud’ or ‘servers/32-outloud’ (for 64-bit
     machines).  This is a TCL script that uses the library built in
     ‘servers/linux-outloud’.  Note that a checkout from GitHub gives
     you a prebuilt library -- however you will need to purchase the TTS
     engine from <http://voxin.oralux.net>.

   • Mac: ‘servers/mac’.  This is a Python script that binds to the
     native Mac TTS.

5.3.1.1 Testing The Selected Server.
....................................

Once you have picked the TTS engine to use, run the selected server
script at a shell prompt, e.g.  for the ‘espeak’ engine, execute:

     ./servers/espeak

   This will result in a TCL prompt.  Here, you can test the TTS engine
by typing

     q "this is a test."
     d

   You should hear the TTS engine speak the text.

   Type ‘s’ to stop speech.  You should see a TCL prompt when you
execute it.

   Quit this TCL session by typing ‘C-d’ (an end-of-file character).


File: emacspeak.info,  Node: Basic Usage,  Next: Audio Desktop,  Prev: Installation,  Up: Top

6 Basic Usage.
**************

This chapter gives an overview of how to use Emacspeak; for a full
listing of Emacspeak keybindings, see *Note emacspeak::.  Note: This
documentation should be used in conjunction with the online Emacs info
pages that extensively document Emacs itself.  These sections briefly
describe the speech-enabling extensions.  However, they should not be
considered a substitute for reading the Emacs manual.  How successfully
you use Emacspeak will depend on how well you learn your Emacs.

   All Emacs navigation and editing commands have been speech enabled.
Thus, moving to the next or previous word, line or paragraph results in
the text around point being spoken.  Exactly how much text is spoken is
determined by the amount by which you moved.

   In addition, Emacspeak provides basic reading functions that can be
invoked to listen to chunks of text without moving.

* Menu:

* Overview::                     Basic Overview.
* Working::                      Working in Emacspeak.
* Reading::                      Reading chunks of information.
* Speech System::                Controlling Speech Output.
* Voice-lock::                   Audio Formatting.
* Status Information::           Speaking Status Information.


File: emacspeak.info,  Node: Overview,  Next: Working,  Up: Basic Usage

6.1 Emacspeak Overview
======================

Emacspeak provides a small number of core services around which the
remainder of the audio interface is constructed.  These essential
features of the software are briefly outlined in the following
paragraphs; the commands by which they can be controlled will be
described later in the manual.

   Apart from providing a fluent spoken interface to all of Emacs' basic
editing functions, Emacspeak also includes software modules which add
speech feedback to a range of applications that can be run from within
Emacs.  In this sense, Emacspeak amounts to much more than a talking
text editor; indeed, it can more aptly be characterized as a true "audio
desktop", in which speech is treated as a first-class output modality.

   Emacspeak implements a special minor mode, known as "voice lock mode"
(*note Voice-lock::) which uses distinct speech characteristics to
provide aural highlighting of specific textual constructs, such as
comments in program code, quoted strings and reserved words *Note Voice
Lock::.  This facility is further extended when Emacspeak is used with
the ‘EWW’ and ‘W3’ Web browsers, to enable the semantic and structural
distinctions captured by the HTML markup to be communicated efficiently
*Note Web Browsing::.

   It is often desirable to exercise control over the pronunciation of a
word (E.G. a technical term or a reserved word in a programming
language) within specific contexts.  Emacspeak maintains pronunciation
dictionaries for this purpose, which may be customized by the user.
Moreover, individual dictionaries can be activated selectively,
depending for example on the current major mode or the name of the file
which is being visited *Note emacspeak-pronounce::.

   In addition to spoken feedback, Emacspeak can generate "auditory
icons" -- short sound cues which alert the user to significant events,
for example the opening or deletion of a file, the completion of an
action, the arrival of an electronic mail message or the creation of a
completion buffer.  Sound cues act as a supplement to the spoken
interface, and are especially valuable to the experienced user in
facilitating rapid interaction.  Note that in order to support auditory
icons, the computer must be equipped with sound hardware for which the
operating system has been correctly configured *Note emacspeak-sounds::.


File: emacspeak.info,  Node: Working,  Next: Reading,  Prev: Overview,  Up: Basic Usage

6.2 Using Emacs Buffers
=======================

While typing in an Emacs buffer, hitting space speaks the recently typed
word.  I use completion all the time; so Emacspeak will speak the
completion just inserted as well as the next possible completion.  In
Emacs, use ‘M-x load-library <RETURN> completion <RETURN>’ for loading
the completion package.

   The standard Emacs prompting functions have also been speech-enabled.
Emacs prompts with available lists of completions in response to partial
input wherever appropriate -- all forms of completion provide speech
feedback.

   In addition, Emacspeak provides a number of commands for reading
portions of the current buffer, getting status information, and
modifying Emacspeak's state.

   All of the commands are documented in the subsequent sections.  They
can be classified into types:

   • Emacspeak commands for listening to chunks of information.  The
     names of these commands all start with the common prefix
     ‘emacspeak-speak-’.  All Emacspeak commands are bound to the keymap
     EMACSPEAK-KEYMAP and are accessed with the key ‘C-e’(1).  Thus, the
     Emacspeak command “emacspeak-speak-line” is bound to ‘l’ in keymap
     EMACSPEAK-KEYMAP and can be accessed with the keystroke ‘C-e l’.
     If for some reason you wish to use some key other than ‘C-e’ as the
     common keyboard prefix for all Emacspeak commands, set the variable
     EMACSPEAK-PREFIX.

   • The second category of commands provided by Emacspeak manipulate
     the state of the speech device.  The names of these commands start
     with the common prefix ‘dtk-’ and are bound in keymap
     EMACSPEAK-DTK-SUBMAP.

     You can access these commands via the prefix ‘C-e d’ (2).  Thus,
     the command “dtk-set-rate” is bound to ‘r’ in keymap
     EMACSPEAK-DTK-SUBMAP and can be executed by pressing ‘C-e d r’.

   Emacs has extensive online help; so does emacspeak.  Please use it.

   This info manual is only to get you started.  You can get a summary
of Emacspeak's features by pressing ‘C-h C-e’

   ---------- Footnotes ----------

   (1) C-e is mnemonic for Emacspeak.

   (2) Historically, d was mnemonic for Dectalk; note that nothing in
Emacspeak is DECTalk specific.


File: emacspeak.info,  Node: Reading,  Next: Speech System,  Prev: Working,  Up: Basic Usage

6.3 Reading Without Moving
==========================

Emacspeak speaks information as you move around within a buffer.  How
much text is spoken depends on how you move, thus, when you move by
words, you hear the current word; when you move by paragraphs, you hear
the current paragraph spoken.  In addition, the following commands allow
you to listen to information without moving point (point is emacs
terminology for the editing cursor).

   Reading without moving point:

‘C-e c’
     ‘emacspeak-speak-char’

     Speak character under point.  Pronounces character phonetically
     unless called with a PREFIX arg.

‘C-e w’
     ‘emacspeak-speak-word’

     Speak current word.  With prefix ARG, speaks the rest of the word
     from point.  Negative prefix arg speaks from start of word to
     point.  If executed on the same buffer position a second time, the
     word is spelled instead of being spoken.

‘C-e l’
     ‘emacspeak-speak-line’

     Speaks current line.  With prefix ARG, speaks the rest of the line
     from point.  Negative prefix optional arg speaks from start of line
     to point.  Voicifies if option 'voice-lock-mode' is on.  Indicates
     indentation with a tone or a spoken cue if audio indentation is in
     use.  Indicates position of point with an aural highlight if option
     'emacspeak-show-point' is turned on -- see command
     ‘emacspeak-show-point’ bound to ‘C-e C-d’.  Lines that start hidden
     blocks of text, e.g.  outline header lines, or header lines of
     blocks created by command 'emacspeak-hide-or-expose-block' are
     indicated with auditory icon ellipses.

‘C-e <UP>’
     ‘emacspeak-read-previous-line’

     Read previous line, specified by an offset, without moving.
     Default is to read the previous line.

‘C-e <DOWN>’
     ‘emacspeak-read-next-line’

     Read next line, specified by an offset, without moving.  Default is
     to read the next line.

‘C-e p’
     ‘emacspeak-speak-paragraph’

     Speak paragraph.  With prefix arg, speaks rest of current
     paragraph.  Negative prefix arg will read from start of current
     paragraph to point.  If voice-lock-mode is on, then it will use any
     defined personality.

‘C-e r’
     ‘emacspeak-speak-region’

     Speak current region delimited by “point” and “mark”.  When called
     from a program, argument START and END specify region to speak.

‘C-e cap R’
     ‘emacspeak-speak-rectangle’

     Speak a rectangle of text.  Rectangle is delimited by point and
     mark.  When call from a program, arguments specify the START and
     END of the rectangle.

‘C-e b’
     ‘emacspeak-speak-buffer’

     Speak current buffer contents.  With prefix ARG, speaks the rest of
     the buffer from point.  Negative prefix arg speaks from start of
     buffer to point.  If voice lock mode is on, the paragraphs in the
     buffer are voice annotated first, see command
     ‘emacspeak-speak-voice-annotate-paragraphs’.  This provides the
     auditory equivalent of *dropped caps* from visual typography.

‘C-e n’
     ‘emacspeak-speak-rest-of-buffer’

     Speak remainder of the buffer starting at point

‘C-e /’
     ‘emacspeak-speak-this-buffer-other-window-display’

     Speak this buffer as displayed in a different frame.  Emacs allows
     you to display the same buffer in multiple windows or frames.
     These different windows can display different portions of the
     buffer.  This is equivalent to leaving a book open at places at
     once.  This command allows you to listen to the places where you
     have left the book open.  The number used to invoke this command
     specifies which of the displays you wish to speak.  Typically you
     will have two or at most three such displays open.  The current
     display is 0, the next is 1, and so on.  Optional argument ARG
     specifies the display to speak.

‘C-e <LEFT>’
     ‘emacspeak-speak-this-buffer-previous-display’

     Speak this buffer as displayed in a 'previous' window.  See
     documentation for command
     ‘emacspeak-speak-this-buffer-other-window-display’ for the meaning
     of 'previous'.

‘C-e <RIGHT>’
     ‘emacspeak-speak-this-buffer-next-display’

     Speak this buffer as displayed in a 'previous' window.  See
     documentation for command
     ‘emacspeak-speak-this-buffer-other-window-display’ for the meaning
     of 'previous'.

‘C-e [’
     ‘emacspeak-speak-page’

     Speak a page.  With prefix ARG, speaks rest of current page.
     Negative prefix arg will read from start of current page to point.
     If option 'voice-lock-mode' is on, then it will use any defined
     personality.

‘C-e DIGIT’
     ‘emacspeak-speak-predefined-window’

     Speak one of the first 10 windows on the screen.  In general,
     you'll never have Emacs split the screen into more than two or
     three.  Argument ARG determines the 'other' window to speak.
     Speaks entire window irrespective of point.  Semantics of 'other'
     is the same as for the builtin Emacs command 'other-window'.

‘C-e C-n’
     ‘emacspeak-speak-next-window’

     Speak the next window.

‘C-e C-p’
     ‘emacspeak-speak-previous-window’

     Speak the previous window.

‘emacspeak-speak-other-window’
     Speak contents of 'other' window.  Speaks entire window
     irrespective of point.  Semantics of 'other' is the same as for the
     builtin Emacs command 'other-window'.  Optional argument ARG
     specifies 'other' window to speak.

‘<ESCAPE> <UP>’
     ‘emacspeak-owindow-previous-line’

     Move to the next line in the other window and speak it.  Numeric
     prefix arg COUNT specifies number of lines to move.

‘<ESCAPE> <DOWN>’
     ‘emacspeak-owindow-next-line’

     Move to the next line in the other window and speak it.  Numeric
     prefix arg COUNT can specify number of lines to move.

‘<ESCAPE> next’
     ‘emacspeak-owindow-scroll-up’

     Scroll up the window that command 'other-window' would move to.
     Speak the window contents after scrolling.

‘<ESCAPE> prior’
     ‘emacspeak-owindow-scroll-down’

     Scroll down the window that command 'other-window' would move to.
     Speak the window contents after scrolling.

‘emacspeak-speak-sexp’
     Speak current sexp.  With prefix ARG, speaks the rest of the sexp
     from point.  Negative prefix arg speaks from start of sexp to
     point.

‘C-e meta C-@’
     ‘emacspeak-speak-spaces-at-point’ Speak the white space at point.


File: emacspeak.info,  Node: Speech System,  Next: Voice-lock,  Prev: Reading,  Up: Basic Usage

6.4 Speech System Commands
==========================

This section documents Emacspeak's various user commands for controlling
the text to speech (TTS) system.

* Menu:

* Controlling Echo::             Character, Word and Line Echo.
* Speech Output  Control::       Indicating case, capitalization and indentation.
* Miscellaneous:: Miscellaneous TTS Commands.


File: emacspeak.info,  Node: Controlling Echo,  Next: Speech Output Control,  Up: Speech System

6.4.1 Character, Word And Line Echo.
------------------------------------

By default, Emacspeak speaks characters as they are typed -- this is
called character echo; Words are spoken as they are completed -- this is
called word echo.  Emacspeak can also optionally speak each line as it
is typed -- this is called line echo.

   Character, word and line echo can be toggled -- either in the current
buffer -- or for all buffers (globally).  To toggle the specific echo
functionality for all buffers, precede the specific command with ‘C-u’.
Note that in the documentation below, this use of ‘C-u’ is indicated
using the common Emacs terminology of *prefix arg* or *interactive
prefix arg*.

‘C-e d k’
     ‘emacspeak-toggle-character-echo’

     Toggle state of Emacspeak character echo.  Interactive PREFIX arg
     means toggle the global default value, and then set the current
     local value to the result.

‘C-e d w’
     ‘emacspeak-toggle-word-echo’

     Toggle state of Emacspeak word echo.  Interactive PREFIX arg means
     toggle the global default value, and then set the current local
     value to the result.

‘C-e d l’
     ‘emacspeak-toggle-line-echo’

     Toggle state of Emacspeak line echo.  Interactive PREFIX arg means
     toggle the global default value, and then set the current local
     value to the result.


File: emacspeak.info,  Node: Speech Output Control,  Next: Miscellaneous,  Prev: Controlling Echo,  Up: Speech System

6.4.2 Setting TTS Characteristics.
----------------------------------

Emacspeak user commands can set different characteristics of the speech
output such as speech rate and punctuations mode.

   Emacspeak provides a number of settings that affect how attributes of
the text such as capitalization are conveyed.  These include settings
that produce a short tone for each upper case letter, as well as a smart
mode for speaking mixed case words which is especially useful when
programming.  These settings can be made locally in a given buffer or be
applied to all buffers by preceding these commands with ‘C-u’.

‘C-e d r’
     ‘dtk-set-rate’

     Set speaking RATE for the TTS.  Interactive PREFIX arg means set
     the global default value, and then set the current local value to
     the result.

‘C-e d f’
     ‘dtk-set-character-scale’

     Set scale FACTOR for speech rate.  Speech rate is scaled by this
     factor when speaking characters.  Interactive PREFIX arg means set
     the global default value, and then set the current local value to
     the result.

     This function is advised.

     Before-advice 'emacspeak-auto': Automatically defined advice to
     speak interactive prompts.

‘C-e d DIGIT’
     ‘dtk-set-predefined-speech-rate’

     Set speech rate to one of nine predefined levels using digit keys
     ‘0’ through ‘9’.  Interactive PREFIX arg says to set the rate
     globally.

‘C-e d p’
     ‘dtk-set-punctuations’

     Set punctuation mode to MODE. Possible values are 'some', 'all', or
     'none'.  Interactive PREFIX arg means set the global default value,
     and then set the current local value to the result.

‘C-e d m’
     ‘dtk-set-pronunciation-mode’

     Set pronunciation MODE. This command is valid only for newer
     Dectalks, e.g.  the Dectalk Express.  Possible values are 'math,
     name, europe, spell', all of which can be turned on or off.
     Argument STATE specifies new state.

‘C-e d s’
     ‘dtk-toggle-split-caps’

     Toggle split caps mode.  Split caps mode is useful when reading
     Hungarian notation in program source code.  Interactive PREFIX arg
     means toggle the global default value, and then set the current
     local value to the result.  ‘dtk-toggle-caps’
‘C-e d c’

     Toggle capitalization.  when set, capitalization is indicated by a
     *cap* before the word, and upper-case words are indicated with a
     *acc* before the word.  Interactive PREFIX arg means toggle the
     global default value, and then set the current local value to the
     result.

   In addition, Emacspeak can convey the indentation of lines as they
are spoken -- This is relevant when programming and is the default when
working with program source.

‘C-e d i’
     ‘emacspeak-toggle-audio-indentation’

     Toggle state of Emacspeak audio indentation.  Interactive PREFIX
     arg means toggle the global default value, and then set the current
     local value to the result.


File: emacspeak.info,  Node: Miscellaneous,  Prev: Speech Output Control,  Up: Speech System

6.4.3 Miscellaneous Speech Commands
-----------------------------------

Speech can be stopped using command ‘dtk-stop’ -- though in normal use,
the action of moving the cursor will stop ongoing speech.  The speech
server can be stopped and restarted for cases where the user wants to
switch to a different server -- or in the rare case to nuke a runaway
speech server.

‘C-e s’
     dtk-stop

     Stop speech now.

‘C-e d q’
     ‘dtk-toggle-quiet’

     Toggle state of the speech device between being quiet and
     talkative.  Useful if you want to continue using an Emacs session
     that has emacspeak loaded but wish to make the speech shut up.
     Optional argument PREFIX specifies whether speech is turned off in
     the current buffer or in all buffers.

‘C-e C-s’
     ‘dtk-emergency-restart’

     Use this to nuke the currently running dtk server and restart it.
     Useful if you want to switch to another synthesizer while emacspeak
     is running.  Also useful for emergency stopping of speech.

   Finally, here are the remaining commands available via the TTS
related keymap ‘C-e d’.

‘C-e d a’
     ‘dtk-add-cleanup-pattern’

     Add this pattern to the list of repeating patterns that are cleaned
     up.  Optional interactive prefix arg deletes this pattern if
     previously added.  Cleaning up repeated patterns results in
     emacspeak speaking the pattern followed by a repeat count instead
     of speaking all the characters making up the pattern.  Thus, by
     adding the repeating pattern '.'  (this is already added by
     default) emacspeak will say "aw fifteen dot" when speaking the
     string "..............."  instead of "period period period period".

‘C-e d d’
     ‘dtk-select-server’

     Select a speech server interactively.  This will be the server that
     is used when you next call either M-x dtk-initialize or C-e C-s.
     Argument PROGRAM specifies the speech server program.

‘C-e d <SPACE>’
     ‘dtk-toggle-splitting-on-white-space’

     Toggle splitting of speech on white space.  This affects the
     internal state of emacspeak that decides if we split text purely by
     clause boundaries, or also include whitespace.  By default,
     emacspeak sends a clause at a time to the speech device.  This
     produces fluent speech for normal use.  However in modes such as
     'shell-mode' and some programming language modes, clause markers
     appear infrequently, and this can result in large amounts of text
     being sent to the speech device at once, making the system
     unresponsive when asked to stop talking.  Splitting on white space
     makes emacspeak's stop command responsive.  However, when splitting
     on white space, the speech sounds choppy since the synthesizer is
     getting a word at a time.

‘C-e d <RETURN>’
     ‘dtk-set-chunk-separator-syntax’

     Interactively set how text is split in chunks.  See the Emacs
     documentation on syntax tables for details on how characters are
     classified into various syntactic classes.  Argument S specifies
     the syntax class.

‘C-e d t’
     ‘emacspeak-dial-dtk’

     Prompt for and dial a phone NUMBER with the Dectalk.

‘C-e d cap V’
     ‘tts-speak-version’

     Use this to find out which version of the TTS firmware you are
     running.

‘C-e d z’
     ‘emacspeak-zap-dtk’

     Send this command to the TTS engine directly.


File: emacspeak.info,  Node: Voice-lock,  Next: Status Information,  Prev: Speech System,  Up: Basic Usage

6.5 Voice Lock Mode
===================

The status of voice lock mode can be toggled on and off in the current
buffer by issuing the command ‘C-e d v’ (M-x voice-lock-toggle).

   Voice-lock is turned on automatically in all buffers that support it
when Emacspeak is started.

   Emacspeak can be set to disable voice lock in all of the major modes
that support it.  To do so, insert the following statement into your
Emacs initialization file:

     (global-voice-lock-mode -1)

   The characteristics of the different voice personalities used by
voice lock mode vary according to the capabilities of the speech
synthesizer.  The definitions applicable to the Dectalk family of
synthesizers are contained in ‘dectalk-voices.el’, which is supplied as
part of the Emacspeak distribution.  The Emacspeak distribution also
contains voice definitions for many other synthesizers.

   Using voice lock mode, Emacspeak also supports many of the aural
style properties defined in level 2 of the World Wide Web Consortium's
Cascading Style Sheet specification (see
<http://www.w3.org/TR/REC-CSS2/>.  Thus, when Emacspeak is running in
conjunction with a cooperating user agent, such as William Perry's
Emacspeak/W3 web browser, the rendering of HTML documents can be
regulated by style sheets.  Examples of style rules which employ the CSS
audio properties can be found in the default style sheet which is
supplied in the Emacs/W3 distribution.


File: emacspeak.info,  Node: Status Information,  Prev: Voice-lock,  Up: Basic Usage

6.6 Status Commands
===================

The following commands provide miscellaneous information.

‘C-e a’
     ‘emacspeak-speak-message-again’

     Speak the last message from Emacs once again.

‘C-e m’
     ‘emacspeak-speak-mode-line’

     Speak the mode-line.

‘C-e cap M’
     ‘emacspeak-speak-minor-mode-line’

     Speak the minor mode-information.

‘C-e SPC’
     ‘emacspeak-speak-header-line’

     Speak the header-line.

‘C-e C-w’
     ‘emacspeak-speak-window-information’

     Speaks information about current windows.

‘C-e t’
     ‘emacspeak-speak-time’

     Speak the time.

‘C-e cap V’
     ‘emacspeak-speak-version’

     Announce version information for running Emacspeak.

‘C-e f’
     ‘emacspeak-speak-buffer-filename’

     Speak name of file being visited in current buffer.  Speak default
     directory if invoked in a dired buffer, or when the buffer is not
     visiting any file.

‘C-e h’
     ‘emacspeak-speak-help’

     Speak help buffer if one present.  With prefix arg, speaks the rest
     of the buffer from point.  Negative prefix arg speaks from start of
     buffer to point.

‘C-e k’
     ‘emacspeak-speak-current-kill’

     Speak the current kill entry.  This is the text that will be yanked
     in by the next ‘C-y’.  Prefix numeric arg, COUNT, specifies that
     the text that will be yanked as a result of a ‘C-y’ followed by
     count-1 ‘M-y’ be spoken.  The kill number that is spoken says what
     numeric prefix arg to give to command ‘yank’.

‘C-e v’
     ‘emacspeak-view-register’

     Display the contents of a register, and then speak it.

‘C-e C-@’
     ‘emacspeak-speak-current-mark’

     Speak the line containing the mark.  With no argument, speaks the
     line containing the mark -- this is where 'exchange-point-and-mark'
     C-x C-x would jump.  Numeric prefix arg 'COUNT' speaks line
     containing mark 'n' where 'n' is one less than the number of times
     one has to jump using 'set-mark-command' to get to this marked
     position.  The location of the mark is indicated by an aural
     highlight achieved by a change in voice personality.

‘C-e C-l’
     ‘emacspeak-speak-line-number’

     Speak the line number of the current line.

‘C-e =’
     ‘emacspeak-speak-current-column’

     Speak the current column.

‘C-e %’
     ‘emacspeak-speak-current-percentage’

     Announce the percentage into the current buffer.


File: emacspeak.info,  Node: Audio Desktop,  Next: Voice Lock,  Prev: Basic Usage,  Up: Top

7 The Emacspeak Audio Desktop.
******************************

This chapter describes the Emacspeak audio desktop and gives tips and
tricks for making use of many of Emacs' powerful features.

   The desktop is the work area where you organize the tools of your
trade and the information objects relevant to your current activities.
In the conventional world of visual GUI (Graphical User Interface)-based
computing, these tools and information objects manifest themselves as a
collection of icons organized in a two-dimensional work-area -- this
organization is designed to place frequently used objects within easy
reach.

   Notice that organizing one's work area in terms of visual icons
arranged in a two-dimensional area where such an organization is
optimized for the available "conversational gestures" of pointing and
clicking is an artifact of visual interaction.

   In the spirit of a truly speech-enabled application, Emacspeak does
not simply provide you spoken access to a particular presentation of
your work environment that was initially designed with the "sign
language" of visual interaction in mind.  Instead, Emacspeak enables you
to work with documents and other information objects in a manner that is
optimized to aural, eyes-free interaction.  A necessary consequence of
this setup is that users accustomed to the purely visual manifestation
of today's electronic desktop do not immediately perceive the Emacspeak
environment as an electronic desktop.  This section of the manual hopes
to introduce you to a work-style that encourages a different perspective
on how one interacts with the computer in performing day-to-day
computing tasks.

   The end result in my case has been a marked increase in personal
productivity.

* Menu:

* Desktop Objects:: Desktop Objects
* Object Oriented Desktop:: Object Oriented Desktop
* Context-Sensitive Interaction:: Context-Sensitive Interaction


File: emacspeak.info,  Node: Desktop Objects,  Next: Object Oriented Desktop,  Up: Audio Desktop

7.1 Objects Making Up The Emacspeak Desktop
===========================================

A "buffer" is the basic building block of the Emacspeak desktop.  Any
information presented by Emacs is placed in a "buffer".  For example,
when perusing this manual within Emacs, the "file" containing the
documentation is presented in a "buffer".  All information objects such
as WWW pages, email messages, output from user interaction with
command-line shells etc., are presented by Emacs in individual
"buffers".

   Buffers provide a base level of user interaction; Emacs derives its
power by allowing applications to specialize buffers to enable specific
types of user-interaction that is optimized for a specific class of
information.


File: emacspeak.info,  Node: Object Oriented Desktop,  Next: Context-Sensitive Interaction,  Prev: Desktop Objects,  Up: Audio Desktop

7.2 An Object-Oriented Desktop
==============================

The basic "buffer object" can be specialized by Emacs applications to
provide optimal interaction.  This kind of specialization makes the
Emacs environment an object-oriented environment; thus, the basic
conversational gesture of "move to the next statement" can be assigned
behavior that is appropriate to the content that the user is currently
navigating.  As an example of such specialization, Emacs provides
"specialized modes" for working with English text, programming
languages, markup source e.g.  HTML (Hypertext Markup Language) or LaTeX
documents and so on.


File: emacspeak.info,  Node: Context-Sensitive Interaction,  Prev: Object Oriented Desktop,  Up: Audio Desktop

7.3 Emacspeak Specializes Aural Interaction
===========================================

The content-specific user interaction described above is a very powerful
feature of Emacs, and this is where Emacspeak derives its power.
Traditionally, the ability to create buffers specialized for working
with specific content-types has been used by the Emacs community to
develop versatile programming environments, messaging applications such
as mail and news readers, and authoring environments.  The clean design
present in all of these Emacs extensions in terms of separating
application functionality from the user-interface, combined with the
availability of the entire source code making up these packages under
the open-source model has laid the ground-work for developing Emacspeak
as a versatile aural counterpart to the product of years of software
engineering that has been invested by the Emacs community.  In short,
Emacspeak would not exist in its present shape or form without this
prior effort.

7.3.1 Audio Formatted Output
----------------------------

Emacspeak takes advantage of the content-specific knowledge available
within specialized buffers to produce "audio formatted" output designed
to optimize user interaction.  A basic consequence of the above is
"voice locking" in specialized modes; a more interesting consequence is
the implementation of Aural Cascading Style Sheets (ACSS) in conjunction
with the Emacs EWW (Emacs Web Wowser) and W3 Web browsers.

7.3.2 Structured Navigation:
----------------------------

Emacspeak also exploits content-specific knowledge to provide structured
navigation of different types of electronic content.  In many cases,
such structured navigation is an extension of what Emacs provides by
default; in other cases, Emacspeak implements the necessary extensions
to provide the level of structural navigation needed to work efficiently
in an eyes-free environment.

   Notable among such structured navigation is Emacs' powerful outline
feature.

   An example of content-sensitive navigation is provided by the ‘imenu’
package which dynamically creates a "table of contents" based on the
content that is being displayed in a given buffer.  Emacs “Selective
Display” lets one easily hide and expose portions of a buffer based on
indentation -- this feature can be used to advantage when working with
program source code.

7.3.3 Navigating The Desktop
----------------------------

In addition to navigating individual information objects, the Emacspeak
environment provides speech-enabled navigation of the various buffers
that are currently open on the Emacspeak desktop via Emacs' built-in
list-buffers feature.  Emacs' dired -- directory editor -- for browsing
the file system, along with the new speedbar package that combines
features from dired and imenu round off the suite of navigational tools.

7.3.4 Everything Is Searchable:
-------------------------------

Emacs derives one final advantage from using buffers as the basic
building block for the entire desktop.  Every Emacs buffer is searchable
via a uniform and powerful search interface.  Emacs' incremental search
works efficiently and consistently to enable you locate "objects" of
interest either within a given document or to locate a given object from
among the various objects that are currently open on the Emacspeak
desktop.  This is very powerful -- where a GUI (Graphical User
Interface) user is typically limited to quickly locating an object from
a relatively small collection -- the size of the collection being a
direct function of available display real-estate -- the Emacspeak user
can typically work with a far larger collection of objects.  This is
well-suited to the eyes-free environment, where display real-estate has
no meaning; so bringing up a list of currently open buffers and
performing an incremental search to locate a specific buffer is just as
efficient independent of whether you have a few dozen or a few hundred
buffers open.

   To illustrate the above, my typical working Emacs session lasts
between two and three weeks -- over that time I typically accumulate
several hundred open buffers holding a large variety of content ranging
from program source code to email messages and WWW pages.

   Ubiquitous search in the eyes-free environment is critical -- as a
comparison, when using a conventional, purely visual WWW browser, users
have no means of easily "searching" for say the "submit" button on a WWW
page.  This inability is a minor annoyance in visual interaction, and
the typical mouse-enabled user never uses the find dialog to find a
submit button -- it is simply more efficient to point at the submit
button given the eye's ability to quickly scan the two-dimensional
display.  This luxury is absent in an eyes-free environment; as a
consequence, blind users confronted by the combination of a visual
interface and screen-reader are typically limited to either tabbing
through all the controls on a WWW page, or using the sub-optimal find
dialog.


File: emacspeak.info,  Node: Voice Lock,  Next: Using Online Help,  Prev: Audio Desktop,  Up: Top

8 Voice Lock
************

See <http://tvraman.github.io/emacspeak/blog/voice-lock-refreshed.html>
for a high-level overview of how Emacspeak Voice-Lock has evolved over
the years.

  1. Emacspeak defines a number of voice overlays such as
     ‘voice-bolden’, and ‘voice-lighten’ that can be applied to a given
     voice to change what it sounds like.

  2. Voice overlays are defined in terms of Aural CSS (ACSS
     (http://www.w3.org/tr/css2/aural.html)) to keep them independent of
     a specific TTS engine.

  3. For each such overlay there is a corresponding
     ‘<OVERLAY-NAME>-settings’ variable that can be customized via
     custom.

  4. The numbers in ‘voice-bolden-settings’ as an example:

Setting                              Value
family                               nil
average-pitch                        1
pitch-range                          6
stress                               6
richness                             nil
punctuation                          nil

   Unset values (‘nil’) show up as "unspecified" in the customize
interface.

  1. Do not directly customize ‘voice-bolden’ and friends, instead
     customize the corresponding ‘voice-bolden-settings’, since that
     ensures that all voices that are defined in terms of ‘voice-bolden’
     get correctly updated.

  2. Discovering what to customize:

   Command ‘emacspeak-show-personality-at-point’ (bound by default to
C-e M-v) will show you the value of properties personality and face at
point.  Describe-variable on these names should tell you what to
customize; so as an example:

   Put point on a comment line, and hit ‘C-e M-v’: you will hear

     Personality emacspeak-voice-lock-comment-personality
     Face font-lock-comment-delimiter-face

   Describe-variable of ‘emacspeak-voice-lock-comment-personality’
gives:

     emacspeak-voice-lock-comment-personality's value is acss-p0-s0-all

     Documentation: Personality used for font-lock-comment-face This
     personality uses voice-monotone whose effect can be changed globally
     by customizing voice-monotone-settings.

* Menu:

* How It All Works.::
* What this gives.::


File: emacspeak.info,  Node: How It All Works.,  Next: What this gives.,  Up: Voice Lock

8.1 How It All Works
====================

Here is a brief explanation of the connection between ‘voice-bolden’ and
its associated ‘voice-bolden-settings’.

  1. Voice settings are initially in ‘voice-bolden-settings’ which is a
     list of numbers.

  2. That list of numbers needs to be translated to appropriate
     device-specific codes to send to the TTS engine.

  3. You do not want to do this translation *each* time you speak
     something.

  4. So when ‘voice-bolden’ is defined, the definition happens in two
     steps:

        • The list of settings is stored away in
          ‘voice-bolden-settings’,

        • A corresponding voice-name is generated --
          ‘acss-a<n>-p<n>-r<n>-s<n>’ and the corresponding control codes
          to send to the device are stored away in a hash-table keyed by
          the above symbol.

        • Finally, ‘voice-bolden’ is assigned the above symbol.


File: emacspeak.info,  Node: What this gives.,  Prev: How It All Works.,  Up: Voice Lock

8.2 What this gives
===================

  1. The ability to customize the voice via custom by editing the list
     of numbers in ‘voice-bolden-settings’

  2. When that list is edited, ‘voice-bolden’ is arranged to be updated
     automatically.

   The following additional commands from module *Note
emacspeak-wizards::, are useful when designing aural styles.

  1. ‘emacspeak-wizards-generate-voice-sampler’

     Generate a buffer containing text that demonstrates the effect of
     various aural settings.

  2. ‘emacspeak-wizards-voice-sampler’

     Applied specified aural style to text in current region.


File: emacspeak.info,  Node: Using Online Help,  Next: Emacs Packages,  Prev: Voice Lock,  Up: Top

9 Using Online Help With Emacspeak.
***********************************

Emacs provides an extensive online help system for helping you learn
about various aspects of using Emacs.  Emacspeak provides online help
for its various extensions using this same help system.  This chapter
explains how to use the online help facilities in order to empower you
in discovering powerful and versatile working techniques that will make
you more and more productive in your day to day computing.

   The online help options are accessed via the ‘C-h’ prefix key, which
must be followed by an additional letter or control character to
designate the kind of help desired.  For example, ‘C-h t’
‘help-with-tutorial’ visits the Emacs tutorial in a new buffer; ‘C-h i’
‘info’ enters the Info documentation system, from which you can read
Texinfo manuals that have been installed on your system, including the
Emacs and Emacspeak documentation; and ‘C-h k’ ‘describe-key’ provides a
description of the Emacs function which is bound to the next key that
you type.  For learning about the various options that are available via
the ‘C-h’ mechanism described above, view the online help for command
‘help-for-help’ bound to ‘C-h C-h’ -- using what has been described so
far, you would achieve this by pressing ‘C-h k’ followed by ‘C-h C-h’.

   Emacspeak users should note that online help is typically displayed
in a separate Emacs window.  Where it makes sense to do so, Emacspeak
will automatically speak the displayed help.  Once you've asked for
help, you can hear the displayed documentation as many times as you wish
using Emacspeak command ‘emacspeak-speak-help’ bound to ‘C-e h’.  If you
want to move through the displayed help a line at a time, switch to the
buffer where the help is displayed -- the buffer is called ‘*Help*’.

   Often, in adding an auditory interface to an Emacs extension, such as
a web browser or mail reader, Emacspeak defines additional commands and
key bindings which enhance the functionality of the spoken feedback
provided by the application.  This manual does not purport to document
all such commands.  It is important, therefore, when learning to use the
various Emacs extensions which comprise the 'audio desktop' (*note Audio
Desktop::) that you take advantage of online help to obtain details of
any context-specific features provided by Emacspeak.  The following two
commands are of particular importance in this regard:

   • ‘C-h m’ ‘describe-mode’ explains which major and minor modes are
     currently in effect, and lists the commands and key bindings
     associated with them.

   • ‘C-h b’ ‘describe-bindings’ lists all of the key bindings which are
     currently defined.

   The importance of these help functions can be illustrated by the
Emacs/W3 web browser.  When point is positioned inside a table, certain
key bindings are established with which you can access Emacspeak
commands that make it possible to read the rows and columns of the table
and explore its structure efficiently.  To get a description of these
key bindings, you can use W3 to visit the sample HTML file supplied as
part of the Emacspeak distribution, and, after having moved point onto
the first row of the table, issue the command ‘C-h m’ ‘describe-mode’ to
create a help buffer containing an explanation of the features offered
by W3 mode.

   Emacspeak supplements the online help facilities available within
Emacs by defining several commands of its own, as follows:

   • ‘C-h c-e’ ‘describe-emacspeak’ presents a list of standard
     Emacspeak commands.

   • ‘C-e F’ ‘emacspeak-view-emacspeak-faq’ opens a new buffer
     containing the Emacspeak FAQ, a list of frequently asked questions
     about Emacspeak together with their answers.

   • ‘C-e <F1>’ ‘emacspeak-learn-mode’ enters a mode in which the
     function of every key that you type is spoken; this mode can be
     terminated with the ‘C-g’ ‘keyboard-quit’ command.


File: emacspeak.info,  Node: Emacs Packages,  Next: Emacspeak Keymaps,  Prev: Using Online Help,  Up: Top

10 Emacs Packages.
******************

Emacs -- The extensible, self-documenting editor, derives its
functionality from its powerful extension mechanism.  This extension
mechanism is used to implement many user-level applications such as mail
readers, web browsers, software development environments and so on.
This chapter gives directions on how to locate the right Emacs package
for addressing specific tasks.  The chapter is organized into logical
sections that each pertain to a specific class of tasks; in individual
subsections within a section give a brief overview of particular Emacs
packages that have been speech-enabled.

   For a categorized list of speech-enabled applications on theEmacspeak
desktop, see <http://emacspeak.sf.net/applications.html>.  In Emacs 24
and later, you can use Emacs' builtin package manager to install and
update packages.

* Menu:

* Document Authoring::
* Structured Editing::
* Browsing Structure::
* Web Browsing::
* Messaging::
* Editing Code::
* Development Environment::
* Desktop Management::
* Personal Information Management::
* Desktop Applications::


File: emacspeak.info,  Node: Document Authoring,  Next: Structured Editing,  Up: Emacs Packages

10.1 Document Authoring
=======================

The Emacspeak environment provides a rich collection of structured
document authoring tools.  These are well-suited for working in an
eyes-free environment -- you clearly do not want to use a What You See
Is What You Get (WYSIWYG) authoring tool if you cannot see what you're
getting.  Structure-based authoring tools allow you to focus on the act
of content creation, leaving the minutiae of visual layout to the
computer.

* Menu:

* Creating Well-formatted Documents:: Authoring Content.
* Search replace and spell check:: Fixing errors.


File: emacspeak.info,  Node: Creating Well-formatted Documents,  Next: Search replace and spell check,  Up: Document Authoring

10.1.1 Creating Well-formatted Documents
----------------------------------------

Before authoring a document, decide its primary audience.  If the
document contains relatively simple content, e.g., no mathematical
equations etc.  and is primarily targeted at the web, you are probably
better off using HTML. You can create well-structured HTML documents
with the help of package ‘nxml-mode’ for editing XML documents.  Another
option is to use ‘org-mode’ to create a Wiki-like text document that can
be easily published to multiple output formats including HTML.

   Packages ‘org-mode’ and ‘nxml-mode’ are speech-enabled by Emacspeak
to provide auditory icons, structured navigation and outlines, as well
as voice locking for audio formatted feedback as you work.

   If the document being authored is more complex, you are usually
better off creating it in LaTeX.  Note that LaTeX documents can be
converted to HTML either via package ‘tex4ht’ -- available on the WWW.

   The TeX family of typesetting languages is suitable for producing
well-formatted documents in an eyes-free environment.  Unlike WYSIWYG
environments, the author of a TeX or LaTeX document works with the
content of the document, leaving it to the formatting system (TeX) to
format the document for good visual presentation.

   The ‘AUCTeX’ package is an Emacs extension that facilitates authoring
and maintaining structured documents in TeX and LaTeX.  Package ‘bibtex’
facilitates maintenance and use of ‘bibtex’ bibliography databases.  The
Texinfo package allows creation of software documentation that is
suitable for both printing as well as online viewing as hypertext.
Emacspeak speech-enables packages ‘AUCTeX’, ‘bibtex’ and ‘texinfo’ to
provide convenient spoken feedback as you create documents.  For details
on using these packages, see their accompanying online info
documentation.

   As the document preparation system of choice, Emacspeak supports a
fluent speech-enabled interface to editing and formatting LaTeX
documents.  This interface is provided by speech-enabling *AUCTeX* mode.

   Mode *AUCTeX* provides efficient keyboard shortcuts for inserting and
maintaining LaTeX markup as a document is being authored.  All of these
editing commands provide succinct auditory feedback when used with
Emacspeak.  The syntax coloring provided by this mode is extended to
provide *voice locking* -- consequently, Emacspeak uses different voices
to speak the embedded markup to set it apart from the content.

   Mode *AUCTeX* can be used to create empty document templates and to
insert document content at the appropriate places in the template.  The
mode also enables structured navigation of the document as it is being
edited.  Emacspeak speech-enables these template creation and structured
navigation commands to produce auditory icons and succinct spoken
feedback.  For example, while editing, the user can quickly browse
through the sections of the document and have each section title spoken.
Document elements such as paragraphs and bulleted lists can be
manipulated as logical units.  These features are especially relevant in
an eyes-free environment where the user needs to select logical parts of
the document without having to point at portions of a visual display.


File: emacspeak.info,  Node: Search replace and spell check,  Prev: Creating Well-formatted Documents,  Up: Document Authoring

10.1.2 Searching, Replacing, And Spell Checking
-----------------------------------------------

Incremental search, a process by which the system prompts the user for a
search string and moves the selection to the next available match while
allowing the user to add more characters to the search string, is the
search technique of choice among most Emacs users.  As the system
successively finds each match, it provides the user the option of
continuing the search.  Incremental search is a more complex instance of
traditional search interaction because in addition to either stopping or
continuing the search, the user can modify the current search in a
number of ways including specifying a longer (or shorter) search string.

   All of the user commands available during incremental search are
documented in the online Emacs info manual.  These are speech-enabled by
Emacspeak to provide spoken prompts as the dialog begins; auditory icons
indicate a search hit or search miss as the search progresses.  Along
with auditory icons *search-hit* and *search-miss* the user also hears
the current line spoken, and in the case of a search hit, the matching
text is *aurally* highlighted by using the standard audio formatting
technique of changing voice characteristic.  This feedback proves
extremely effective when the search pattern appears several times on a
single line; the user is unambiguously cued to the current match.

   Search and replace actions are an extension to the basic
conversational gestures of a search dialog.  In addition to specifying a
search string, the user also specifies a replacement string.  On the
Emacspeak desktop, this functionality is provided by command
*query-replace*.  The speech-enabled version of this interaction prompts
the user for the search and replacement texts.  The auditory feedback
during the interactive search and replacement process parallels that
described in the case of incremental search.  Audio formatting to
indicate the occurrence that is about to be replaced proves an effective
means of avoiding erroneous modifications to the text being edited.  As
an example, consider using command *query-replace* to locate and replace
the second occurrence of foo with bar in the text

   ‘Do not change this fool, but change this food.’

   When the search matches the first occurrence of foo in word *fool*,
the aural highlighting helps the user in answering "no" in response to
question "should this occurrence be replaced".  In addition to allowing
the user to supply a simple "yes or no" answer for each match, command
*query-replace* also allows the user to specify a number of other valid
answers as described in the online Emacs documentation.

Spell Checking
..............

A more complex instance of conversational gesture "search and replace"
is exhibited by standard spell checking dialogues.  Spell checking
differs from the search and replace dialog described above in that the
search and replacement text is guessed by the system based on an
available dictionary.  Words that are not found in the dictionary are
flagged as potential spelling errors, and the system offers an
interactive search and replace dialog for each of these possible errors.
During this dialog, the system successively selects each occurrence of
the possibly erroneous word and offers a set of possible replacements.
Unlike in the case of simple search and replace, more than one possible
replacement string is offered, since a potential spelling error can be
corrected by more than one word appearing in the dictionary.

   In the visual interface, such spell checking dialogues are realized
by displaying the available choices in a pop-up window and allowing the
user to pick a correction Once a correction is selected, the user is
offered the choice of interactively replacing the erroneous word with
the correction.

   The spell checking interface on the Emacspeak desktop is
speech-enabled to provide fluent auditory feedback.  The visual
interface parallels that described above and is provided by package
‘ispell’ which is part of the standard Emacs distribution.  Emacspeak
provides a spoken prompt that is composed of the line containing the
possibly erroneous word (which is aurally highlighted to set it apart
from the rest of the text on that line) and the available corrections.
Each correction is prefixed with a number that the user can use to
select it.  Once a correction is selected, the interaction continues
with the query and replace interaction described earlier.  The speech
interface to the spell checker is as fluent as the visual interface.
Notice that Emacspeak users do not need to concern themselves with the
details of the visual display such as "the corrections are displayed in
a window at the top of the screen".

   In addition to the standard spell checker described above, newer
versions of Emacs include an "on-the-fly" spell checker that flags
erroneous words as they are typed.  Emacspeak speech-enables package
‘flyspell’ so that such erroneous words are aurally highlighted.


File: emacspeak.info,  Node: Structured Editing,  Next: Browsing Structure,  Prev: Document Authoring,  Up: Emacs Packages

10.2 Structured Editing And Templates
=====================================

Editing documents based on the inherent structure present in the
electronic encoding can be very efficient when using spoken interaction.
We described mode *AUCTeX* -- a specialized interface to authoring LaTeX
documents as a special instance of such structured editing in *note
Document Authoring::.

   The Emacspeak desktop allows the user to efficiently author and
maintain an electronic document based either on the structure present in
the markup (as in the case of mode AUCTeX) or on special outlining
constructs that allow the user to impose a desired logical structure on
the document.  This section describes the effect of speech-enabling such
editing tools and points out the advantages in using these in a speech
oriented interface.

   Template-based authoring -- a technique that allows the user to
create a document by inserting contents into appropriate positions in a
predefined template -- goes hand in hand with such structured editing.
Finally, structured editing can vastly simplify the creation and
maintenance of structured data, for example, the data present in a UNIX
password file.  Such data files are in fact nothing more than a
collection of database records, where each record (or line) consists of
a set of fields delimited by a special character.  Maintaining such
files without exploiting the underlying structure often tends to be
error prone.  We describe editing modes that can exploit such record
structure to provide a fluent editing interface.  Finally, we outline a
speech-enabled interface to a spreadsheet application as a complex
instance of such structured data editing.

* Menu:

* Outline Editing ::             Editing and navigating outlines.
* Template-based Authoring::     Creating and Filling Templates.
* Maintaining Structured Data::   Structured Data.


File: emacspeak.info,  Node: Outline Editing,  Next: Template-based Authoring,  Up: Structured Editing

10.2.1 Outline Editing
----------------------

All of the various outline editing interfaces on the Emacs desktop allow
the user to *hide* or *show* the contents at the different levels of a
possibly nested tree structure.  Components of this tree structure can
be manipulated as a unit, e.g., entire subtrees can be deleted or
copied.  Outline editing thus provides an efficient means of obtaining
quick overviews of a document.

   The visual interface displays such hidden content as a series of
ellipses following the visible outline heading.  Emacspeak produces
auditory icon *ellipses* when speaking such outline headings.

   The basic *outline mode* allows the user to specify the syntax and
level of outline header lines as a regular expression.  This simple
technique can be used to advantage in the structured navigation of large
electronic texts such as those available on the Internet from online
book projects such as project Gutenberg and the Internet Wiretap.  For
example, when this feature is activated while reading the electronic
text of a Shakespearean play, the different acts can be recognized as
separate nodes in the logical structure of the document.  The user can
then hide the document body with a single keystroke, navigate the
outline headings to find a particular act, and have that portion
rendered either visually or aurally.  Hiding an outline level produces
auditory icon *close-object*; exposing a hidden level produces auditory
icon *open-object*.  For details on using mode ‘outline’, see the
relevant section of the online Emacs info manual.

   The basic outline facility described above is applicable to all
content being edited or browsed on the Emacspeak desktop.  In addition,
Emacspeak has other specialized outline editing modes such as *folding
mode* that provide extended outlining facilities.  In mode *folding*,
the user can create (possibly nested) *folds* -- logical containers of
content that are delimited by a special *fold mark*.  The fold mark is
typically a text string that is chosen based on the type of content that
is being manipulated.  Thus, when *folding* a C~program source file,
fold marks are created from C~comments.  The user can *open* or *close*
any or all folds in a document, and these actions are accompanied by
auditory icons *open-object* and *close-object*.  By entering a fold,
all editing actions are restricted to the contents of that fold; this
proves a simple yet convenient way of constraining editing actions such
as search and replace to specific portions of large documents.  Folds
can be manipulated as a unit and can be deleted, copied or moved.

   Mode *folding* proves especially effective in maintaining large
software modules.  The technique can be used to advantage by creating
folds for different sections in a module and by further placing each
function appearing in a particular section in a fold of its own.
Complex functions can themselves be folded into sections where each
section reflects a different stage in the algorithm implemented by that
function.  Thus, the technique of folding can be used as an effective
aid in *literate* programming.  I typically write software modules by
first creating an outline structure using folds that reflect the various
components of that module.  Next, I populate each fold with the function
signatures and documentation for the functions in each section.  When I
am satisfied with the overall architecture of the module, I fill in the
function skeletons with actual program code.  This technique is used
extensively in maintaining the Emacspeak code base.


File: emacspeak.info,  Node: Template-based Authoring,  Next: Maintaining Structured Data,  Prev: Outline Editing,  Up: Structured Editing

10.2.2 Template-based Authoring
-------------------------------

Emacspeak supports two powerful template-based authoring subsystems that
enable the user to quickly create and fill in templates.  *Dmacro*
(short for "dynamic macros") allows the user to define and invoke
template-based macros that are specialized for creating different types
of content.  For example, when programming in C, the user can invoke
dynamic macros that insert skeletons of standard C constructs with a few
keystrokes.  This form of editing has numerous advantages in creating
consistently structured code when developing large software modules.
Emacspeak speech-enables mode *dmacro* to provide succinct spoken
feedback as templates are created and filled.  The user invokes *
dmacro* via command *insert dmacro*, which is typically bound to a
single key.  This results in a dialog where the user is prompted to pick
one of the dynamic macros available in the current context.  If the
users choice can be uniquely completed, that completion is spoken;
otherwise, the list of possible completions based on the available
partial input is spoken, accompanied by auditory icon *help*.

   An alternative template-editing facility is provided by mode *tempo*
This mode is designed to be used in creating template-based editing
tools for specific markup languages; a good example is mode
*html-helper*, a mode for creating and updating HTML documents for
publishing on the WWW (see *note Document Authoring::).


File: emacspeak.info,  Node: Maintaining Structured Data,  Prev: Template-based Authoring,  Up: Structured Editing

10.2.3 Maintaining Structured Data
----------------------------------

Consider the following entry from file ‘/etc/passwd’ on my laptop.

   ‘aster:KoUxwQ2:501:100:Aster Labrador:/home/aster:/bin/bash’

   File ‘/etc/passwd’ is a simple instance of a text file that stores
structured data records as a series of fields delimited by a special
character.  Each item in the file acquires *meaning* from the *position*
in which it occurs for example, the fifth field contains the user name,
Aster Labrador.  More generally, structured data where each field in a
record has * meaning* is found throughout the desktop in applications
ranging from entries in a rolodex to rows in a spreadsheet.

   Typically, users do not directly edit the stored representation of
the data.  Instead, application front-ends provide a more human-centric
(and hopefully less error prone) user interface for modifying and
maintaining the data.  Thus, spreadsheet applications present the data
as a two dimensional table that is automatically updated to reflect
changes in the underlying data.  The two dimensional table is perhaps
the most commonly found visual front-end to structured data tables with
row and column headers prove a succinct way of implicitly displaying the
*meaning* along with the *value* of the fields making up each data
record.


File: emacspeak.info,  Node: Browsing Structure,  Next: Web Browsing,  Prev: Structured Editing,  Up: Emacs Packages

10.3 Browsing Structure
=======================

This section describes packages that allow you to browse structured
information -- these are distinct from the tools described in *note
Structured Editing::, in that they are typically used for working with
content that is read-only e.g., online documentation.


File: emacspeak.info,  Node: Web Browsing,  Next: Messaging,  Prev: Browsing Structure,  Up: Emacs Packages

10.4 Web Browsing
=================

Note that there is newer material at
<http://emacspeak.blogspot.com/2014/05/emacspeak-eww-updates-for-complete.html>
and in *Note emacspeak-eww::.  For Emacs 24.4 and later, note that the
built-in Web browser EWW is also the browser of choice for emacspeak.
Finally, note that Emacs/W3 is now considered obsolete, and Emacspeak
support for w3m is no longer maintained.

   -- T. V. Raman, October 2014.

   This document, "The State of Web Browsing in Emacspeak" describes the
primary web browsers in use under emacspeak and ways they might be used
more efficiently.

   Version 1.0 -- February, 2007.

   Copyright © 2007 Robert D. Crawford <rdc1x@comcast.net>

* Menu:

* Intro::               Why this document and what it is about
* emacs-w3::            Browsing the web with emacs/w3
* Add-ons::             Add-ons to make life better
* Conclusion::          Wrapping it up


File: emacspeak.info,  Node: Intro,  Next: emacs-w3,  Up: Web Browsing

10.4.1 Intro
------------

Web browsing in emacspeak can be made as simple or as complicated as you
wish to make it.  On the one hand, all that need be done is to open a
web browser and fetch a particular url.  This works fine in many cases
with exceptions being things like html tables.  On the other hand, if
you spend a little time learning a particular browser and its
functionality, web browsing can be made more efficient and the web more
navigable.

   This document is intended to be an introduction to the 2 primary
browsers that run under emacs: emacs/w3 and EWW. I also intend to
introduce a couple of add-on packages intended to make life easier and
to address specific shortcomings.

   The primary reason for this documentation is the fact that a lot of
the documentation of the various functions tells exactly what it does,
but not why or in what circumstance one might use it.  Hopefully I can
remedy that here.

Who this document is intended for
=================================

While this document is geared toward emacspeak users, it might be
helpful for other users as well.  I have tried to note where functions
are specific to emacspeak.

Assumptions
===========

This document assumes emacs is installed.  If reading the section on a
particular browser and trying out the associated functions, it, of
course, assumes that the browser is installed and working.  For features
specific to emacspeak, a working install of emacspeak is necessary.  It
is far beyond the scope of this document to help with the installation
of these programs.

   For help with installing any of the above bits of software, the
following mailing lists and / or newsgroups are available:

   • emacs - ‘gnu.emacs.help’

   • emacs/w3 - the mailing list for w3 is pretty dead.  Sorry.  The
     documentation is, however, not terrible.

   • emacspeak - see <http://emacspeak.sf.net>

   It is highly suggested that the mailing list archives, google, and
the relevant documentation be consulted before posting messages to any
mailing list.  Nothing is more irritating than answering the same
questions over and over.  Those of you with kids know what I am talking
about.

   It is also assumed that the reader is comfortable with using emacs
itself.  Understanding the convention for communicating keystrokes to
run commands, navigating documents, and the like are not covered.


File: emacspeak.info,  Node: emacs-w3,  Next: Add-ons,  Prev: Intro,  Up: Web Browsing

10.4.2 emacs-w3
---------------

emacs/w3 is a web browser (now obsolete and replaced by EWW) written
completely in emacs lisp.  It has some really nice features applicable
to the emacspeak community such as the ability to navigate tables and
support for the w3c's aural cascading stylesheets.

emacs/w3 advantages
===================

As mentioned above, the ability to navigate tables is a super help.
emacs/w3 also has support for cascading stylesheets.  This allows
incredible control of voices used for what would normally be visual
attributes of the text such as bold, italics, preformatted text and the
like.

   Another advantage of emacs/w3 is that it is written completely in
emacs lisp.  With some effort, emacs/w3 is very customizable and quite
extendable.

emacs/w3 disadvantages
======================

Rendering can be slow.  Sometimes it can be painfully, excruciatingly
slow.  That might be a slight exaggeration, but slow it is.  This is
because it is written in lisp...  something I mentioned just above as a
strength.  It is a trade-off, but one that some see as worth it.  There
are, however, some things that can be done to speed up the browsing
process.  See *Note ‘emacspeak-w3-xsl-transform’: xsl-transform, for
more information.

   Another disadvantage is that emacs/w3 chokes on some pages.
Sometimes it gives error messages and doesn't display anything.
Sometimes it does this to some people and doesn't do it to others as we
saw on the emacspeak mailing list a short time ago.  Sometimes it gives
error messages and renders the page anyway.

   One other major annoyance of emacs/w3 is that sometimes it simply
stops doing anything while rendering a page.  There is a way I have
found to get around this.  I hit ‘C-g’.  I usually wait five to ten
seconds and then simply quit, using ‘C-g’.  Not always, but usually, the
page has already completed downloading and is being rendered and it
therefore is not a problem.

   emacs/w3 also has no bookmark functionality.  This can be remedied in
several ways.  One simple way, mentioned below, is to use the emacs
package bmk-mgr.  Another way is to use org mode with remember which is
the method used by Dr.  Raman, the author of emacspeak.  See *Note
bmk-mgr: bmk-mgr, later in this manual, for more information.

   History back and next in the browser also seem to be broken but this
is not generally a problem for me as I never look back.

emacs/w3 native functions
=========================

Many functions for efficient navigation of the internet are native to
emacs/w3.  Some of the most useful functions are listed below

   Unlike emacs-w3m, the information presented by ‘describe-mode’ is
very complete, but a little terse.  All the function names are listed
and asking for help on particular functions works well.  That being
said, use this list to augment, not replace, the built-in help that is
available in emacs.

   ‘C-f’ will open a new buffer containing the cell point is in.  In
most instances, this works very well.  Imagine you are looking at a page
that is divided into 4 distinct areas: a cell at the top of the page
that contains a banner and some navigation, and a "body" area that is
divided into three sections consisting of more navigation, an article,
and advertisement.  If point is in the main article cell, using ‘C-f’
will open another buffer that contains only the text of that cell, the
article you are interested in.

   One caveat is that this does not always work as advertised.
Sometimes the leftmost character of each line is missing.  At least it
makes for interesting reading.  Usually when I have this problem I
simply exit that buffer and linearize the tables in the original page.

   The ‘m’ key executes a very useful command.  It will complete a link
on the page.  Imagine that you are reading through a document and you
hear a link that you need to visit.  You could tab through all the links
until you hear the one you want or you could hit the ‘m’ key and enter
the link text at the prompt.  Completion is available and it is not
case-sensitive.  Efficient, no?

   The period in a cell will speak the contents of that particular cell.
This command is, in my opinion, most useful when navigating tables with
cells that have only one paragraph or less.  I tend to not read whole
articles in this manner because, inevitably, someone will interrupt me
and I will lose my place.

   The equals key, while in a table cell will give you the cell
information.  It tells you the row and column position, the size of the
table, and at what nesting level the table is.

   The pipe key, is used to read the table column.  As this command
seems to read the rectangle the column is in, this command is most
useful when used in a table where there is no column spanning, i.e.  all
rows and columns are uniform.

   Here is a list of table navigation commands:

   • ‘C-e +’ moves to the beginning of the next table row.

   • ‘C-e -’ moves to the beginning of the previous table row.

   • ‘C-e <’ moves to the beginning of the table.

   • ‘C-e >’ moves to the end of the table.

   • ‘C-e =’ moves to the top of the table column.

   • ‘C-e <DOWN>’ moves to the next cell down in the same column.

   • ‘C-e <UP>’ moves to the previous cell in the same column.

   • ‘C-e <LEFT>’ moves to the previous cell in the same row.

   • ‘C-e <RIGHT>’ moves to the next cell in the same row.

   As you can see, table navigation in w3 can be easy and fun.

emacspeak specific functions for emacs/w3
=========================================

An incredible amount of work has been done by the emacspeak community to
make emacs/w3 accessible to those with visual impairments.  Here is an
explanation of some of those functions.

   The command ‘C-t’ will toggle the visibility of table borders.  This
command might be useful where you want to hear all punctuation symbols
on a page but the table characters get in the way.

   The quote key will execute a command that allows you to skim the
contents of the buffer.  it will read the page, paragraph-by-paragraph,
pausing between paragraphs to prompt you to move on by pressing <SPACE>.
If you hit <SPACE> in the middle of a paragraph, it skips to the next
paragraph.

   Another skimming command is bound to the ‘z’ key.  This will allow
you to zip through web pages by logical blocks such as div, paragraph,
and table tags.

   Using the imenu facilities is another way of skimming the document
and getting to the information you desire.  imenu works especially well
for well-structured documents.  The first thing that need be done is to
copy the ‘w3-imenu.el’ file from the ‘contrib’ directory of the ‘w3’
directory to somewhere in your load path.  I am using the cvs version of
w3 and my w3 directory is under ‘/home/rdc/sourceforge’.  The easiest
thing to do is probably to do an ‘M-x locate’ and search for
‘w3-imenu.el’ to see where it is.  After locating the file, move it into
your load path.  In my case I have it under
‘/home/rdc/share/emacs/site-lisp/’.

   There are two ways to use the imenu facilities: automatically and
manually.  Since I do not use imenu on every site, I prefer to invoke it
manually to save the time required to build the index.

   Once things are in place, invoke imenu with the ‘j’ key.  This will
ask you for an index position.  Hitting <TAB> will give you a list of
the possible index positions.  Another way of navigating the document
would now be to use the keys ‘M-n’ and ‘M-p’ to go to the next and
previous index positions.  Note that you have to build an index for a
page before you can use these commands.

   ‘Cap A’ and ‘cap R’ serve the same function.  ‘Cap A’ browses the
Atom feed at point and ‘cap R’ browses the rss feed at point.  This is
useful to sample the feed, so to speak, before going through the trouble
of configuring your feed reader to fetch the feed.  It might also be
useful to grab the headlines from a page and present them in a more
concise, readable format.  If using the sort-tables xsl transform, there
will be a link at the top of the page if there is an rss feed available.
See *Note emacspeak atom and emacspeak rss: rss, for more information.

   Google provides many useful tools for web surfers.  The following
commands are useful to access much google goodness.

   ‘Cap C’ extracts the current page from the google cache.  With a
prefix argument it will extract the link under point.  This is useful
for those times when a particular site is down...  maybe it is in the
cache...  maybe it is not.  It can also be used for when particular
pages are removed from a site like in the case of a government
conspiracy.  Are we at war with Eurasia or East Asia?

   The slash key will search google for pages similar to the current
page.

   The command ‘g’ will do a google search restricted to the site of the
document.

   The ‘l’ command googles for who links to this page.

   The command ‘t’ runs the url under point through the google
transcoder.  This is useful for sites that are heavy on the use of
tables and the xsl transforms are not helpful.  It also works on some
sites that use javascript to go to the next page in the story, such as
Reuters.  Using a prefix argument with this command will untranscode the
url under point for pages that are currently transcoded.

   ‘Cap T’ will jump to the first occurrence of the title in the
document.  Multiple consecutive executions of this command will jump to
further occurrences.  This command is probably one of the most useful
timesavers while web browsing.

   ‘M-s’ jumps to the "submit" button for the form you are editing.

   ‘M-r’ plays the media stream at point with the default media player.

   The ‘y’ command will rewrite the url of the url under point.  This is
useful for those sites you frequent.  Often, sites that have printer
friendly content have a specific way in which the url is written.  For
The first time you run this command in a particular buffer you are
prompted for a pattern to use.  The pattern is in the form of

   ‘("from string" "to string")’

   The opening paren is supplied.  Remember to quote the strings or you
will get an error.  From this point on, until you kill the buffer in
which you wrote the rule, hitting ‘y’ on a link will use this rewrite
rule to visit the page.  If you mistyped the rule, providing a numeric
argument will allow you to rewrite the rewrite rule.  I love
alliteration.

   Saving the best for last, ‘e’ is the xsl map prefix.  As I mentioned
in the section on emacs-w3m, xsl transforms are some powerful magic that
takes a web page and transforms it in some way.  Linearizing tables is a
good example, and the one I use most often.

   The keystroke ‘e a’ prompts for an xsl transform to apply to the
current page.  If you know the name of the particular transform you want
you can use tab completion to select it.  Otherwise, you can hit <TAB>
to get a buffer that contains the list of choices.

   If you know that you want a particular transform done automatically
you can use the command ‘e s’ to select a transform and then ‘e o’ to
turn xslt on (the same command will turn xslt off).  Then, every page
opened from that point on will have the transform applied.

   There is the variable ‘emacspeak-w3-xsl-transform’ that can be set
via the usual methods.  This variable specifies a transform to use
before displaying a web page.  There is an advantage to turning on xsl
transforms all the time.  If you use the ‘identity.xsl’, the
‘linearize-tables.xsl’ or the ‘sort-tables.xsl’ it can actually speed up
rendering of the page.  This is because the transforms provide clean and
balanced html to the renderer.  Additionally, using ‘sort-tables.xsl’ or
‘linearize-tables.xsl’ will provide a little more boost as rendering
nested tables is particularly difficult for a web browser.

   Sometimes it is just easier to read the printer friendly version of a
story instead of having to linearize the tables and search for the
content.  Also, some sites, like the New York Times, I believe, make you
navigate several pages to read the whole story, but if you select a
"Print this story" link you can read the entire story on one page
formatted without a lot of the cruft on the normal page.  This is where
the ‘e Cap P’ command comes in.  It will extract all the print streams
from the current document.

   Closely associated commands are ‘e r’ and ‘e Cap R’ which extract the
media streams from the current page and from the link under point,
respectively.

   The command ‘e y’ is another command that is useful for frequented
sites.  It does the same as the ‘y’ command above in that it rewrites
the url at point and follows it.  In addition, it filters the output by
a particular CSS class.

   The command ‘e e’ does more magic to the url at point.  It processes
the url using a specific function.  For example, it can be used in
retrieving radio content from the BBC. If you execute ‘C-e u’ and type
in ‘BBC Channel On Demand’ or use tab completion to get the same, and
then type in ‘radio4’ you will be presented with a page containing a
plethora of links to other pages containing information about particular
shows.  On these pages there is, somewhere, a link that will play the
program.  If you hit enter on one of the links on the first page, you
will be taken to one of these description pages.  By using the ‘e e’
command on a link you cut out this middle step and proceed directly to
playing the program you are interested in.

   If there is no executor defined for a current buffer, hitting <TAB>
after ‘e e’ will give you a list of possibilities to choose from.  One
nice feature of this function is that it can be used for any function.
If you cannot remember the keystroke that will play the url under point
in ‘emacspeak-m-player’, but you know what it is called, you can hit ‘e
e’ and then enter the name of the function.  Nice.

   The ‘e f’ command will run the current page through an XPath filter
and return the results.  For more information on XPath, see
<http://en.wikipedia.org/wiki/XPath>.  If you wanted to see only the
links on a page, when prompted enter ‘//a’ and you will be returned
every link on the page.  If you wanted to see only the contents of "p"
tags, you would enter ‘//p’.  This can be useful for many things, form
elements included.  Giving this command a prefix argument will reverse
the filter, giving you everything but the content of the specified tag.

   A related command can be invoked with the ‘e p’ keystroke.  This
command does the same as the filter above but works on the url under
point.

emacs/w3 tips and tricks
========================

As I mentioned above, using ‘C-g’ when it seems the browser is not
responding will often display the page with no ill effects.  Your
mileage may vary.  Taxes, tags and title are extra.

   Also mentioned above is the use of sort-tables or identity as an xsl
transform to speed up the rendering of pages.  Every little bit helps.

   Another useful tip is the use of the ‘k’ key.  This key will place
the current url in the kill-ring for later yanking.  If a page will not
render correctly, using ‘k’ will get the url and allow me to pass it to
emacs-w3m.  The counterpart to this command, ‘cap K’ puts the url under
point in the kill-ring.


File: emacspeak.info,  Node: Add-ons,  Next: Conclusion,  Prev: emacs-w3,  Up: Web Browsing

10.4.3 Add-ons
--------------

Some of these are emacspeak specific, some are not.  You can usually
tell by the name.

emacspeak url template
======================

I love this package.  Since changing my primary browser to emacs/w3 I
have really been giving the ‘url-template’ package a workout.  The
‘url-template’ package contains templates that prompt you for
information to supply to various sites to retrieve information without
all the fuss of having to go to the site and navigate it.  One really
nice thing about url-templates is the fact that they need not be web
pages.  Media streams can also be made into url-templates.

   The way to get to the templates is with the command ‘C-e u’.  A <TAB>
at the prompt will give you a list of the available templates.  You
should go now and have a look at the info manual section on *Note URL
Templates: URL Templates, and read it.  I'll wait here.

   By the way, the ones I find most useful are the "Google Hits",
"emacswiki search" "NPR On Demand" and "Weather forecast from Weather
Underground".

emacspeak atom and emacspeak rss
================================

These are fairly simple rss and atom browsers for the emacspeak desktop.
Using the Customize interface you add feeds in the form of titles and
urls.  Then you call the readers with ‘C-e C-u’ for rss feeds and use
‘M-x emacspeak-atom-browse’ for atom feeds.  There is also emacspeak
support for newsticker, an rss / atom reader that is a part of emacs 22,
but I have never used it.

   I personally use *Note gnus: Top, for rss feeds but setting gnus up
for only that purpose is like hunting rabbits with a bazooka.

emacspeak websearch
===================

‘emacspeak-websearch’ provides more search options than you can shake a
stick at; ‘emacspeak-websearch’ provides search for dictionaries, news
sites, software sites, google tools, weather, currency converter and
much more.  It can be accessed with the keystroke ‘C-e ?’.  At the
prompt, you can enter another question mark to get a list of the
available search options.  You will then be prompted for the necessary
information.  One of the nice things about this package is that it
attempts to jump to and read the most relevant information on the result
page.  Module ‘emacspeak-websearch’ is complemented by module
‘emacspeak-url-template’; that module provides URL templates that prompt
for and retrieve the relevant information from complex Web pages.

   *Note emacspeak-websearch: emacspeak-websearch, and *Note
emacspeak-url-template: emacspeak-url-template, for more information.

bmk-mgr
=======

This is a newcomer to the emacspeak world.  In the interest of full
disclosure, I am the one that wrote the emacspeak module that makes this
package accessible.  It is a bookmarks manager that works with both
emacs/w3 and emacs-w3m.  As of the writing of this document there are
still some issues, especially when using it on emacs version 22, but
those are being worked on.  I think this is a good solution to the
problem of emacs/w3 not having bookmarks functionality and providing one
central bookmark location for those who regularly use both browsers.
See <http://www.emacswiki.org/cgi-bin/wiki/EmacsBmkMgr>, for more
information.


File: emacspeak.info,  Node: Conclusion,  Prev: Add-ons,  Up: Web Browsing

10.4.4 Conclusion
-----------------

emacspeak makes the internet not only accessible to those with visual
impairments, but it makes browsing and information retrieval quick and
efficient.  If a user will spend a little time up front to learn the
tools available to access the web, the increase in efficiency and
ability will more than make up for the time spent.  The nice thing about
these tools is that you can integrate them in your day-to-day as you
have the time.  While it is not necessary to use everything mentioned in
the above document, if you add some of these tools to your repertoire
you will not be sorry.

   In the end, no one makes you use a hammer to drive nails but it sure
beats using a banana.


File: emacspeak.info,  Node: Messaging,  Next: Editing Code,  Prev: Web Browsing,  Up: Emacs Packages

10.5 Messaging
==============

Working with messaging applications involves both authoring and browsing
content.  Emacspeak provides a rich set of speech-enabled messaging
tools.  Further, all of the tools described in the previous sections
integrate smoothly with the messaging applications described here; this
means that you do not need to re-learn a new set of work habits when
dealing with content in your messaging application.


File: emacspeak.info,  Node: Editing Code,  Next: Development Environment,  Prev: Messaging,  Up: Emacs Packages

10.6 Editing Code
=================

Files containing program source code form a very specific class of
structured documents.  Unlike documents meant for human consumption that
are often only loosely structured, program source (as a concession to
the computer's intolerance of lack of structure) are per force
well-structured and adhere to a fairly stringent syntax.

   The Emacs environment provides editing modes that are specific to
creating and maintaining software written in most popular programming
languages.  Many of these editing modes are speech-enabled by Emacspeak.
Speech-enabling these modes includes providing a rich set of
navigational commands that allow you to move through the source
efficiently.  In addition, Emacspeak's core voice-lock facilities are
used to produce audio formatted output -- this helps you spot errors
quickly.


File: emacspeak.info,  Node: Development Environment,  Next: Desktop Management,  Prev: Editing Code,  Up: Emacs Packages

10.7 Development Environment
============================

In addition to providing specialized editing modes for creating and
maintaining program source, Emacs provides a rich set of software
development tools that can be combined to create powerful Integrated
Development Environments (IDE).  These IDEs are speech-enabled by
Emacspeak to provide a versatile and powerful environment for eyes-free
software development.


File: emacspeak.info,  Node: Desktop Management,  Next: Personal Information Management,  Prev: Development Environment,  Up: Emacs Packages

10.8 Desktop Management
=======================

Emacs provides an integrated environment for performing all of ones
day-to-day computing tasks ranging from electronic messaging to software
development.  The environment derives its power from the fact that this
integration allows for content to be handled across different tasks in a
seamless manner.  In order to work effectively with large Emacs sessions
with many documents and applications open at the same time, the
Emacspeak desktop provides a powerful collection of desktop management
tools designed to help the user easily locate objects that pertain to a
given task.


File: emacspeak.info,  Node: Personal Information Management,  Next: Desktop Applications,  Prev: Desktop Management,  Up: Emacs Packages

10.9 Personal Information Management
====================================

This section describes speech-enabled tools designed to aid in personal
information management such as maintaining a daily calendar.


File: emacspeak.info,  Node: Desktop Applications,  Prev: Personal Information Management,  Up: Emacs Packages

10.10 Desktop Applications
==========================

10.10.1 Spread Sheets
---------------------

Spreadsheet applications present a two dimensional view of structured
data where the field values are (possibly) mutually dependent.  On the
Emacspeak desktop, a speech-enabled spreadsheet application can be used
to manipulate such data-driven documents ranging from simple cheque
books and expense reports to complex investment portfolios.  Where the
traditional visual interface to spreadsheets is typically independent of
the semantics of the data stored in the spreadsheet, the speech-enabled
interface is derived from the *meaning* of the various fields making up
the data.  When presenting such information on a visual display,
implicit visual layout can be used to cue the user to the meaning of
different data fields.

   On the other hand, in the case of an actively scrolling auditory
display, the spoken output needs to explicitly convey both the value and
interpretation of the different data items.  In addition, the interface
needs to enable an active dialog between user and application where the
user is able to query the system about the possible meaning of a
particular item of data.

   Finally, the aural interface needs to enable *multiple* views of the
display.  In the visual interface, such *multiple* views are
automatically enabled by the two dimensional layout combined with the
eye's ability to move rapidly around the layout structure.  Thus, while
viewing any particular row of a portfolio, one can immediately see the
current total value as well as the net gain or loss.  The Emacs
spread-sheet package ‘dismal’ can be retrieved from
<ftp://cs.nyu.edu/pub/local/fox/dismal>.

10.10.2 Forms Mode
------------------

*Forms* mode an Emacs mode designed to edit structured data records like
the line shown from file ‘/etc/passwd’ presents a user-friendly visual
interface that displays the field name along with the field value.  The
user can edit the field value and save the file, at which point the data
is written out using the underlying ‘ :’ delimited representation.  Mode
*forms* provides a flexible interface to associating meaning to the
fields of such structured data files.  For details on it use, see the
forms-mode section of the online Emacs info documentation.

10.10.3 OCR -- Reading Print Documents
--------------------------------------

Module ‘emacspeak-ocr’ implements an OCR (Optical Character Recognition)
front-end for the Emacspeak desktop.

   Page image is acquired using tools from package ‘SANE’ (Scanner
Access Now Easy).  The acquired image is run through the OCR engine if
one is available, and the results placed in a buffer that is suitable
for browsing the results.  This buffer is placed in mode
‘emacspeak-ocr-mode’ a specialized mode for reading and scanning
documents.

10.10.3.1 Emacspeak OCR Mode
............................

Emacspeak OCR mode is a special major mode for document scanning and
OCR.

   Pre-requisites:

   • A working scanner back-end like SANE on Linux.

   • An OCR engine.

   Make sure your scanner back-end works, and that you have the
utilities to scan a document and acquire an image as a tiff file.  Then
set variable EMACSPEAK-OCR-SCAN-IMAGE-PROGRAM to point at this utility.
By default, this is set to 'scanimage' which is the image scanning
utility provided by SANE.

   By default, this front-end attempts to compress the acquired tiff
image; make sure you have a utility like ‘tiffcp’.  Variable
EMACSPEAK-OCR-COMPRESS-IMAGE is set to 'tiffcp' by default; if you use
something else, you should customize this variable.

   Next, make sure you have an OCR engine installed and working.  By
default this front-end assumes that OCR is available as ‘/usr/bin/ocr’.

   Once you have ensured that acquiring an image and applying OCR to it
work independently of Emacs, you can use this Emacspeak front-end to
enable easy OCR access from within Emacspeak.

   The Emacspeak OCR front-end is launched by command “emacspeak-ocr”
bound to ‘C-e C-o’.

   This command switches to a special buffer that has OCR commands
bounds to single keystrokes -- see the key-binding list at the end of
this description.  Use Emacs online help facility to look up help on
these commands.

   Mode “emacspeak-ocr-mode” provides the necessary functionality to
scan, OCR, read and save documents.  By default, scanned images and the
resulting text are saved under directory ‘~/ocr’; see variable
EMACSPEAK-OCR-WORKING-DIRECTORY.  Invoking command
“emacspeak-ocr-open-working-directory” bound to ‘d’ will open this
directory.

   By default, the document being scanned is named 'untitled'.  You can
name the document by using command “emacspeak-ocr-name-document” bound
to ‘n’.  The document name is used in constructing the name of the image
and text files.

   Here is a list of all emacspeak OCR commands along with their
key-bindings and a brief description:

‘digit’
     “emacspeak-ocr-page” Jumps to specified page in the OCR output.

‘c’
     “emacspeak-ocr-set-compress-image-options” Interactively update
     image compression options.  Prompts with current setting in the
     minibuffer.  Setting persists for current Emacs session.

‘i’
     “emacspeak-ocr-set-scan-image-options” Interactively update scan
     image options.  Prompts with current setting in the minibuffer.
     Setting persists for current Emacs session.

‘spc’
     “emacspeak-ocr-read-current-page” Speaks current page.

‘s’
     “emacspeak-ocr-save-current-page” Saves current page as a text
     file.

‘p’
     “emacspeak-ocr-page” Prompts for a page number and moves to the
     specified page.

‘]’
     “emacspeak-ocr-forward-page” Move forward to the next page.

‘[’
     “emacspeak-ocr-backward-page” Move back to the previous page.

‘d’
     “emacspeak-ocr-open-working-directory” Open directory containing
     the results of OCR.

‘n’
     “emacspeak-ocr-name-document” Name current document.

‘o’
     “emacspeak-ocr-recognize-image” Launch OCR engine on a scanned
     image.

‘i’
     “emacspeak-ocr-scan-image” Acquire an image using ‘scanimage’.

‘RET’
     “emacspeak-ocr-scan-and-recognize” Scan and recognize a page.

‘w’
     “emacspeak-ocr-write-document” Write all pages of current document
     to a text file.

‘q’
     “bury-buffer” Bury the OCR buffer.

‘c’
     “emacspeak-ocr-customize” Customize Emacspeak OCR settings.

‘?’
     “describe-mode” Describe OCR mode.


File: emacspeak.info,  Node: Emacspeak Keymaps,  Next: Emacspeak Commands And Options,  Prev: Emacs Packages,  Up: Top

11 Emacspeak Keymaps
********************

* Menu:

* Emacspeak Keybindings On emacspeak-keymap::
* Emacspeak Keybindings On emacspeak-dtk-submap::
* Emacspeak Keybindings On emacspeak-hyper-keymap::
* Emacspeak Keybindings On emacspeak-super-keymap::
* Emacspeak Keybindings On emacspeak-alt-keymap::
* Emacspeak Keybindings On emacspeak-multi-keymap::
* Emacspeak Keybindings On emacspeak-v-keymap::
* Emacspeak Keybindings On emacspeak-x-keymap::
* Emacspeak Keybindings On emacspeak-y-keymap::
* Emacspeak Keybindings On emacspeak-z-keymap::


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-keymap,  Next: Emacspeak Keybindings On emacspeak-dtk-submap,  Up: Emacspeak Keymaps

11.1 Emacspeak Keybindings On emacspeak-keymap
==============================================

‘C-@ emacspeak-speak-current-mark’
‘C-a emacspeak-toggle-icons’
‘C-b emacspeak-bookshare’
‘C-c emacspeak-selective-display’
‘C-d emacspeak-toggle-show-point’
‘C-e move-end-of-line’
‘C-f emacspeak-find-dired’
‘TAB emacspeak-open-info’
‘C-j emacspeak-hide-speak-block-sans-prefix’
‘C-k browse-kill-ring’
‘C-l what-line’
‘RET emacspeak-websearch-google’
‘C-o emacspeak-ocr’
‘C-q emacspeak-toggle-inaudible-or-comint-autospeak’
‘C-r restart-emacs’
‘C-s tts-restart’
‘C-u emacspeak-feeds-browse’
‘C-v view-mode’
‘C-w emacspeak-speak-window-information’
‘C-x emacspeak-speak-header-line’
‘SPC emacspeak-speak-windowful’
‘! emacspeak-speak-run-shell-command’
‘$ flyspell-mode’
‘% emacspeak-speak-current-percentage’
‘& emacspeak-wizards-shell-command-on-current-file’
‘' emacspeak-empv-play-file’
‘( amixer’
‘) emacspeak-sounds-select-theme’
‘, emacspeak-buffer-select’
‘. emacspeak-buffer-select’
‘/ emacspeak-websearch-dispatch’
‘1 emacspeak-speak-this-window’
‘2 emacspeak-speak-other-window’
‘3 amixer-volume-adjust’
‘4 amixer-volume-adjust’
‘; emacspeak-multimedia’
‘= emacspeak-speak-current-column’
‘? emacspeak-websearch-dispatch’
‘@ emacspeak-speak-message-at-time’
‘A emacspeak-appt-repeat-announcement’
‘B emacspeak-speak-buffer-interactively’
‘C emacspeak-customize’
‘L emacspeak-speak-line-interactively’
‘M emacspeak-speak-minor-mode-line’
‘N emacspeak-view-emacspeak-news’
‘P emacspeak-speak-paragraph-interactively’
‘R emacspeak-speak-rectangle’
‘T emacspeak-view-emacspeak-tips’
‘V emacspeak-speak-version’
‘W emacspeak-select-window-by-name’
‘[ emacspeak-speak-paragraph’
‘\ emacspeak-toggle-speak-line-invert-filter’
‘] emacspeak-speak-page’
‘^ emacspeak-filtertext’
‘` emacspeak-speak-net-id’
‘a emacspeak-speak-message-again’
‘b emacspeak-speak-buffer’
‘c emacspeak-speak-char’
‘e move-end-of-line’
‘f emacspeak-speak-buffer-filename’
‘g keyboard-quit’
‘h emacspeak-speak-help’
‘i emacspeak-speak-rest-of-buffer’
‘j emacspeak-hide-or-expose-block’
‘k emacspeak-speak-current-kill’
‘l emacspeak-speak-line’
‘m emacspeak-speak-mode-line’
‘n emacspeak-buffer-select’
‘o delete-blank-lines’
‘p emacspeak-buffer-select’
‘r emacspeak-speak-region’
‘s dtk-stop’
‘t emacspeak-speak-time’
‘u emacspeak-url-template-fetch’
‘w emacspeak-speak-word’
‘| emacspeak-speak-line-set-column-filter’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-dtk-submap,  Next: Emacspeak Keybindings On emacspeak-hyper-keymap,  Prev: Emacspeak Keybindings On emacspeak-keymap,  Up: Emacspeak Keymaps

11.2 Emacspeak Keybindings On emacspeak-dtk-submap
==================================================

‘C-c dtk-cloud’
‘C-d dectalk’
‘C-e espeak’
‘C-j dtk-set-chunk-separator-syntax’
‘C-n dtk-notify-initialize’
‘C-o outloud’
‘C-s dectalk-soft’
‘C-v global-voice-lock-mode’
‘SPC dtk-toggle-splitting-on-white-space’
‘+ dtk-rate-adjust’
‘, dtk-toggle-punctuation-mode’
‘- dtk-rate-adjust’
‘. dtk-notify-stop’
‘0 dtk-set-predefined-rate’
‘1 dtk-set-predefined-rate’
‘2 dtk-set-predefined-rate’
‘3 dtk-set-predefined-rate’
‘4 dtk-set-predefined-rate’
‘5 dtk-set-predefined-rate’
‘6 dtk-set-predefined-rate’
‘7 dtk-set-predefined-rate’
‘8 dtk-set-predefined-rate’
‘9 dtk-set-predefined-rate’
‘= dtk-rate-adjust’
‘L dtk-local-server’
‘N dtk-set-next-language’
‘P dtk-set-previous-language’
‘R dtk-reset-state’
‘S dtk-set-language’
‘V tts-speak-version’
‘a dtk-add-cleanup-pattern’
‘c dtk-toggle-caps’
‘d dtk-select-server’
‘f dtk-set-character-scale’
‘i emacspeak-toggle-audio-indentation’
‘k emacspeak-toggle-character-echo’
‘l emacspeak-toggle-line-echo’
‘n dtk-toggle-speak-nonprinting-chars’
‘o dtk-toggle-strip-octals’
‘p dtk-set-punctuations’
‘q dtk-toggle-quiet’
‘r dtk-set-rate’
‘s dtk-toggle-split-caps’
‘v voice-lock-mode’
‘w emacspeak-toggle-word-echo’
‘z emacspeak-zap-tts’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-hyper-keymap,  Next: Emacspeak Keybindings On emacspeak-super-keymap,  Prev: Emacspeak Keybindings On emacspeak-dtk-submap,  Up: Emacspeak Keymaps

11.3 Emacspeak Keybindings On emacspeak-hyper-keymap
====================================================

‘C-a ansi-term’
‘C-b eww-list-bookmarks’
‘C-d dictionary-search’
‘C-e eshell’
‘TAB hippie-expand’
‘C-j journalctl’
‘C-l emacspeak-librivox’
‘C-t emacspeak-wizards-tramp-open-location’
‘a emacspeak-amark-browse’
‘c browse-url-chrome’
‘d magit-dispatch’
‘f magit-file-dispatch’
‘g gnus’
‘h emacspeak-m-player-from-history’
‘i ibuffer’
‘j emacspeak-zoxide’
‘l emacspeak-m-player-locate-media’
‘m vm’
‘o find-file’
‘r emacspeak-wizards-find-file-as-root’
‘s magit-status’
‘u list-unicode-display’
‘w emacspeak-wizards-noaa-weather’
‘y yas-expand’
‘DEL emacspeak-wizards-snarf-sexp’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-super-keymap,  Next: Emacspeak Keybindings On emacspeak-alt-keymap,  Prev: Emacspeak Keybindings On emacspeak-hyper-keymap,  Up: Emacspeak Keymaps

11.4 Emacspeak Keybindings On emacspeak-super-keymap
====================================================

‘SPC scratch-buffer’
‘. emacspeak-wizards-shell-directory-reset’
‘R emacspeak-webspace-feed-reader’
‘b eww-list-buffers’
‘c calculator’
‘d emacspeak-dired-downloads’
‘e elfeed’
‘f browse-url-firefox’
‘g emacspeak-google-tts’
‘h emacspeak-org-capture-link’
‘l emacspeak-wizards-locate-content’
‘m emacspeak-wizards-view-buffers-filtered-by-this-mode’
‘n emacspeak-wizards-google-news’
‘p proced’
‘r soundscape-restart’
‘s soundscape’
‘t soundscape-toggle’
‘u soundscape-update-mood’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-alt-keymap,  Next: Emacspeak Keybindings On emacspeak-multi-keymap,  Prev: Emacspeak Keybindings On emacspeak-super-keymap,  Up: Emacspeak Keymaps

11.5 Emacspeak Keybindings On emacspeak-alt-keymap
==================================================

‘C-l ellama-chat’
‘SPC emacspeak-eww-smart-tabs’
‘, eldoc’
‘a emacspeak-feeds-atom-display’
‘b sox-binaural’
‘c gptel’
‘d deadgrep’
‘e eww’
‘f ffip’
‘g rg’
‘l eww-open-file’
‘p emacspeak-wizards-pdf-open’
‘q emacspeak-wizards-quotes’
‘r emacspeak-feeds-rss-display’
‘s emacspeak-wizards-tune-in-radio-search’
‘t emacspeak-wizards-tune-in-radio-browse’
‘u emacspeak-m-player-url’
‘v visual-line-mode’
‘w define-word’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-multi-keymap,  Next: Emacspeak Keybindings On emacspeak-v-keymap,  Prev: Emacspeak Keybindings On emacspeak-alt-keymap,  Up: Emacspeak Keymaps

11.6 Emacspeak Keybindings On emacspeak-multi-keymap
====================================================

‘' emacspeak-pianobar’
‘d sdcv-search-input’
‘f ffap’
‘l locate’
‘m notmuch-search’
‘o org-mode’
‘y emacspeak-google-yt-feed’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-v-keymap,  Next: Emacspeak Keybindings On emacspeak-x-keymap,  Prev: Emacspeak Keybindings On emacspeak-multi-keymap,  Up: Emacspeak Keymaps

11.7 Emacspeak Keybindings On emacspeak-v-keymap
================================================

‘SPC emacspeak-speak-spaces’
‘a emacspeak-xslt-view-atom-file’
‘b ebuku’
‘o emacspeak-feeds-opml-display’
‘r emacspeak-xslt-view-rss-file’
‘v view-register’
‘x emacspeak-xslt-view-file’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-x-keymap,  Next: Emacspeak Keybindings On emacspeak-y-keymap,  Prev: Emacspeak Keybindings On emacspeak-v-keymap,  Up: Emacspeak Keymaps

11.8 Emacspeak Keybindings On emacspeak-x-keymap
================================================

‘C-c emacspeak-wizards-color-wheel’
‘, emacspeak-wizards-shell-directory-set’
‘. emacspeak-wizards-shell-directory-reset’
‘0 emacspeak-wizards-shell-by-key’
‘1 emacspeak-wizards-shell-by-key’
‘2 emacspeak-wizards-shell-by-key’
‘3 emacspeak-wizards-shell-by-key’
‘4 emacspeak-wizards-shell-by-key’
‘5 emacspeak-wizards-shell-by-key’
‘7 emacspeak-wizards-shell-command-on-current-file’
‘8 calc’
‘: emacspeak-m-player-loop’
‘; emacspeak-m-player-shuffle’
‘= emacspeak-wizards-find-longest-line-in-region’
‘b battery’
‘d emacspeak-speak-load-directory-settings’
‘e emacspeak-we-xsl-map’
‘f emacspeak-wizards-remote-frame’
‘h emacspeak-wizards-how-many-matches’
‘i ibuffer’
‘k emacspeak-desktop-preserve’
‘m mspools-show’
‘o emacspeak-wizards-occur-header-lines’
‘p paradox-list-packages’
‘t emacspeak-speak-telephone-directory’
‘u emacspeak-wizards-units’
‘v emacspeak-wizards-vc-viewer’
‘w emacspeak-wizards-noaa-weather’
‘x exchange-point-and-mark’
‘| emacspeak-wizards-squeeze-blanks’
‘DEL desktop-clear’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-y-keymap,  Next: Emacspeak Keybindings On emacspeak-z-keymap,  Prev: Emacspeak Keybindings On emacspeak-x-keymap,  Up: Emacspeak Keymaps

11.9 Emacspeak Keybindings On emacspeak-y-keymap
================================================

‘E emacspeak-epub-eww’
‘b emacspeak-bookshare-eww’
‘l emacspeak-empv-play-last’
‘p empv-youtube-playlist’
‘r emacspeak-empv-radio’
‘t empv-youtube-tabulated’
‘y emacspeak-empv-play-url’


File: emacspeak.info,  Node: Emacspeak Keybindings On emacspeak-z-keymap,  Prev: Emacspeak Keybindings On emacspeak-y-keymap,  Up: Emacspeak Keymaps

11.10 Emacspeak Keybindings On emacspeak-z-keymap
=================================================

‘SPC flyspell-mode’
‘b emacspeak-wizards-view-buffers-filtered-by-this-mode’
‘c calibredb’
‘d magit-dispatch’
‘e emacspeak-wizards-eww-buffer-list’
‘f magit-file-dispatch’
‘l emacspeak-m-player-locate-media’
‘n emacspeak-wizards-buffer-select’
‘p emacspeak-wizards-buffer-select’
‘r restart-emacs’
‘s magit-status’
‘z suspend-frame’
* Menu:

* amixer::Set Audio Volume from Emacs.
* dectalk-voices::Dectalk Voice  Codes.
* dom-addons::dom.el addons.
* dtk-speak::Interface to speech server.
* emacspeak::The Complete Audio Desktop.
* emacspeak-2048::Speech-enable 2048 Game.
* emacspeak-abc-mode::Speech-enable ABC.
* emacspeak-add-log::Speech-enable add-log.
* emacspeak-advice::Advice Emacs Core.
* emacspeak-amark::BookMarks For Audio.
* emacspeak-analog::
* emacspeak-annotate::Annotations.
* emacspeak-arc::Speech enable archive-mode.
* emacspeak-auctex::Speech enable AucTeX -.
* emacspeak-bbdb::Speech enable BBDB.
* emacspeak-bibtex::Speech enable bibtex.
* emacspeak-bookmark::Speech enable bookmark.
* emacspeak-bookshare::BOOKSHARE client.
* emacspeak-browse-kill-ring::kill-ring.
* emacspeak-bs::speech-enable bs.
* emacspeak-buff-menu::Speech enable buff.
* emacspeak-c::Speech enable C, C++.
* emacspeak-calc::Speech enable Calc.
* emacspeak-calculator::Extend calculator.
* emacspeak-calendar::Speech enable Calendar.
* emacspeak-calibredb::CALIBREDB.
* emacspeak-chess::Speech-enable CHESS.
* emacspeak-cider::Speech-enable CIDER.
* emacspeak-ciel::Speech-enable CIEL.
* emacspeak-clojure::Speech-enable CLOJURE.
* emacspeak-cmuscheme::CMUScheme.
* emacspeak-combobulate::Speech-enable.
* emacspeak-comint::Speech-enable COMINT.
* emacspeak-company::Speech-enable COMPANY.
* emacspeak-compile::Speech enable compile.
* emacspeak-cperl::Speech enable CPerl.
* emacspeak-custom::Speech enable custom.
* emacspeak-dbus::DBus On Emacspeak.
* emacspeak-deadgrep::Speech-enable DEADGREP.
* emacspeak-debugger::Speech-enable DEBUG.
* emacspeak-desktop::Speech-enable desktop.
* emacspeak-devdocs::Speech-enable DEVDOCS.
* emacspeak-dictionary::dictionaries.
* emacspeak-diff-mode::Speech-enable DIFF.
* emacspeak-dired::Speech enable Dired Mode.
* emacspeak-dismal::Speech enable Dismal.
* emacspeak-dumb-jump::DUMB-JUMP.
* emacspeak-eat::Speech-enable EAT.
* emacspeak-ebuku::Speech-enable EBUKU.
* emacspeak-ecb::speech-enable ECB.
* emacspeak-ediff::Speech enable  ediff.
* emacspeak-eglot::Speech-enable EGLOT.
* emacspeak-ein::Speech-enable EIN.
* emacspeak-elfeed::Speech-enable ELFEED.
* emacspeak-elisp-refs::ELISP-REFS.
* emacspeak-ellama::Speech-enable ELLAMA.
* emacspeak-elpher::Speech-enable ELPHER.
* emacspeak-elpy::Speech-enable ELPY.
* emacspeak-elscreen::ELSCREEN.
* emacspeak-emms::Speech-enable EMMS.
* emacspeak-empv::Speech-enable EMPV.
* emacspeak-enriched::Audio FormatRichtext.
* emacspeak-entertain::Speech enable games.
* emacspeak-enwc::Speech-enable ENWC.
* emacspeak-epa::Speech-enable GPG Helper.
* emacspeak-eperiodic::Periodic Table.
* emacspeak-epub::epubs for  desktop.
* emacspeak-erc::speech-enable erc.
* emacspeak-eshell::Speech-enable EShell.
* emacspeak-ess::Speech-enable ESS.
* emacspeak-etable::Speech enable table.el.
* emacspeak-eterm::Speech enable eterm.
* emacspeak-eudc::Speech enable  LDAP.
* emacspeak-evil::Speech-enable EVIL.
* emacspeak-eww::Speech-enable EWW Browser.
* emacspeak-extras::Speech-enable EXTRAS.
* emacspeak-exwm::Speech-enable EXWM.
* emacspeak-feeds::Atom, RSS.
* emacspeak-ffap::Speech-enable FFAP.
* emacspeak-ffip::Speech-enable FFIP.
* emacspeak-filtertext::filter text.
* emacspeak-flycheck::Speech-enable FLYCHECK.
* emacspeak-flymake::Speech-enable FLYMAKE.
* emacspeak-flyspell::Speech enable flyspell.
* emacspeak-folding::
* emacspeak-forge::Speech-enable FORGE.
* emacspeak-forms::Speech enable  forms mode.
* emacspeak-geiser::Speech-enable GEISER.
* emacspeak-gh-explorer::GH-EXPLORER.
* emacspeak-gnuplot::speech-enable gnuplot.
* emacspeak-gnus::Speech enable Gnus.
* emacspeak-go-mode::Speech-enable GO-MODE.
* emacspeak-gomoku::Speech enable Gomoku.
* emacspeak-google::Google Search Tools.
* emacspeak-gridtext::Filter columnar text.
* emacspeak-gtags::Speech-enable GTAGS.
* emacspeak-gud::Speech enable debugger.
* emacspeak-haskell::Speech-enable HASKELL.
* emacspeak-helm::Speech-enable HELM.
* emacspeak-hide::Hide/Expose Text blocks.
* emacspeak-hide-lines::HIDE-LINES.
* emacspeak-hideshow::speech-enable hideshow.
* emacspeak-hydra::Speech-Enable hydra.
* emacspeak-ibuffer::speech-enable ibuffer.
* emacspeak-ido::speech-enable ido.
* emacspeak-iedit::Speech-enable IEDIT.
* emacspeak-indium::Speech-enable INDIUM.
* emacspeak-info::Speech enable Info -.
* emacspeak-ispell::Speech enable Ispell.
* emacspeak-ivy::Speech-enable IVY.
* emacspeak-jabber::Speech-Enable jabber.
* emacspeak-jdee::Speech enable JDEE.
* emacspeak-journalctl::JOURNALCTL.
* emacspeak-js2::Speech-enable JS2.
* emacspeak-keymap::Setup   keybindings.
* emacspeak-kmacro::Speech-enable KMacros.
* emacspeak-librivox::LIBRIVOX API client.
* emacspeak-lispy::Speech-enable LISPY.
* emacspeak-lua::Speech-enable LUA.
* emacspeak-m-player::Media Player.
* emacspeak-magit::Speech-enable MAGIT.
* emacspeak-make-mode::Speech enable make.
* emacspeak-man::Speech enable Man.
* emacspeak-markdown::Speech-enable MARKDOWN.
* emacspeak-maths::Audio-Formatted Maths.
* emacspeak-message::Speech enable Message.
* emacspeak-metapost::speech-enable metapost.
* emacspeak-midge::Speech-enable Midge.
* emacspeak-mines::Speech-enable MINES.
* emacspeak-mspools::Speech enable MSpools.
* emacspeak-muggles::Convenience Hydras.
* emacspeak-muse::Speech-enable Muse.
* emacspeak-net-utils::net-utils.
* emacspeak-newsticker::newsticker.
* emacspeak-notmuch::Speech-enable NOTMUCH.
* emacspeak-nov::Speech-enable NOV.
* emacspeak-nxml::Speech enable nxml mode.
* emacspeak-ocr::ocr Front-end desktop.
* emacspeak-org::Speech-enable org.
* emacspeak-orgalist::Speech-enable ORGALIST.
* emacspeak-outline::Speech enable Outline.
* emacspeak-package::Speech-enable PACKAGE.
* emacspeak-paradox::Speech-enable PARADOX.
* emacspeak-perl::Speech enable Perl Mode.
* emacspeak-pianobar::Speech-enable Pandora.
* emacspeak-pipewire::Speech-enable PIPEWIRE.
* emacspeak-popup::Speech-enable POPUP.
* emacspeak-preamble::standard  include.
* emacspeak-proced::Speech-enable PROCED.
* emacspeak-project::Speech-enable PROJECT.
* emacspeak-projectile::PROJECTILE.
* emacspeak-pronounce::pronunciations.
* emacspeak-py::Speech enable Python.
* emacspeak-pydoc::Speech-enable PYDOC.
* emacspeak-python::Speech enable Python.
* emacspeak-racer::Speech-enable RACER.
* emacspeak-racket::Speech-enable RACKET.
* emacspeak-re-builder::re-builder.
* emacspeak-reftex::speech enable reftex.
* emacspeak-related::Speech-enable RELATED.
* emacspeak-rg::Speech-enable RG.
* emacspeak-rmail::Speech enable RMail.
* emacspeak-rpm-spec::Speech enable rpm spec.
* emacspeak-rst::Speech-enable RST.
* emacspeak-ruby::Speech enable Ruby Mode.
* emacspeak-rust-mode::Speech-enable RUST.
* emacspeak-sage::Speech-enable SAGE.
* emacspeak-sdcv::Speech-enable SDCV.
* emacspeak-selectrum::SELECTRUM.
* emacspeak-ses::Speech-enable ses.
* emacspeak-setup::Setup Emacspeak -.
* emacspeak-sgml-mode::Speech enable SGML.
* emacspeak-sh-script::Speech enable script.
* emacspeak-shx::Speech-enable SHX.
* emacspeak-slime::Speech-enable SLIME.
* emacspeak-smartparens::SMARTPARENS.
* emacspeak-solitaire::Solitaire.
* emacspeak-sounds::auditory icons.
* emacspeak-speak::Core Speech Lib.
* emacspeak-speedbar::speedbar -.
* emacspeak-sql::Speech enable sql-mode.
* emacspeak-sudoku::Play SuDoku.
* emacspeak-supercite::Speech enable SC.
* emacspeak-syslog::Speech-enable SYSLOG.
* emacspeak-tab-bar::Speech-enable tab-bar.
* emacspeak-table::Table data model.
* emacspeak-table-ui::Table Navigation UI.
* emacspeak-tabulate::Handle table data.
* emacspeak-tabulated-list::Speech-enable.
* emacspeak-tar::Speech enable Tar Mode.
* emacspeak-tcl::Speech enable TCL.
* emacspeak-tempo::Speech enable tempo.
* emacspeak-tetris::Tetris.
* emacspeak-texinfo::Speech enable texinfo.
* emacspeak-threes::Speech-enable THREES.
* emacspeak-tide::Speech-enable TIDE.
* emacspeak-todo-mode::speech-enable todo.
* emacspeak-transient::TRANSIENT.
* emacspeak-treesit::Speech-enable TREESIT.
* emacspeak-typo::Speech-enable TYPO.
* emacspeak-url-template::URI templates.
* emacspeak-vdiff::Speech-enable VDIFF.
* emacspeak-vertico::Speech-enable Vertico.
* emacspeak-view::Speech enable View mode -.
* emacspeak-vm::Speech enable VMMail.
* emacspeak-vterm::Speech-enable VTERM.
* emacspeak-vuiet::Speech-enable VUIET.
* emacspeak-wdired::Speech-enable wdired.
* emacspeak-we::Transform WebUsing XSLT.
* emacspeak-websearch::search utilities.
* emacspeak-webspace::Webspaces.
* emacspeak-widget::Speech enable widgets.
* emacspeak-windmove::windmove.
* emacspeak-winring::Speech enable WinRing.
* emacspeak-wizards::Magic.
* emacspeak-woman::Speech-enable WOMAN.
* emacspeak-xkcd::Speech-enable XKCD.
* emacspeak-xref::Speech-enable XREF.
* emacspeak-xslt::XSLT.
* emacspeak-yaml::Speech-enable YAML.
* emacspeak-yasnippet::YASNIPPET.
* espeak-voices::Define  Espeak tags.
* extra-muggles::Additional Hydras.
* g-utils::Google Client Utilities.
* gm-nnir::Searching GMail Using NNIR.
* gmaps::Google Maps.
* ladspa::Ladspa Tools For Emacs.
* light::Control Brightness.
* mac-voices::Define  Mac tags.
* omaps::Open street  Maps.
* outloud-voices::Define  OutLoud tags.
* pip::Interface To Piper TTS.
* plain-voices::No Voice lock voices.
* soundscape::Soundscapes.
* sox::An Audio Work-Bench.
* sox-gen::Binaural Beats And More Using SoX.
* swiftmac-voices::Define  Swiftmac tags.
* tetris::Tetris for Emacs.
* voice-defs::Define voices for voice-lock.
* voice-setup::Setup voices for voice-lock.
* xbacklight::Brightness.
* URL Templates ::


File: emacspeak.info,  Node: Emacspeak Commands And Options,  Next: Running Terminal Based Applications,  Prev: Emacspeak Keymaps,  Up: Top

12 Emacspeak Commands And Options
*********************************

Overview
========

This chapter documents the various Emacspeak modules and is
auto-generated from the Emacspeak source code.  It is meant to be a
complete reference to the emacspeak implementation while also providing
high-level usage summaries of some of the larger Emacspeak modules.

   Each section provides a high-level overview of that module, followed
by detailed description of the commands and options defined in that
module.

   Emacspeak modules can be classified as follows:
  1. Modules that interface with various TTS engines, e.g.
     ‘espeak-voices’ and ‘dectalk-voices’.

  2. Modules that implement core Emacspeak functionality, e.g.,
     ‘emacspeak-speak’, ‘emacspeak-keymap’, ‘voice-lock’ and
     ‘emacspeak-advice’.

  3. Emacspeak extensions that speech-enable various emacs packages,
     these are all named using the convention ‘emacspeak-<PACKAGENAME>’.

   The first two of the above are mostly of interest when extending
Emacspeak, or to learn how things are implemented.  The third category
is useful in understanding how emacspeak works with a given package;
thus, when learning to use the Emacs Web Browser (EWW), read the *Note
(emacs)EWW:: documentation, then *Note emacspeak-eww::.

   This chapter documents a total of 1178 commands and 127 options.

* Menu:

* amixer::
* dectalk-voices::
* dom-addons::
* dtk-speak::
* emacspeak::
* emacspeak-2048::
* emacspeak-abc-mode::
* emacspeak-add-log::
* emacspeak-advice::
* emacspeak-amark::
* emacspeak-analog::
* emacspeak-annotate::
* emacspeak-arc::
* emacspeak-auctex::
* emacspeak-bbdb::
* emacspeak-bibtex::
* emacspeak-bookmark::
* emacspeak-bookshare::
* emacspeak-browse-kill-ring::
* emacspeak-bs::
* emacspeak-buff-menu::
* emacspeak-c::
* emacspeak-calc::
* emacspeak-calculator::
* emacspeak-calendar::
* emacspeak-calibredb::
* emacspeak-chess::
* emacspeak-cider::
* emacspeak-ciel::
* emacspeak-clojure::
* emacspeak-cmuscheme::
* emacspeak-combobulate::
* emacspeak-comint::
* emacspeak-company::
* emacspeak-compile::
* emacspeak-cperl::
* emacspeak-custom::
* emacspeak-dbus::
* emacspeak-deadgrep::
* emacspeak-debugger::
* emacspeak-desktop::
* emacspeak-devdocs::
* emacspeak-dictionary::
* emacspeak-diff-mode::
* emacspeak-dired::
* emacspeak-dismal::
* emacspeak-dumb-jump::
* emacspeak-eat::
* emacspeak-ebuku::
* emacspeak-ecb::
* emacspeak-ediff::
* emacspeak-eglot::
* emacspeak-ein::
* emacspeak-elfeed::
* emacspeak-elisp-refs::
* emacspeak-ellama::
* emacspeak-elpher::
* emacspeak-elpy::
* emacspeak-elscreen::
* emacspeak-emms::
* emacspeak-empv::
* emacspeak-enriched::
* emacspeak-entertain::
* emacspeak-enwc::
* emacspeak-epa::
* emacspeak-eperiodic::
* emacspeak-epub::
* emacspeak-erc::
* emacspeak-eshell::
* emacspeak-ess::
* emacspeak-etable::
* emacspeak-eterm::
* emacspeak-eudc::
* emacspeak-evil::
* emacspeak-eww::
* emacspeak-extras::
* emacspeak-exwm::
* emacspeak-feeds::
* emacspeak-ffap::
* emacspeak-ffip::
* emacspeak-filtertext::
* emacspeak-flycheck::
* emacspeak-flymake::
* emacspeak-flyspell::
* emacspeak-folding::
* emacspeak-forge::
* emacspeak-forms::
* emacspeak-geiser::
* emacspeak-gh-explorer::
* emacspeak-gnuplot::
* emacspeak-gnus::
* emacspeak-go-mode::
* emacspeak-gomoku::
* emacspeak-google::
* emacspeak-gridtext::
* emacspeak-gtags::
* emacspeak-gud::
* emacspeak-haskell::
* emacspeak-helm::
* emacspeak-hide::
* emacspeak-hide-lines::
* emacspeak-hideshow::
* emacspeak-hydra::
* emacspeak-ibuffer::
* emacspeak-ido::
* emacspeak-iedit::
* emacspeak-indium::
* emacspeak-info::
* emacspeak-ispell::
* emacspeak-ivy::
* emacspeak-jabber::
* emacspeak-jdee::
* emacspeak-journalctl::
* emacspeak-js2::
* emacspeak-keymap::
* emacspeak-kmacro::
* emacspeak-librivox::
* emacspeak-lispy::
* emacspeak-lua::
* emacspeak-m-player::
* emacspeak-magit::
* emacspeak-make-mode::
* emacspeak-man::
* emacspeak-markdown::
* emacspeak-maths::
* emacspeak-message::
* emacspeak-metapost::
* emacspeak-midge::
* emacspeak-mines::
* emacspeak-mspools::
* emacspeak-muggles::
* emacspeak-muse::
* emacspeak-net-utils::
* emacspeak-newsticker::
* emacspeak-notmuch::
* emacspeak-nov::
* emacspeak-nxml::
* emacspeak-ocr::
* emacspeak-org::
* emacspeak-orgalist::
* emacspeak-outline::
* emacspeak-package::
* emacspeak-paradox::
* emacspeak-perl::
* emacspeak-pianobar::
* emacspeak-pipewire::
* emacspeak-popup::
* emacspeak-preamble::
* emacspeak-proced::
* emacspeak-project::
* emacspeak-projectile::
* emacspeak-pronounce::
* emacspeak-py::
* emacspeak-pydoc::
* emacspeak-python::
* emacspeak-racer::
* emacspeak-racket::
* emacspeak-re-builder::
* emacspeak-reftex::
* emacspeak-related::
* emacspeak-rg::
* emacspeak-rmail::
* emacspeak-rpm-spec::
* emacspeak-rst::
* emacspeak-ruby::
* emacspeak-rust-mode::
* emacspeak-sage::
* emacspeak-sdcv::
* emacspeak-selectrum::
* emacspeak-ses::
* emacspeak-setup::
* emacspeak-sgml-mode::
* emacspeak-sh-script::
* emacspeak-shx::
* emacspeak-slime::
* emacspeak-smartparens::
* emacspeak-solitaire::
* emacspeak-sounds::
* emacspeak-speak::
* emacspeak-speedbar::
* emacspeak-sql::
* emacspeak-sudoku::
* emacspeak-supercite::
* emacspeak-syslog::
* emacspeak-tab-bar::
* emacspeak-table::
* emacspeak-table-ui::
* emacspeak-tabulate::
* emacspeak-tabulated-list::
* emacspeak-tar::
* emacspeak-tcl::
* emacspeak-tempo::
* emacspeak-tetris::
* emacspeak-texinfo::
* emacspeak-threes::
* emacspeak-tide::
* emacspeak-todo-mode::
* emacspeak-transient::
* emacspeak-treesit::
* emacspeak-typo::
* emacspeak-url-template::
* emacspeak-vdiff::
* emacspeak-vertico::
* emacspeak-view::
* emacspeak-vm::
* emacspeak-vterm::
* emacspeak-vuiet::
* emacspeak-wdired::
* emacspeak-we::
* emacspeak-websearch::
* emacspeak-webspace::
* emacspeak-widget::
* emacspeak-windmove::
* emacspeak-winring::
* emacspeak-wizards::
* emacspeak-woman::
* emacspeak-xkcd::
* emacspeak-xref::
* emacspeak-xslt::
* emacspeak-yaml::
* emacspeak-yasnippet::
* espeak-voices::
* extra-muggles::
* g-utils::
* gm-nnir::
* gmaps::
* ladspa::
* light::
* mac-voices::
* omaps::
* outloud-voices::
* pip::
* plain-voices::
* soundscape::
* sox::
* sox-gen::
* swiftmac-voices::
* tetris::
* voice-defs::
* voice-setup::
* xbacklight::
* URL Templates::


File: emacspeak.info,  Node: amixer,  Next: dectalk-voices,  Up: Emacspeak Commands And Options

12.1 amixer
===========

Provide an emacs front-end to amixer, the sound mixer in ALSA that is
used to configure the audio device.  Note that ‘amixer’ also works on
pipewire-based systems.  The main entry point is command ‘amixer’ bound
to ‘C-e)’.  When called for the first time, this command builds up a
database of available controls on the default audio device.  These
control names are then available for completion in the minibuffer.  Pick
a desired control, e.g., "master playback volume", and this displays a
prompt with the current value.  Enter the new value and press <RETURN>.
To reset all controls to their default values, Press ‘C-j’.

12.1.1 Amixer Commands
----------------------

12.1.1.1 amixer
...............

 -- Command: amixer (&optional refresh)
     ‘C-e (’

     ALSA settings.
     Interactive prefix arg refreshes cache.

     (fn &optional REFRESH)

12.1.1.2 amixer-query
.....................

 -- Command: amixer-query (&optional refresh)

     Show setting for specified control.

     (fn &optional REFRESH)

12.1.1.3 amixer-store
.....................

 -- Command: amixer-store

     Persist  amixer.

12.1.1.4 amixer-volume-adjust
.............................

 -- Command: amixer-volume-adjust
     ‘C-e 4’
     ‘C-e 3’

     Adjust volume continuously.
     Press C-e 3 to lower volume; C-e 4 to increase it. Subsequent presses
     of 3 and 4 lower or raise volume.

12.1.1.5 amixer-volume-down
...........................

 -- Command: amixer-volume-down (&optional prompt)
     ‘<XF86AudioLowerVolume>’
     ‘C-<f1>’

     Lower Master volume by amixer-volume-step.
     Interactive prefix arg ‘PROMPT’ reads percentage as a number

     (fn &optional PROMPT)

12.1.1.6 amixer-volume-up
.........................

 -- Command: amixer-volume-up (&optional prompt)
     ‘<XF86AudioRaiseVolume>’
     ‘C-<f2>’

     Raise Master volume by amixer-volume-step.
     Interactive prefix arg ‘PROMPT’ reads percentage as a number

     (fn &optional PROMPT)

12.1.2 amixer Options
---------------------

 -- Variable: User Option amixer-volume-step
     Step-size for volume change.

     Default Value:
     
     1
     


File: emacspeak.info,  Node: dectalk-voices,  Next: dom-addons,  Prev: amixer,  Up: Emacspeak Commands And Options

12.2 dectalk-voices
===================

This module defines the various voices used in voice-lock mode.  This
module is Dectalk specific.

12.2.1 Dectalk-Voices Commands
------------------------------

12.2.1.1 dectalk
................

 -- Command: dectalk
     ‘C-e d C-d’

     Dectalk TTS.

12.2.1.2 dectalk-soft
.....................

 -- Command: dectalk-soft
     ‘C-e d C-s’

     Software Dectalk TTS.

12.2.2 dectalk-voices Options
-----------------------------

 -- Variable: User Option dectalk-default-speech-rate
     Default speech rate for DECTalk engines. 

     Default Value:
     
     225
     


File: emacspeak.info,  Node: dom-addons,  Next: dtk-speak,  Prev: dectalk-voices,  Up: Emacspeak Commands And Options

12.3 dom-addons
===============

Useful additional functions for dom.el


File: emacspeak.info,  Node: dtk-speak,  Next: emacspeak,  Prev: dom-addons,  Up: Emacspeak Commands And Options

12.4 dtk-speak
==============

This module defines the TTS interface.  Here, prefix dtk is synonymous
with tts.

12.4.1 Dtk-Speak Commands
-------------------------

12.4.1.1 dtk-add-cleanup-pattern
................................

 -- Command: dtk-add-cleanup-pattern (&optional delete)
     ‘C-e d a’

     Add this pattern to the list of repeating patterns.
       Optional interactive prefix arg deletes
     this pattern if previously added.

     (fn &optional DELETE)

12.4.1.2 dtk-cloud
..................

 -- Command: dtk-cloud
     ‘C-e d C-c’

     Select  Cloud TTS server.

12.4.1.3 dtk-local-server
.........................

 -- Command: dtk-local-server (program &optional prompt-port)
     ‘C-e d L’

     Select and start an local speech server interactively. Local server
     lets Emacspeak on a remote host connect back via SSH port forwarding
     for instance. Argument PROGRAM specifies the speech server
     program. Port defaults to dtk-local-server-port

     (fn PROGRAM &optional PROMPT-PORT)

12.4.1.4 dtk-notify-initialize
..............................

 -- Command: dtk-notify-initialize
     ‘C-e d C-n’

     Initialize notification TTS stream.

12.4.1.5 dtk-notify-stop
........................

 -- Command: dtk-notify-stop
     ‘C-e d .’

     Stop  speech on notification stream.

12.4.1.6 dtk-rate-adjust
........................

 -- Command: dtk-rate-adjust
     ‘C-e d -’
     ‘C-e d +’
     ‘C-e d =’

     Adjust speech rate in current buffer, inspired by
       text-scale-adjust.   Invoke this command via C-e d =/+ or
     C-impel-d -. Pressing =,+, or - immediately continues to adjust
     the speech rate.  Call when on a non-blank line to preview the effectt

12.4.1.7 dtk-reset-state
........................

 -- Command: dtk-reset-state
     ‘C-e d R’

     Reset TTS engine.

12.4.1.8 dtk-select-server
..........................

 -- Command: dtk-select-server (program)
     ‘C-e d d’

     Select  speech server ‘program’.

     (fn PROGRAM)

12.4.1.9 dtk-set-character-scale
................................

 -- Command: dtk-set-character-scale (factor &optional prefix)
     ‘C-e d f’

     Set character scale FACTOR for   speech rate.
     Speech rate is scaled by this factor when speaking characters.
     Not presently used by either Dectalk or Viavoice TTS.
     Interactive PREFIX arg means set the global default value, and
     then set the current local value to the result.

     (fn FACTOR &optional PREFIX)

12.4.1.10 dtk-set-chunk-separator-syntax
........................................

 -- Command: dtk-set-chunk-separator-syntax (s)
     ‘C-e d C-j’

     Interactively set how text is split in chunks.
     Argument S specifies the syntax class.

     (fn S)

12.4.1.11 dtk-set-language
..........................

 -- Command: dtk-set-language (lang)
     ‘C-e d S’

     Set language. If your server supports it, also set the synthesis
      voice, using the syntax language:voice , where language can be
      omitted.

     (fn LANG)

12.4.1.12 dtk-set-next-language
...............................

 -- Command: dtk-set-next-language
     ‘C-e d N’

     Switch to  next  language

12.4.1.13 dtk-set-predefined-rate
.................................

 -- Command: dtk-set-predefined-rate (&optional prefix)
     ‘C-e d 9’
     ‘C-e d 8’
     ‘C-e d 7’
     ‘C-e d 6’
     ‘C-e d 5’
     ‘C-e d 4’
     ‘C-e d 3’
     ‘C-e d 2’
     ‘C-e d 1’
     ‘C-e d 0’

     Set speech rate to one of nine predefined levels.
     Interactive PREFIX arg says to set the rate globally.
     Formula used is:
     rate = dtk-speech-rate-base + dtk-speech-rate-step * level.

     (fn &optional PREFIX)

12.4.1.14 dtk-set-preferred-language
....................................

 -- Command: dtk-set-preferred-language (alias lang)

     Set language by alias.

     (fn ALIAS LANG)

12.4.1.15 dtk-set-previous-language
...................................

 -- Command: dtk-set-previous-language
     ‘C-e d P’

     Switch to  previous  language

12.4.1.16 dtk-set-punctuations
..............................

 -- Command: dtk-set-punctuations (mode &optional prefix)
     ‘C-e d p’

     Set punctuation mode to MODE.
     Possible values are ‘some’, ‘all’, or ‘none’.
     Interactive PREFIX arg means set   the global default value, and then set the
     current local  value to the result.

     (fn MODE &optional PREFIX)

12.4.1.17 dtk-set-punctuations-to-all
.....................................

 -- Command: dtk-set-punctuations-to-all (&optional prefix)

     Set punctuation  mode to all.
     Interactive PREFIX arg sets punctuation mode globally.

     (fn &optional PREFIX)

12.4.1.18 dtk-set-punctuations-to-some
......................................

 -- Command: dtk-set-punctuations-to-some (&optional prefix)

     Set punctuation  mode to some.
     Interactive PREFIX arg sets punctuation mode globally.

     (fn &optional PREFIX)

12.4.1.19 dtk-set-rate
......................

 -- Command: dtk-set-rate (rate &optional prefix)
     ‘C-e d r’

     Set speaking RATE.
     Interactive PREFIX arg means set   the global default value, and then set the
     current local  value to the result.

     (fn RATE &optional PREFIX)

12.4.1.20 dtk-stop
..................

 -- Command: dtk-stop (&optional all)
     ‘<fn>’
     ‘C-e s’

     Stop speech.  Optional arg ‘all’ or interactive call silences
     notification stream as well.

     (fn &optional ALL)

12.4.1.21 dtk-toggle-caps
.........................

 -- Command: dtk-toggle-caps (&optional prefix)
     ‘C-e d c’

     Toggle dtk-caps.
     Interactive PREFIX arg means toggle the global default
     value, and then set the current local value to the result.

12.4.1.22 dtk-toggle-punctuation-mode
.....................................

 -- Command: dtk-toggle-punctuation-mode (&optional prefix)
     ‘C-e d ,’

     Toggle punctuation mode between "some" and "all".
     Interactive PREFIX arg makes the new setting global.

     (fn &optional PREFIX)

12.4.1.23 dtk-toggle-quiet
..........................

 -- Command: dtk-toggle-quiet (&optional prefix)
     ‘C-e d q’

     Toggles state of  dtk-quiet.
     Turning on this switch silences speech.  Optional interactive
     prefix arg causes this setting to become global.

12.4.1.24 dtk-toggle-speak-nonprinting-chars
............................................

 -- Command: dtk-toggle-speak-nonprinting-chars (&optional prefix)
     ‘C-e d n’

     Toggle speak-nonprinting-chars.
     Interactive PREFIX arg means toggle the global default
     value, and then set the current local value to the result.

12.4.1.25 dtk-toggle-split-caps
...............................

 -- Command: dtk-toggle-split-caps (&optional prefix)
     ‘C-e d s’

     Toggle split caps mode.
     Split caps mode is useful when reading Hungarian notation in
     program source code.  Interactive PREFIX arg means toggle the
     global default value, and then set the current local value to the
     result.

12.4.1.26 dtk-toggle-splitting-on-white-space
.............................................

 -- Command: dtk-toggle-splitting-on-white-space
     ‘C-e d SPC’

     Toggle splitting of speech on white space.

12.4.1.27 dtk-toggle-strip-octals
.................................

 -- Command: dtk-toggle-strip-octals (&optional prefix)
     ‘C-e d o’

     Toggle stripping of octals.
     Interactive prefix arg means
      toggle the global default value, and then set the current local
     value to the result.

12.4.1.28 dtk-unicode-customize-char
....................................

 -- Command: dtk-unicode-customize-char (char replacement)

     Add a custom replacement string for CHAR.

     When called interactively, CHAR defaults to the character after point.

     (fn CHAR REPLACEMENT)

12.4.1.29 dtk-unicode-uncustomize-char
......................................

 -- Command: dtk-unicode-uncustomize-char (char)

     Delete custom replacement for CHAR.

     When called interactively, CHAR defaults to the character after point.

     (fn CHAR)

12.4.1.30 tts-restart
.....................

 -- Command: tts-restart
     ‘C-e C-s’

     Restart TTS server.

12.4.1.31 tts-speak-version
...........................

 -- Command: tts-speak-version
     ‘C-e d V’

     Speak version.

12.4.2 dtk-speak Options
------------------------

 -- Variable: User Option dtk-allcaps-prefix
     Prefix used to indicate AllCaps

     Default Value:
     
     #(" acc " 0 5 (personality acss-p3-s1-r3))
     

 -- Variable: User Option dtk-caps-prefix
     Prefix used to indicate capitalization

     Default Value:
     
     #("cap" 0 3 (personality acss-p3-s1-r3))
     

 -- Variable: User Option dtk-cloud-server
     Set this to your preferred cloud TTS server.

     Default Value:
     
     "cloud-outloud"
     

 -- Variable: User Option dtk-local-engine
     Engine we use  for our local TTS  server.

     Default Value:
     
     "outloud"
     

 -- Variable: User Option dtk-speech-rate-base
     Value of lowest speech rate.

     Default Value:
     
     50
     

 -- Variable: User Option dtk-speech-rate-step
     Speech rate step used by ‘dtk-set-predefined-rate’.

     Default Value:
     
     8
     

 -- Variable: User Option dtk-unicode-character-replacement-alist
     Replacements for  characters.

     Default Value:
     
     ((150 . "-")
      (9473 . "-")
      (9475 . "|")
      (176 . " degrees ")
      (8451 . "Degree C")
      (8457 . "Degree F ")
      (8220 . "\"")
      (8221 . "\"")
      (8902 . "*")
      (173 . "-")
      (8216 . "`")
      (8217 . "'")
      (8208 . " dash ")
      (8211 . " dash dash  ")
      (8212 . " em dash  ")
      (8202 . " ")
      (65279 . " ")
      (8204 . "")
      (8203 . " ")
      (8201 . " ")
      (8213 . "----")
      (8214 . "||")
      (8230 . "...")
      (8226 . " bullet ")
      (149 . " ... ")
      (8482 . "TM")
      (64256 . "ff")
      (64257 . "fi")
      (64258 . "fl")
      (64259 . "ffi")
      (64260 . "Ffl"))
     

 -- Variable: User Option dtk-unicode-name-transformation-rules-alist
     Alist of character name transformation rules.

     Default Value:
     
     (("BOX DRAWING" lambda (_ignored) ".")
      ("^Mathematical Sans-Serif\\( small\\| capital\\)? letter \\(.*\\)$" lambda
       (s)
       (match-string 2 s))
      ("^greek\\( small\\| capital\\)? letter \\(.*\\)$" lambda
       (s)
       (match-string 2 s))
      ("^latin\\( small\\| capital\\)? letter \\(.*\\)$" lambda
       (s)
       (match-string 2 s))
      ("^DEVANAGARI \\(sign\\|vowel sign\\|letter\\)? \\(.*\\)$" lambda
       (s)
       (match-string 2 s)))
     

 -- Variable: User Option dtk-unicode-untouched-charsets
     Characters of these charsets are  ignored by
       dtk-unicode-replace-chars.

     Default Value:
     
     (ascii latin-iso8859-1)
     

 -- Variable: User Option tts-notification-device
     Virtual sound device to use for notifications stream.
     Set to nil to disable a separate Notification stream.
     If you set the device here, make sure it exists first.
     For swiftmac, set this to ‘left’ or ‘right’.

     Default Value:
     
     nil
     


File: emacspeak.info,  Node: emacspeak,  Next: emacspeak-2048,  Prev: dtk-speak,  Up: Emacspeak Commands And Options

12.5 emacspeak
==============

Emacspeak extends Emacs to be a fully functional audio desktop.  This is
the main emacspeak module.  It actually does very little:
   • It sets up Emacs to load package-specific Emacspeak modules as and
     when a package is loaded.
   • It implements function emacspeak which loads the rest of the
     system.
   • It provides affordances for setting up consistent behavior in
     programming modes.

12.5.1 emacspeak Options
------------------------

 -- Variable: User Option emacspeak-pip-enable
     Load pip if Piper-TTS is available.

     Default Value:
     
     "/home/raman/.local/bin/piper"
     


File: emacspeak.info,  Node: emacspeak-2048,  Next: emacspeak-abc-mode,  Prev: emacspeak,  Up: Emacspeak Commands And Options

12.6 emacspeak-2048
===================

Speech-enable 2048 Game

12.6.1 Emacspeak-2048 Commands
------------------------------

12.6.1.1 emacspeak-2048-add-column
..................................

 -- Command: emacspeak-2048-add-column

     Add a column  to the current board.

12.6.1.2 emacspeak-2048-add-row
...............................

 -- Command: emacspeak-2048-add-row

     Add a row  to the current board.

12.6.1.3 emacspeak-2048-drop-column
...................................

 -- Command: emacspeak-2048-drop-column

     Drop last  row  from  the current board.

12.6.1.4 emacspeak-2048-drop-row
................................

 -- Command: emacspeak-2048-drop-row

     Drop last  row  from  the current board.

12.6.1.5 emacspeak-2048-export
..............................

 -- Command: emacspeak-2048-export (&optional prompt)

     Exports game stack to a file.
     Optional interactive prefix arg prompts for a file.
     Note that the file is overwritten silently.

     (fn &optional PROMPT)

12.6.1.6 emacspeak-2048-import
..............................

 -- Command: emacspeak-2048-import (&optional prompt)

     Import game.
     Optional interactive prefix arg prompts for a filename.

     (fn &optional PROMPT)

12.6.1.7 emacspeak-2048-pop-state
.................................

 -- Command: emacspeak-2048-pop-state

     Reset state from stack.

12.6.1.8 emacspeak-2048-prune-stack
...................................

 -- Command: emacspeak-2048-prune-stack (drop)

     Prune game stack to specified length.

     (fn DROP)

12.6.1.9 emacspeak-2048-push-state
..................................

 -- Command: emacspeak-2048-push-state

     Push current game state on stack.

12.6.1.10 emacspeak-2048-randomize-game
.......................................

 -- Command: emacspeak-2048-randomize-game (&optional count)

     Puts game in a randomized new state.

     (fn &optional COUNT)

12.6.1.11 emacspeak-2048-score
..............................

 -- Command: emacspeak-2048-score

     Show total on board.

12.6.1.12 emacspeak-2048-speak-board
....................................

 -- Command: emacspeak-2048-speak-board

     Speak board.

12.6.1.13 emacspeak-2048-speak-transposed-board
...............................................

 -- Command: emacspeak-2048-speak-transposed-board

     Speak board column-wise.


File: emacspeak.info,  Node: emacspeak-abc-mode,  Next: emacspeak-add-log,  Prev: emacspeak-2048,  Up: Emacspeak Commands And Options

12.7 emacspeak-abc-mode
=======================

ABC-MODE == Specialized mode for editing ABC Music notation.  See
<http://www.lesession.co.uk/abc/abc_notation.htm> for details.  This
package speech-enables abc-mode.


File: emacspeak.info,  Node: emacspeak-add-log,  Next: emacspeak-advice,  Prev: emacspeak-abc-mode,  Up: Emacspeak Commands And Options

12.8 emacspeak-add-log
======================

Speech-enable Changelog mode


File: emacspeak.info,  Node: emacspeak-advice,  Next: emacspeak-amark,  Prev: emacspeak-add-log,  Up: Emacspeak Commands And Options

12.9 emacspeak-advice
=====================

This module defines the advice forms for making the core of Emacs speak
Advice forms that are specific to Emacs subsystems do not belong here!
I violate this at present by advising completion.  Note that we needed
to advice a lot more for Emacs 19 and Emacs 20 than we do for Emacs 21
and Emacs 22.  As of August 2007, this file is being purged of advice
forms not needed in Emacs 22.

12.9.1 emacspeak-advice Options
-------------------------------

 -- Variable: User Option emacspeak-speak-messages-filter
     List of strings used to filter spoken messages.

     Default Value:
     
     ("Decrypting" "psession" "auto saving")
     

 -- Variable: User Option emacspeak-speak-tooltips
     Enable to get tooltips spoken.

     Default Value:
     
     nil
     


File: emacspeak.info,  Node: emacspeak-amark,  Next: emacspeak-analog,  Prev: emacspeak-advice,  Up: Emacspeak Commands And Options

12.10 emacspeak-amark
=====================

Structure emacspeak-amark holds a bookmark into an mp3 file path:
filename containing marked name: Bookmark tag Position: time offset from
start

   This library will be used from emacspeak-m-player to set and jump to
bookmarks.  Amarks are stored in a .amarks.am file in the working
directory.  It also provides a simple AMark Browser to use from a
directory containing mp3 files where Amarks have been created - see
‘emacspeak-amarks-browse’.  ‘emacspeak-amarks-bookshelf’ brings up a
*AmarksBookshelf* that can be used to browse available Amark files.

12.10.1 Emacspeak-Amark Commands
--------------------------------

12.10.1.1 emacspeak-amark-add
.............................

 -- Command: emacspeak-amark-add (path name position)

     Add an AMark to the buffer local list of AMarks. AMarks are
     bookmarks in audio content. If there is an existing amark of the
     given name, it is updated with path and position.

     (fn PATH NAME POSITION)

12.10.1.2 emacspeak-amark-bookshelf
...................................

 -- Command: emacspeak-amark-bookshelf (&optional pattern)
     ‘C-; C-;’
     ‘C-x @ h C-;’

     Open a locate buffer with all .amarks.am files.
     Optional interactive prefix arg prompts for a pattern that is
     used to filter the amarks files to show.  Use
     M-x emacspeak-dired-open-this-file to open the AMark Browser on
     current file.

     (fn &optional PATTERN)

12.10.1.3 emacspeak-amark-browse
................................

 -- Command: emacspeak-amark-browse
     ‘C-; a’
     ‘C-x @ h a’

     Browse   amarks  in current directory using ‘emacspeak-amark-mode’.

12.10.1.4 emacspeak-amark-file-load
...................................

 -- Command: emacspeak-amark-file-load

     Open .amark.el on current line in AMark Browser

12.10.1.5 emacspeak-amark-find
..............................

 -- Command: emacspeak-amark-find (name)

     Return matching AMark if found in buffer-local AMark list.

     (fn NAME)

12.10.1.6 emacspeak-amark-list-play
...................................

 -- Command: emacspeak-amark-list-play

     Play amark list as a playlist.
     Maps command M-x emacspeak-m-player across elements of the amarks
       list.  Pressing ‘y’ as the current item is playing skips to the
       next item; this ‘y/n’ prompt is produced by
       M-x emacspeak-m-player as is usual when that command is called
       while media is already playing. Here, attempting to play the next
       item while the current item is playing produces the prompt.

12.10.1.7 emacspeak-amark-mode
..............................

 -- Command: emacspeak-amark-mode

     A light-weight mode for the ‘*Emacspeak Amark Browser*’.
      1. Provides buttons for opening and removing AMarks.
      2. Enables org integration via command
      ‘org-store-link’ bound to M-x org-store-link.
      3. Stored links can be inserted into org files in the same directory
     via command ‘org-insert-link’ bound to M-x org-insert-link.

     In addition to any hooks its parent mode ‘special-mode’ might have
     run, this mode runs the hook ‘emacspeak-amark-mode-hook’, as the final
     or penultimate step during initialization.

12.10.1.8 emacspeak-amark-save
..............................

 -- Command: emacspeak-amark-save

     Save buffer-local AMarks in  currently playing directory.


File: emacspeak.info,  Node: emacspeak-analog,  Next: emacspeak-annotate,  Prev: emacspeak-amark,  Up: Emacspeak Commands And Options

12.11 emacspeak-analog
======================

Speech-enables package analog -convenient log analyzer required modules

12.11.1 Emacspeak-Analog Commands
---------------------------------

12.11.1.1 emacspeak-analog-backward-field-or-char
.................................................

 -- Command: emacspeak-analog-backward-field-or-char

     Move back to next field if field specification is available.
     Otherwise move to previous char.
     Speak field or char moved to.

12.11.1.2 emacspeak-analog-forward-field-or-char
................................................

 -- Command: emacspeak-analog-forward-field-or-char

     Move forward to next field if field specification is available.
     Otherwise move to next char.
     Speak field or char moved to.

12.11.1.3 emacspeak-analog-next-line
....................................

 -- Command: emacspeak-analog-next-line

     Move down and speak current field.

12.11.1.4 emacspeak-analog-previous-line
........................................

 -- Command: emacspeak-analog-previous-line

     Move up and speak current field.

12.11.1.5 emacspeak-analog-speak-this-field
...........................................

 -- Command: emacspeak-analog-speak-this-field

     Speak current field.


File: emacspeak.info,  Node: emacspeak-annotate,  Next: emacspeak-arc,  Prev: emacspeak-analog,  Up: Emacspeak Commands And Options

12.12 emacspeak-annotate
========================

ANNOTATE == annotate.el from melpa Speech-enable creation and navigation
of annotations.


File: emacspeak.info,  Node: emacspeak-arc,  Next: emacspeak-auctex,  Prev: emacspeak-annotate,  Up: Emacspeak Commands And Options

12.13 emacspeak-arc
===================

Auditory interface to archive mode This lets Emacs manipulate package
files such as .zip and .jar files.

12.13.1 Emacspeak-Arc Commands
------------------------------

12.13.1.1 emacspeak-arc-speak-file-modification-time
....................................................

 -- Command: emacspeak-arc-speak-file-modification-time

     Speak modification time of the file on current line

12.13.1.2 emacspeak-arc-speak-file-name
.......................................

 -- Command: emacspeak-arc-speak-file-name

     Speak the name of the file on current line

12.13.1.3 emacspeak-arc-speak-file-permissions
..............................................

 -- Command: emacspeak-arc-speak-file-permissions

     Speak permissions of file current entry

12.13.1.4 emacspeak-arc-speak-file-size
.......................................

 -- Command: emacspeak-arc-speak-file-size

     Speak the size of the file on current line


File: emacspeak.info,  Node: emacspeak-auctex,  Next: emacspeak-bbdb,  Prev: emacspeak-arc,  Up: Emacspeak Commands And Options

12.14 emacspeak-auctex
======================

Speech-enables the AucTeX package.  AucTeX, now available from ELPA, has
been my authoring environment of choice for writing LaTeX since 1991.

12.14.1 Emacspeak-Auctex Commands
---------------------------------

12.14.1.1 emacspeak-auctex-comma-at-end-of-word
...............................................

 -- Command: emacspeak-auctex-comma-at-end-of-word

     Move to the end of current word and add a comma.

12.14.1.2 emacspeak-auctex-end-of-word
......................................

 -- Command: emacspeak-auctex-end-of-word (arg)

     move to end of word

     (fn ARG)

12.14.1.3 emacspeak-auctex-lacheck-buffer-file
..............................................

 -- Command: emacspeak-auctex-lacheck-buffer-file

     Run Lacheck on current buffer.

12.14.1.4 emacspeak-auctex-tex-tie-current-word
...............................................

 -- Command: emacspeak-auctex-tex-tie-current-word (n)

     Tie the next n  words.

     (fn N)


File: emacspeak.info,  Node: emacspeak-bbdb,  Next: emacspeak-bibtex,  Prev: emacspeak-auctex,  Up: Emacspeak Commands And Options

12.15 emacspeak-bbdb
====================

Speech-enables BBDB. I have used BBDB to manage email address and
contact information since 1991.


File: emacspeak.info,  Node: emacspeak-bibtex,  Next: emacspeak-bookmark,  Prev: emacspeak-bbdb,  Up: Emacspeak Commands And Options

12.16 emacspeak-bibtex
======================

Speech extensions for bibtex mode.


File: emacspeak.info,  Node: emacspeak-bookmark,  Next: emacspeak-bookshare,  Prev: emacspeak-bibtex,  Up: Emacspeak Commands And Options

12.17 emacspeak-bookmark
========================

Speech enable bookmarks


File: emacspeak.info,  Node: emacspeak-bookshare,  Next: emacspeak-browse-kill-ring,  Prev: emacspeak-bookmark,  Up: Emacspeak Commands And Options

12.18 emacspeak-bookshare
=========================

BOOKSHARE == http://www.bookshare.org provides book access to
print-disabled users.  It provides a simple Web API
http://developer.bookshare.org This module implements an Emacspeak
Bookshare client.

12.18.1 requirements
--------------------

   • You need to get your own API key
   • You need Emacs built with libxml2 support

12.18.2 Usage
-------------

The main entry point is command ‘emacspeak-bookshare’ bound to ‘C-e
C-b’.  This creates a special *Bookshare Interaction* buffer that is
placed in *emacspeak-bookshare-mode*.  Se the help for that mode on
detailed usage instructions and key-bindings.

12.18.3 Sample Interaction
--------------------------

Assuming you have correctly setup your API key:
   • Customize group ‘emacspeak-bookshare’ by pressing ‘C-h G’.
   • Press ‘C-e C-b’ to open or switch to the Bookshare buffer.
   • Perform a search ‘a’ or ‘t’ for author or title search.
   • You will be prompted for your Bookshare password if this is the
     first time.
   • The password will be saved to your configured ‘auth-source’ --
     usually ‘~/.authinfo.gpg’.  You can also use ‘password-store[.]’
   • The results of the search appear in the Bookshare buffer.  Audio
     formatting and auditory icons convey if a result is already
     available locally.
   • If not available locally, press ‘D’ to download the content.
   • Press ‘U’ to unpack the downloaded content.
   • Press ‘e’ to display the entire book.
   • Press ‘c’ to display the table of contents.
   • Now, use all of EWW *Note emacspeak-eww:: extensions and profit!

12.18.4 Emacspeak-Bookshare Commands
------------------------------------

12.18.4.1 emacspeak-bookshare
.............................

 -- Command: emacspeak-bookshare
     ‘C-e C-b’

     Bookshare  Interaction.

12.18.4.2 emacspeak-bookshare-action
....................................

 -- Command: emacspeak-bookshare-action

     Call action specified by  invoking key.

12.18.4.3 emacspeak-bookshare-author-search
...........................................

 -- Command: emacspeak-bookshare-author-search (query &optional
          category)

     Perform a Bookshare author search.
     Interactive prefix arg filters search by category.

     (fn QUERY &optional CATEGORY)

12.18.4.4 emacspeak-bookshare-browse
....................................

 -- Command: emacspeak-bookshare-browse

     Browse Bookshare.

12.18.4.5 emacspeak-bookshare-browse-latest
...........................................

 -- Command: emacspeak-bookshare-browse-latest

     Return latest books.

12.18.4.6 emacspeak-bookshare-browse-popular
............................................

 -- Command: emacspeak-bookshare-browse-popular (&optional category)

     Browse popular books.
     Optional interactive prefix arg prompts for a category to use as a filter.

     (fn &optional CATEGORY)

12.18.4.7 emacspeak-bookshare-debugInfo-handler
...............................................

 -- Command: emacspeak-bookshare-debugInfo-handler (&rest arguments)

     Ignore ARGUMENTS, do nothing, and return nil.
     This function accepts any number of arguments in ARGUMENTS.
     Also see ‘always’.

     (fn &rest ARGUMENTS)

12.18.4.8 emacspeak-bookshare-download-audio
............................................

 -- Command: emacspeak-bookshare-download-audio (id target)

     Download audio format of specified book to target location.

     (fn ID TARGET)

12.18.4.9 emacspeak-bookshare-download-audio-at-point
.....................................................

 -- Command: emacspeak-bookshare-download-audio-at-point

     Download audio version of book under point.
     Target location is generated from author and title.

12.18.4.10 emacspeak-bookshare-download-brf
...........................................

 -- Command: emacspeak-bookshare-download-brf (id target)

     Download Daisy format of specified book to target location.

     (fn ID TARGET)

12.18.4.11 emacspeak-bookshare-download-brf-at-point
....................................................

 -- Command: emacspeak-bookshare-download-brf-at-point

     Download Braille version of book under point.
     Target location is generated from author and title.

12.18.4.12 emacspeak-bookshare-download-daisy
.............................................

 -- Command: emacspeak-bookshare-download-daisy (id target)

     Download Daisy format of specified book to target location.

     (fn ID TARGET)

12.18.4.13 emacspeak-bookshare-download-daisy-at-point
......................................................

 -- Command: emacspeak-bookshare-download-daisy-at-point

     Download Daisy version of book under point.
     Target location is generated from author and title.

12.18.4.14 emacspeak-bookshare-download-epub-3
..............................................

 -- Command: emacspeak-bookshare-download-epub-3 (id target)

     Download epub-3 format of specified book to target location.

     (fn ID TARGET)

12.18.4.15 emacspeak-bookshare-download-epub-3-at-point
.......................................................

 -- Command: emacspeak-bookshare-download-epub-3-at-point

     Download epub-3 version of book under point.
     Target location is generated from author and title.

12.18.4.16 emacspeak-bookshare-download-internal
................................................

 -- Command: emacspeak-bookshare-download-internal (url target)

     Download content  to target location.

     (fn URL TARGET)

12.18.4.17 emacspeak-bookshare-eww
..................................

 -- Command: emacspeak-bookshare-eww (directory)
     ‘C-e y b’

     Render  book using EWW

     (fn DIRECTORY)

12.18.4.18 emacspeak-bookshare-expand-at-point
..............................................

 -- Command: emacspeak-bookshare-expand-at-point

     Expand entry at point by retrieving metadata.
     Once retrieved, memoize to avoid multiple retrievals.

12.18.4.19 emacspeak-bookshare-extract-and-view
...............................................

 -- Command: emacspeak-bookshare-extract-and-view (url)

     Extract content referred to by link under point, and render via the browser.

     (fn URL)

12.18.4.20 emacspeak-bookshare-extract-xml
..........................................

 -- Command: emacspeak-bookshare-extract-xml (url)

     Extract content referred to by link under point, and return an XML buffer.

     (fn URL)

12.18.4.21 emacspeak-bookshare-flush-lines
..........................................

 -- Command: emacspeak-bookshare-flush-lines (regexp)

     Flush lines matching regexp in Bookshare buffer.

     (fn REGEXP)

12.18.4.22 emacspeak-bookshare-fulltext
.......................................

 -- Command: emacspeak-bookshare-fulltext (directory)

     Display fulltext contents of  book in specified directory.
     Useful for fulltext search in a book.

     (fn DIRECTORY)

12.18.4.23 emacspeak-bookshare-fulltext-search
..............................................

 -- Command: emacspeak-bookshare-fulltext-search (query)

     Perform a Bookshare fulltext search.

     (fn QUERY)

12.18.4.24 emacspeak-bookshare-get-more-results
...............................................

 -- Command: emacspeak-bookshare-get-more-results

     Get next page of results for last query.

12.18.4.25 emacspeak-bookshare-id-search
........................................

 -- Command: emacspeak-bookshare-id-search (query)

     Perform a Bookshare id search.

     (fn QUERY)

12.18.4.26 emacspeak-bookshare-isbn-search
..........................................

 -- Command: emacspeak-bookshare-isbn-search (query)

     Perform a Bookshare isbn search.

     (fn QUERY)

12.18.4.27 emacspeak-bookshare-list-preferences
...............................................

 -- Command: emacspeak-bookshare-list-preferences

     Return preference list.

12.18.4.28 emacspeak-bookshare-mode
...................................

 -- Command: emacspeak-bookshare-mode

     A Bookshare front-end for the Emacspeak desktop.

     The Emacspeak Bookshare front-end is launched by command
     emacspeak-bookshare bound to C-e C-b

     This command switches to a special buffer that has Bookshare
     commands bounds to single keystrokes- see the key-binding list at
     the end of this description. Use Emacs online help facility to
     look up help on these commands.

     emacspeak-bookshare-mode provides the necessary functionality to
     Search and download Bookshare material, Manage a local library of
     downloaded Bookshare content, And commands to easily read newer
     Daisy books from Bookshare.

     Here is a list of all emacspeak Bookshare commands  with their key-bindings:
     a Author Search
     A Author/Title Search
     t Title Search
     s Full Text Search
     d Date Search
     b Browse

     Key             Binding
     -----------------------------------------------------
     RET		emacspeak-bookshare-toc-at-point
     SPC		emacspeak-bookshare-expand-at-point
     +		emacspeak-bookshare-action
     /		emacspeak-bookshare-action
     3		emacspeak-bookshare-download-epub-3-at-point
     A		emacspeak-bookshare-download-audio-at-point
     B		emacspeak-bookshare-download-brf-at-point
     C		emacspeak-bookshare-fulltext
     D		emacspeak-bookshare-download-daisy-at-point
     E		emacspeak-bookshare-eww
     I		emacspeak-bookshare-action
     P		emacspeak-bookshare-action
     S		emacspeak-bookshare-action
     U		emacspeak-bookshare-unpack-at-point
     V		emacspeak-bookshare-view-at-point
     [		backward-page
     ]		forward-page
     a		emacspeak-bookshare-action
     b		emacspeak-bookshare-browse
     c		emacspeak-bookshare-toc-at-point
     d		emacspeak-bookshare-action
     e		emacspeak-bookshare-eww
     f		emacspeak-bookshare-flush-lines
     i		emacspeak-bookshare-action
     j		next-line
     k		previous-line
     l .. m		emacspeak-bookshare-action
     n		emacspeak-bookshare-next-result
     p		emacspeak-bookshare-previous-result
     q		bury-buffer
     s .. t		emacspeak-bookshare-action
     v		emacspeak-bookshare-view

     M-n		emacspeak-bookshare-next-result
     M-p		emacspeak-bookshare-previous-result

     In addition to any hooks its parent mode ‘special-mode’ might have
     run, this mode runs the hook ‘emacspeak-bookshare-mode-hook’, as the
     final or penultimate step during initialization.

12.18.4.29 emacspeak-bookshare-next-result
..........................................

 -- Command: emacspeak-bookshare-next-result

     Move to next result.

12.18.4.30 emacspeak-bookshare-periodical-list
..............................................

 -- Command: emacspeak-bookshare-periodical-list

     Return list of periodicals.

12.18.4.31 emacspeak-bookshare-previous-result
..............................................

 -- Command: emacspeak-bookshare-previous-result

     Move to previous result.

12.18.4.32 emacspeak-bookshare-set-preference
.............................................

 -- Command: emacspeak-bookshare-set-preference (preference-id value)

     Set preference preference-id to value.

     (fn PREFERENCE-ID VALUE)

12.18.4.33 emacspeak-bookshare-since-search
...........................................

 -- Command: emacspeak-bookshare-since-search (query &optional category)

     Perform a Bookshare date  search.
     Optional interactive prefix arg filters by category.

     (fn QUERY &optional CATEGORY)

12.18.4.34 emacspeak-bookshare-title-search
...........................................

 -- Command: emacspeak-bookshare-title-search (query &optional category)

     Perform a Bookshare title search.
     Interactive prefix arg filters search by category.

     (fn QUERY &optional CATEGORY)

12.18.4.35 emacspeak-bookshare-toc
..................................

 -- Command: emacspeak-bookshare-toc (directory)

     View TOC for book in specified directory.

     (fn DIRECTORY)

12.18.4.36 emacspeak-bookshare-toc-at-point
...........................................

 -- Command: emacspeak-bookshare-toc-at-point

     View TOC for book at point.
     Make sure it’s downloaded and unpacked first.

12.18.4.37 emacspeak-bookshare-unpack-at-point
..............................................

 -- Command: emacspeak-bookshare-unpack-at-point

     Unpack downloaded content if necessary.

12.18.4.38 emacspeak-bookshare-url-executor
...........................................

 -- Command: emacspeak-bookshare-url-executor (url)

     Custom URL executor for use in Bookshare TOC.

     (fn URL)

12.18.4.39 emacspeak-bookshare-version-handler
..............................................

 -- Command: emacspeak-bookshare-version-handler (&rest arguments)

     Ignore ARGUMENTS, do nothing, and return nil.
     This function accepts any number of arguments in ARGUMENTS.
     Also see ‘always’.

     (fn &rest ARGUMENTS)

12.18.4.40 emacspeak-bookshare-view
...................................

 -- Command: emacspeak-bookshare-view (directory)

     View book in specified directory.

     (fn DIRECTORY)

12.18.4.41 emacspeak-bookshare-view-at-point
............................................

 -- Command: emacspeak-bookshare-view-at-point

     View book at point.
     Make sure it’s downloaded and unpacked first.

12.18.4.42 emacspeak-bookshare-view-page-range
..............................................

 -- Command: emacspeak-bookshare-view-page-range (url)

     Play pages in specified page range from URL.

     (fn URL)

12.18.5 emacspeak-bookshare Options
-----------------------------------

 -- Variable: User Option emacspeak-bookshare-api-key
     Web API  key for this application.
     See http://developer.bookshare.org/docs for details on how to get
       an API key. 

     Default Value:
     
     nil
     

 -- Variable: User Option emacspeak-bookshare-directory
     Customize this to the root of where books are organized.

     Default Value:
     
     "/home/raman/books/book-share"
     


File: emacspeak.info,  Node: emacspeak-browse-kill-ring,  Next: emacspeak-bs,  Prev: emacspeak-bookshare,  Up: Emacspeak Commands And Options

12.19 emacspeak-browse-kill-ring
================================

Browse the kill ring using browse-kill-ring.el - interactively insert
items from kill-ring


File: emacspeak.info,  Node: emacspeak-bs,  Next: emacspeak-buff-menu,  Prev: emacspeak-browse-kill-ring,  Up: Emacspeak Commands And Options

12.20 emacspeak-bs
==================

speech-enable bs.el - an alternative to Emacs' default list-buffers

12.20.1 Emacspeak-Bs Commands
-----------------------------

12.20.1.1 emacspeak-bs-speak-buffer-line
........................................

 -- Command: emacspeak-bs-speak-buffer-line

     Speak information about this buffer


File: emacspeak.info,  Node: emacspeak-buff-menu,  Next: emacspeak-c,  Prev: emacspeak-bs,  Up: Emacspeak Commands And Options

12.21 emacspeak-buff-menu
=========================

Speech-enable buffer-menus.

12.21.1 Emacspeak-Buff-Menu Commands
------------------------------------

12.21.1.1 emacspeak-list-buffers-next-line
..........................................

 -- Command: emacspeak-list-buffers-next-line (count)

     Speech enabled buffer menu navigation

     (fn COUNT)

12.21.1.2 emacspeak-list-buffers-previous-line
..............................................

 -- Command: emacspeak-list-buffers-previous-line (count)

     Speech enabled buffer menu navigation

     (fn COUNT)

12.21.1.3 emacspeak-list-buffers-speak-buffer-line
..................................................

 -- Command: emacspeak-list-buffers-speak-buffer-line

     Speak information about this buffer

12.21.1.4 emacspeak-list-buffers-speak-name
...........................................

 -- Command: emacspeak-list-buffers-speak-name

     Speak the name of the buffer on this line


File: emacspeak.info,  Node: emacspeak-c,  Next: emacspeak-calc,  Prev: emacspeak-buff-menu,  Up: Emacspeak Commands And Options

12.22 emacspeak-c
=================

Make C and C++ mode more emacspeak friendly Works with both boring
c-mode and the excellent cc-mode

12.22.1 Emacspeak-C Commands
----------------------------

12.22.1.1 emacspeak-c-speak-semantics
.....................................

 -- Command: emacspeak-c-speak-semantics

     Speak the C semantics of this line.


File: emacspeak.info,  Node: emacspeak-calc,  Next: emacspeak-calculator,  Prev: emacspeak-c,  Up: Emacspeak Commands And Options

12.23 emacspeak-calc
====================

This module extends the Emacs Calculator.  Extensions are minimal.  We
force a calc-load-everything, And use an after advice on this function
To fix all of calc's interactive functions


File: emacspeak.info,  Node: emacspeak-calculator,  Next: emacspeak-calendar,  Prev: emacspeak-calc,  Up: Emacspeak Commands And Options

12.24 emacspeak-calculator
==========================

Speech enable desktop calculator


File: emacspeak.info,  Node: emacspeak-calendar,  Next: emacspeak-calibredb,  Prev: emacspeak-calculator,  Up: Emacspeak Commands And Options

12.25 emacspeak-calendar
========================

This module speech enables the Emacs Calendar.  Speech enabling is not
the same as speaking the screen: This is an excellent example of the
advantages of speech-enabled interaction.

12.25.1 Emacspeak-Calendar Commands
-----------------------------------

12.25.1.1 emacspeak-appt-repeat-announcement
............................................

 -- Command: emacspeak-appt-repeat-announcement
     ‘C-e A’

     Speaks the most recently displayed appointment message if any.

12.25.1.2 emacspeak-calendar-setup-sunrise-sunset
.................................................

 -- Command: emacspeak-calendar-setup-sunrise-sunset

     Set up geo-coordinates using Google Maps reverse geocoding.
     To use, configure variable gmaps-my-address via M-x customize-variable.

12.25.1.3 emacspeak-calendar-speak-date
.......................................

 -- Command: emacspeak-calendar-speak-date

     Speak the date under point when called in Calendar Mode.

12.25.1.4 emacspeak-calendar-sunrise-sunset
...........................................

 -- Command: emacspeak-calendar-sunrise-sunset (address &optional arg)

     Display sunrise/sunset for specified address.

     (fn ADDRESS &optional ARG)


File: emacspeak.info,  Node: emacspeak-calibredb,  Next: emacspeak-chess,  Prev: emacspeak-calendar,  Up: Emacspeak Commands And Options

12.26 emacspeak-calibredb
=========================

CALIBREDB == Browse And Search Local Calibre Library

12.26.1 Emacspeak-Calibredb Commands
------------------------------------

12.26.1.1 emacspeak-calibredb-epub-eww
......................................

 -- Command: emacspeak-calibredb-epub-eww (&optional broken-ncx)

     Open EPub at point in EWW.
     Optional prefix arg uses alternative renderer that handles epubs
     with broken NCX files.

     (fn &optional BROKEN-NCX)


File: emacspeak.info,  Node: emacspeak-chess,  Next: emacspeak-cider,  Prev: emacspeak-calibredb,  Up: Emacspeak Commands And Options

12.27 emacspeak-chess
=====================

The Emacs Chess package provides a rich environment for playing and
exploring Chess Games.  That package comes with a light-weight module
that announces moves.

   This module aims to do much more, including:
   • Navigate the board along various axes with audio-formatted output.
   • Browse games via rich audio-formatted output.
   • Speech-enable all interactive commands provided by the Chess
     package.
   • Enable various means of exploring the state of game, perhaps with a
     view to being able to spot patterns from listening to the output.

12.27.1 Navigating And Examining The Board
------------------------------------------

The board can be navigated along the 8 compass directions.  Arrow keys
move to the appropriate squares on the board.  ‘/’ and ‘\’ move down the
diagonals.  ‘[’ and ‘]’ move up the respective diagonals.
   • Move North: ‘emacspeak-chess-north’ bound to ‘up’.
   • Move South: ‘emacspeak-chess-south’ bound to ‘down’.
   • Move West: ‘emacspeak-chess-west’ bound to ‘left’.
   • Move East: ‘emacspeak-chess-east’ bound to ‘right’.
   You can also move along the diagonals:
   • Move Northwest: ‘emacspeak-chess-northwest’ bound to ‘[’.
   • Move Northeast: ‘emacspeak-chess-northeast’ bound to ‘]’.
   • Move Southwest: ‘emacspeak-chess-southwest’ bound to ‘/’.
   • Move Southeast: ‘emacspeak-chess-southeast’ bound to ‘\’.
   You can also jump to a given board position by:
   • Jump: ‘emacspeak-chess-jump’ bound to ‘j’.
   • Target of last move: ‘emacspeak-chess-goto-target’ bound to ‘t’.
   • Look: ‘emacspeak-chess-speak-that-square’ bound to ‘l’.
   • Review current square: ‘;’.
   • Review Board: ‘emacspeak-chess-speak-board’ bound to ‘z’.  Useful
     in end-state.
   • Locate pieces: ‘emacspeak-chess-speak-piece-squares’ bound to ‘s’.
     Specify piece as a single char -- ‘w’ speaks all white pieces, ‘l’
     speaks all black pieces, use SAN notation char for a specific
     piece.  Use ‘a’ to hear entire board, this last is most useful when
     the game is an end-state.
   • Discover who targets a square: ‘emacspeak-chess-speak-who-targets’
     bound to ‘w’.  Argument ‘piece’ is similar to the previously listed
     command.
   You can obtain views of the board along the rows and diagonals, as
well as a *knight's perspective *:
   • Viewers: ‘v’ followed by the directional navigation keys speaks the
     squares in that direction from the current square.  ‘vn’ speaks the
     squares from a knight's perspective, i.e.  the squares the Knight
     would see from the current position.  similarly, ‘vk’ speaks the
     non-empty squares seen by the King from the current position.  ‘v’
     followed by a rank-or-file char speaks that complete rank or file.

12.27.2 Examining Games
-----------------------

Package *Chess* allows one to browse through a game using ‘,’ and ‘.’ --
‘chess-display-move-backward’ and ‘chess-display-move-forward’.
Emacspeak speech-enables these commands to speak the move that led to
the currently displayed state of the game.  Finally, ‘m’ speaks the
*current move* being displayed.

12.27.3 Emacspeak-Chess Commands
--------------------------------

12.27.3.1 emacspeak-chess-east
..............................

 -- Command: emacspeak-chess-east

     Move east one step.

12.27.3.2 emacspeak-chess-goto-target
.....................................

 -- Command: emacspeak-chess-goto-target

     Jump to the most recent target square.

12.27.3.3 emacspeak-chess-jump
..............................

 -- Command: emacspeak-chess-jump (coord)

     Jump to square specified as coord.

     (fn COORD)

12.27.3.4 emacspeak-chess-look-east
...................................

 -- Command: emacspeak-chess-look-east

     Look east

12.27.3.5 emacspeak-chess-look-king
...................................

 -- Command: emacspeak-chess-look-king

     Look along non-empty squares reachable by the king  from current position.

12.27.3.6 emacspeak-chess-look-knight
.....................................

 -- Command: emacspeak-chess-look-knight

     Look along non-empty squares reachable by a knight from current position.

12.27.3.7 emacspeak-chess-look-north
....................................

 -- Command: emacspeak-chess-look-north

     Look north

12.27.3.8 emacspeak-chess-look-northeast
........................................

 -- Command: emacspeak-chess-look-northeast

     Look northeast

12.27.3.9 emacspeak-chess-look-northwest
........................................

 -- Command: emacspeak-chess-look-northwest

     Look northwest

12.27.3.10 emacspeak-chess-look-south
.....................................

 -- Command: emacspeak-chess-look-south

     Look south

12.27.3.11 emacspeak-chess-look-southeast
.........................................

 -- Command: emacspeak-chess-look-southeast

     Look southeast

12.27.3.12 emacspeak-chess-look-southwest
.........................................

 -- Command: emacspeak-chess-look-southwest

     Look southwest

12.27.3.13 emacspeak-chess-look-west
....................................

 -- Command: emacspeak-chess-look-west

     Look west

12.27.3.14 emacspeak-chess-north
................................

 -- Command: emacspeak-chess-north

     Move north one step.

12.27.3.15 emacspeak-chess-northeast
....................................

 -- Command: emacspeak-chess-northeast

     Move northeast one step.

12.27.3.16 emacspeak-chess-northwest
....................................

 -- Command: emacspeak-chess-northwest

     Move northwest one step.

12.27.3.17 emacspeak-chess-south
................................

 -- Command: emacspeak-chess-south

     Move south one step.

12.27.3.18 emacspeak-chess-southeast
....................................

 -- Command: emacspeak-chess-southeast

     Move southeast one step.

12.27.3.19 emacspeak-chess-southwest
....................................

 -- Command: emacspeak-chess-southwest

     Move southwest one step.

12.27.3.20 emacspeak-chess-speak-board
......................................

 -- Command: emacspeak-chess-speak-board

     Speak complete board. Only useful in end-states.

12.27.3.21 emacspeak-chess-speak-piece-squares
..............................................

 -- Command: emacspeak-chess-speak-piece-squares (piece)

     Prompt for a piece (single char) and speak its locations on the
       board.  Piece is specified as a char using SAN notation. Use
       ‘w’ for all whites pieces,  ‘l’ for all black pieces,
     and ‘a’ for entire board..

     (fn PIECE)

12.27.3.22 emacspeak-chess-speak-that-square
............................................

 -- Command: emacspeak-chess-speak-that-square (coord)

     Speak square at specified coord.

     (fn COORD)

12.27.3.23 emacspeak-chess-speak-this-move
..........................................

 -- Command: emacspeak-chess-speak-this-move

     Speak move at current display index.

12.27.3.24 emacspeak-chess-speak-this-square
............................................

 -- Command: emacspeak-chess-speak-this-square

     Speak square under point.

12.27.3.25 emacspeak-chess-speak-who-targets
............................................

 -- Command: emacspeak-chess-speak-who-targets (piece)

     Speak description of squares that can target current square.
     Argument ‘piece’ specifies  piece-or-color as in command
       emacspeak-chess-speak-piece-squares

     (fn PIECE)

12.27.3.26 emacspeak-chess-view-rank-or-file
............................................

 -- Command: emacspeak-chess-view-rank-or-file

     View a complete rank or file from white’s perspective.

12.27.3.27 emacspeak-chess-west
...............................

 -- Command: emacspeak-chess-west

     Move west one step.


File: emacspeak.info,  Node: emacspeak-cider,  Next: emacspeak-ciel,  Prev: emacspeak-chess,  Up: Emacspeak Commands And Options

12.28 emacspeak-cider
=====================

Speech-Enable CIDER -- Clojure IDE


File: emacspeak.info,  Node: emacspeak-ciel,  Next: emacspeak-clojure,  Prev: emacspeak-cider,  Up: Emacspeak Commands And Options

12.29 emacspeak-ciel
====================

Package ciel provides vim's "copy inside" and "clear inside" commands.
Emacspeak binds these commands to <Super i> and <Super o>.  This module
speech-enables ciel.


File: emacspeak.info,  Node: emacspeak-clojure,  Next: emacspeak-cmuscheme,  Prev: emacspeak-ciel,  Up: Emacspeak Commands And Options

12.30 emacspeak-clojure
=======================

CLOJURE-mode: Specialized mode for Clojure programming.


File: emacspeak.info,  Node: emacspeak-cmuscheme,  Next: emacspeak-combobulate,  Prev: emacspeak-clojure,  Up: Emacspeak Commands And Options

12.31 emacspeak-cmuscheme
=========================

speech-enable scheme support


File: emacspeak.info,  Node: emacspeak-combobulate,  Next: emacspeak-comint,  Prev: emacspeak-cmuscheme,  Up: Emacspeak Commands And Options

12.32 emacspeak-combobulate
===========================

COMBOBULATE: Navigate, Manipulate code with tree-sitter's concrete-tree;
https://github.com/mickeynp/combobulate.git (push)


File: emacspeak.info,  Node: emacspeak-comint,  Next: emacspeak-company,  Prev: emacspeak-combobulate,  Up: Emacspeak Commands And Options

12.33 emacspeak-comint
======================

comint == command interaction.  Advice comint and friends to speak.

12.33.1 Emacspeak-Comint Commands
---------------------------------

12.33.1.1 emacspeak-toggle-comint-autospeak
...........................................

 -- Command: emacspeak-toggle-comint-autospeak (&optional prefix)

     Toggle comint autospeak.
     Interactive PREFIX arg means toggle  global default value.

     (fn &optional PREFIX)

12.33.1.2 emacspeak-toggle-comint-output-monitor
................................................

 -- Command: emacspeak-toggle-comint-output-monitor (&optional prefix)
     ‘C-e M-o’

     Toggle  Emacspeak comint monitor.
     Interactive PREFIX arg means toggle the global default value.

12.33.1.3 emacspeak-toggle-inaudible-or-comint-autospeak
........................................................

 -- Command: emacspeak-toggle-inaudible-or-comint-autospeak
     ‘C-e C-q’

     Toggle comint-autospeak when in a comint or vterm buffer.
     Otherwise call voice-setup-toggle-silence-personality which
     toggles personality under point.

12.33.1.4 emacspeak-zoxide
..........................

 -- Command: emacspeak-zoxide (q)
     ‘C-; j’
     ‘C-x @ h j’

     Query zoxide  and launch dired.
     Shell Utility zoxide -- implemented in Rust -- lets you jump to
     directories that are used often.

     (fn Q)

12.33.2 emacspeak-comint Options
--------------------------------

 -- Variable: User Option emacspeak-comint-autospeak
     Speak comint output.
     Use M-x emacspeak-toggle-comint-autospeak to toggle this
     setting. Do not set this globally. Also see custom option
     ‘emacspeak-wizards-project-shells’ for starting up
     project-specific shells that have autospeak turned on. The
     default is intentionally nil, since this option should only be
     turned on where needed.

     Default Value:
     
     nil
     


File: emacspeak.info,  Node: emacspeak-company,  Next: emacspeak-compile,  Prev: emacspeak-comint,  Up: Emacspeak Commands And Options

12.34 emacspeak-company
=======================

COMPANY -mode: Complete Anything Support for emacs.  This module
provides an Emacspeak Company Front-end, And advises the needed
interactive commands in Company.  It adds an emacspeak-specific
front-end ‘emacspeak-company-frontend’ to the value of
company-frontends.  Note that COMPANY-FRONTENDS is a user-customizable
option and ends up getting saved by emacs along with other custom
settings.  Function ‘emacspeak-company-frontend’ handles providing
spoken feedback, and leaves it to other frontends on COMPANY-FRONTENDS
to generate their own feedback.


File: emacspeak.info,  Node: emacspeak-compile,  Next: emacspeak-cperl,  Prev: emacspeak-company,  Up: Emacspeak Commands And Options

12.35 emacspeak-compile
=======================

This module makes compiling code from inside Emacs speech friendly.

12.35.1 Emacspeak-Compile Commands
----------------------------------

12.35.1.1 emacspeak-compilation-speak-error
...........................................

 -- Command: emacspeak-compilation-speak-error

     Speech feedback about the compilation error.


File: emacspeak.info,  Node: emacspeak-cperl,  Next: emacspeak-custom,  Prev: emacspeak-compile,  Up: Emacspeak Commands And Options

12.36 emacspeak-cperl
=====================

Provide additional advice to CPerl mode


File: emacspeak.info,  Node: emacspeak-custom,  Next: emacspeak-dbus,  Prev: emacspeak-cperl,  Up: Emacspeak Commands And Options

12.37 emacspeak-custom
======================

Advise custom to speak.  most of the work is actually done by
emacspeak-widget.el which speech-enables the widget libraries.

12.37.1 Emacspeak-Custom Commands
---------------------------------

12.37.1.1 emacspeak-custom-goto-group
.....................................

 -- Command: emacspeak-custom-goto-group

     Jump to custom group when in a customization buffer.

12.37.1.2 emacspeak-custom-goto-toolbar
.......................................

 -- Command: emacspeak-custom-goto-toolbar

     Jump to custom toolbar when in a customization buffer.


File: emacspeak.info,  Node: emacspeak-dbus,  Next: emacspeak-deadgrep,  Prev: emacspeak-custom,  Up: Emacspeak Commands And Options

12.38 emacspeak-dbus
====================

Loading this module sets up Emacspeak to respond to DBus notifications.
This module needs to be loaded explicitly from the user's init file
after emacspeak has been started.

12.38.1 Overview
----------------

This module provides integration via DBus for the following:
   • Respond to network coming up or going down -- ‘(nm-enable)’.
   • Respond to screen getting locked/unlocked by gnome-screen-saver --
     ‘(emacspeak-dbus-watch-screen-lock)’.
   • Respond to laptop going to sleep or waking up --
     ‘(emacspeak-dbus-sleep-enable)’.
   • Respond to insertion/ejection of removable storage --
     ‘(emacspeak-dbus-udisks-enable)’.
   • Watch for power devices -- ‘(emacspeak-dbus-upower-enable)’.
   • An interactive command ‘emacspeak-dbus-lock-screen’ bound to ‘C-,
     C-d’ to lock the screen using DBus.  Note: this key-binding is
     available only if this module is loaded.
   Add calls to the desired functions from the above list to the emacs
startup file after this module has been loaded.  To enable all of them,
add (emacspeak-dbus-setup).  See relevant hooks for customizing
behavior.  Note that each of the sleep/wake-up, UDisks2 and
network/up-down can be separately enabled/disabled, and the actions
customized via appropriately named hook functions.

12.38.2 Emacspeak-Dbus Commands
-------------------------------

12.38.2.1 emacspeak-dbus-lock-screen
....................................

 -- Command: emacspeak-dbus-lock-screen

     Lock screen using DBus.

12.38.2.2 emacspeak-dbus-sleep-disable
......................................

 -- Command: emacspeak-dbus-sleep-disable

     Disable integration with login1 daemon. Does nothing if
     already disabled.

12.38.2.3 emacspeak-dbus-sleep-enable
.....................................

 -- Command: emacspeak-dbus-sleep-enable

     Enable integration with Login1. Does nothing if already enabled.

12.38.2.4 emacspeak-dbus-udisks-disable
.......................................

 -- Command: emacspeak-dbus-udisks-disable

     Disable integration with UDisks2 daemon. Does nothing if
     already disabled.

12.38.2.5 emacspeak-dbus-udisks-enable
......................................

 -- Command: emacspeak-dbus-udisks-enable

     Enable integration with UDisks2. Does nothing if already enabled.

12.38.2.6 emacspeak-dbus-upower-disable
.......................................

 -- Command: emacspeak-dbus-upower-disable

     Disable integration with UPower daemon. Does nothing if
     already disabled.

12.38.2.7 emacspeak-dbus-upower-enable
......................................

 -- Command: emacspeak-dbus-upower-enable

     Enable integration with UPower. Does nothing if already enabled.

12.38.2.8 emacspeak-orca-toggle
...............................

 -- Command: emacspeak-orca-toggle
     ‘s-o’

     Toggle state of orca.

12.38.2.9 emacspeak-screen-saver-mode
.....................................

 -- Command: emacspeak-screen-saver-mode

     A light-weight mode for the ‘*Emacspeak Screen Saver *’ buffer.
     This is a hidden buffer that is made current so we automatically
     switch to a screen-saver soundscape.

     In addition to any hooks its parent mode ‘special-mode’ might have
     run, this mode runs the hook ‘emacspeak-screen-saver-mode-hook’, as
     the final or penultimate step during initialization.



File: emacspeak.info,  Node: emacspeak-deadgrep,  Next: emacspeak-debugger,  Prev: emacspeak-dbus,  Up: Emacspeak Commands And Options

12.39 emacspeak-deadgrep
========================

DEADGREP == Front-end to ripgrep.


File: emacspeak.info,  Node: emacspeak-debugger,  Next: emacspeak-desktop,  Prev: emacspeak-deadgrep,  Up: Emacspeak Commands And Options

12.40 emacspeak-debugger
========================

DEBUGGER == Emacs Interactive Debugger.  Speech-enable the debugger by
speech-enabling interactive commands.


File: emacspeak.info,  Node: emacspeak-desktop,  Next: emacspeak-devdocs,  Prev: emacspeak-debugger,  Up: Emacspeak Commands And Options

12.41 emacspeak-desktop
=======================

advice desktop package

12.41.1 Emacspeak-Desktop Commands
----------------------------------

12.41.1.1 emacspeak-desktop-preserve
....................................

 -- Command: emacspeak-desktop-preserve (buffer)
     ‘C-e x k’

     Preserve: Dont kill this buffer when clearing desktop.

     (fn BUFFER)


File: emacspeak.info,  Node: emacspeak-devdocs,  Next: emacspeak-dictionary,  Prev: emacspeak-desktop,  Up: Emacspeak Commands And Options

12.42 emacspeak-devdocs
=======================

DEVDOCS == Browse DevDocs


File: emacspeak.info,  Node: emacspeak-dictionary,  Next: emacspeak-diff-mode,  Prev: emacspeak-devdocs,  Up: Emacspeak Commands And Options

12.43 emacspeak-dictionary
==========================

Speech-enables emacs client for accessing dictionary server at
dict.org:2628


File: emacspeak.info,  Node: emacspeak-diff-mode,  Next: emacspeak-dired,  Prev: emacspeak-dictionary,  Up: Emacspeak Commands And Options

12.44 emacspeak-diff-mode
=========================

DIFF-MODE support.


File: emacspeak.info,  Node: emacspeak-dired,  Next: emacspeak-dismal,  Prev: emacspeak-diff-mode,  Up: Emacspeak Commands And Options

12.45 emacspeak-dired
=====================

This module speech enables dired.  It reduces the amount of speech you
hear: Typically you hear the file names as you move through the dired
buffer Voicification is used to indicate directories, marked files etc.

12.45.1 Emacspeak-Dired Commands
--------------------------------

12.45.1.1 emacspeak-dired-csv-open
..................................

 -- Command: emacspeak-dired-csv-open

     Open CSV file on current dired line.

12.45.1.2 emacspeak-dired-downloads
...................................

 -- Command: emacspeak-dired-downloads
     ‘C-. d’
     ‘C-x @ s d’

     Open Downloads directory.

12.45.1.3 emacspeak-dired-epub-eww
..................................

 -- Command: emacspeak-dired-epub-eww

     Open epub on current line  in EWW

12.45.1.4 emacspeak-dired-eww-open
..................................

 -- Command: emacspeak-dired-eww-open

     Open HTML file on current dired line.

12.45.1.5 emacspeak-dired-label-fields
......................................

 -- Command: emacspeak-dired-label-fields

     Labels the fields of the listing in the dired buffer.
     Currently is a no-op  unless
     unless ‘dired-listing-switches’ contains -l

12.45.1.6 emacspeak-dired-md-open
.................................

 -- Command: emacspeak-dired-md-open

     Preview markdown  file on current dired line.

12.45.1.7 emacspeak-dired-midi-play
...................................

 -- Command: emacspeak-dired-midi-play

     Play midi  file on current dired line.

12.45.1.8 emacspeak-dired-open-this-directory
.............................................

 -- Command: emacspeak-dired-open-this-directory

     Open directory corresponding to file on current line.

12.45.1.9 emacspeak-dired-open-this-file
........................................

 -- Command: emacspeak-dired-open-this-file

     Smart dired opener. Invokes appropriate Emacspeak handler on
     current file in DirEd.

12.45.1.10 emacspeak-dired-pdf-open
...................................

 -- Command: emacspeak-dired-pdf-open

     Open PDF file on current dired line.

12.45.1.11 emacspeak-dired-play-duration
........................................

 -- Command: emacspeak-dired-play-duration

     Speak duration of sound files.
     If on a file, speak its duration.
     If on a directory, speak the total duration of all sound files under
       that directory.

12.45.1.12 emacspeak-dired-rpm-query-in-dired
.............................................

 -- Command: emacspeak-dired-rpm-query-in-dired

     Run rpm -qi on current dired entry.

12.45.1.13 emacspeak-dired-show-file-type
.........................................

 -- Command: emacspeak-dired-show-file-type (&optional file
          deref-symlinks)

     Displays type of current file by running command file.
     Like Emacs’ built-in dired-show-file-type but allows user to customize
     options passed to command ‘file’.

     (fn &optional FILE DEREF-SYMLINKS)

12.45.1.14 emacspeak-dired-speak-file-access-time
.................................................

 -- Command: emacspeak-dired-speak-file-access-time

     Speak access time  of the current file.

12.45.1.15 emacspeak-dired-speak-file-modification-time
.......................................................

 -- Command: emacspeak-dired-speak-file-modification-time

     Speak modification time  of the current file.

12.45.1.16 emacspeak-dired-speak-file-permissions
.................................................

 -- Command: emacspeak-dired-speak-file-permissions

     Speak the permissions of the current file.

12.45.1.17 emacspeak-dired-speak-file-size
..........................................

 -- Command: emacspeak-dired-speak-file-size

     Speak the size of the current file.
     On a directory line, run du -s on the directory to speak its size.

12.45.1.18 emacspeak-dired-speak-header-line
............................................

 -- Command: emacspeak-dired-speak-header-line

     Speak the header line of the dired buffer.

12.45.1.19 emacspeak-dired-speak-symlink-target
...............................................

 -- Command: emacspeak-dired-speak-symlink-target

     Speaks the target of the symlink on the current line.

12.45.1.20 emacspeak-find-dired
...............................

 -- Command: emacspeak-find-dired
     ‘C-e C-f’

     Prompt for find-dired arguments using context and completion.

12.45.1.21 emacspeak-locate-play-results-as-playlist
....................................................

 -- Command: emacspeak-locate-play-results-as-playlist (&optional
          shuffle)

     Treat locate results as a play-list.
     Optional interactive prefix arg shuffles playlist.

     (fn &optional SHUFFLE)


File: emacspeak.info,  Node: emacspeak-dismal,  Next: emacspeak-dumb-jump,  Prev: emacspeak-dired,  Up: Emacspeak Commands And Options

12.46 emacspeak-dismal
======================

### emacspeak-dismal: No Commentary

12.46.1 Emacspeak-Dismal Commands
---------------------------------

12.46.1.1 emacspeak-dismal-backward-col-and-summarize
.....................................................

 -- Command: emacspeak-dismal-backward-col-and-summarize (cols)

     Move backward by arg columns
      (the previous column by default)and summarize it.

     (fn COLS)

12.46.1.2 emacspeak-dismal-backward-row-and-summarize
.....................................................

 -- Command: emacspeak-dismal-backward-row-and-summarize (rows)

     Move backward by arg rows
      (the previous row by default)and summarize it.

     (fn ROWS)

12.46.1.3 emacspeak-dismal-col-summarize
........................................

 -- Command: emacspeak-dismal-col-summarize

     Summarizes a col using the specification in list
     emacspeak-dismal-col-summarizer-list

12.46.1.4 emacspeak-dismal-display-cell-expression
..................................................

 -- Command: emacspeak-dismal-display-cell-expression

     Display the expression in the message area

12.46.1.5 emacspeak-dismal-display-cell-value
.............................................

 -- Command: emacspeak-dismal-display-cell-value

     Display the cell value in the message area

12.46.1.6 emacspeak-dismal-display-cell-with-col-header
.......................................................

 -- Command: emacspeak-dismal-display-cell-with-col-header

     Display current cell along with its column header.
     The ‘column header’ is the entry in row 0.

12.46.1.7 emacspeak-dismal-display-cell-with-row-header
.......................................................

 -- Command: emacspeak-dismal-display-cell-with-row-header

     Displays current cell along with its row header.
     The ‘row header’ is the entry in column 0.

12.46.1.8 emacspeak-dismal-forward-col-and-summarize
....................................................

 -- Command: emacspeak-dismal-forward-col-and-summarize (cols)

     Move forward by arg columns
      (the next column by default)and summarize it.

     (fn COLS)

12.46.1.9 emacspeak-dismal-forward-row-and-summarize
....................................................

 -- Command: emacspeak-dismal-forward-row-and-summarize (rows)

     Move forward by arg rows
      (the next row by default)and summarize it.

     (fn ROWS)

12.46.1.10 emacspeak-dismal-row-summarize
.........................................

 -- Command: emacspeak-dismal-row-summarize

     Summarizes a row using the specification in list
     emacspeak-dismal-row-summarizer-list

12.46.1.11 emacspeak-dismal-set-col-summarizer-list
...................................................

 -- Command: emacspeak-dismal-set-col-summarizer-list

     Specify or reset col summarizer list.

12.46.1.12 emacspeak-dismal-set-row-summarizer-list
...................................................

 -- Command: emacspeak-dismal-set-row-summarizer-list

     Specify or reset row summarizer list.

12.46.1.13 emacspeak-dismal-set-sheet-summarizer-list
.....................................................

 -- Command: emacspeak-dismal-set-sheet-summarizer-list

     Specify or reset sheet summarizer list.

12.46.1.14 emacspeak-dismal-sheet-summarize
...........................................

 -- Command: emacspeak-dismal-sheet-summarize

     Summarizes a sheet using the specification in list
     emacspeak-dismal-sheet-summarizer-list


File: emacspeak.info,  Node: emacspeak-dumb-jump,  Next: emacspeak-eat,  Prev: emacspeak-dismal,  Up: Emacspeak Commands And Options

12.47 emacspeak-dumb-jump
=========================

DUMB-JUMP == Jump to imputed cross-references in source code.  This
module speech-enables dumb-jump


File: emacspeak.info,  Node: emacspeak-eat,  Next: emacspeak-ebuku,  Prev: emacspeak-dumb-jump,  Up: Emacspeak Commands And Options

12.48 emacspeak-eat
===================

EAT == Emacs Terminal Emulator


File: emacspeak.info,  Node: emacspeak-ebuku,  Next: emacspeak-ecb,  Prev: emacspeak-eat,  Up: Emacspeak Commands And Options

12.49 emacspeak-ebuku
=====================

EBUKU == Emacs Buku front-end to manage bookmarks.


File: emacspeak.info,  Node: emacspeak-ecb,  Next: emacspeak-ediff,  Prev: emacspeak-ebuku,  Up: Emacspeak Commands And Options

12.50 emacspeak-ecb
===================

The ECB is an Emacs Class Browser.  This module speech-enables ECB

12.50.1 Emacspeak-Ecb Commands
------------------------------

12.50.1.1 emacspeak-ecb-speak-window-directories
................................................

 -- Command: emacspeak-ecb-speak-window-directories

     Speak contents of directories window.

12.50.1.2 emacspeak-ecb-speak-window-history
............................................

 -- Command: emacspeak-ecb-speak-window-history

     Speak contents of history window.

12.50.1.3 emacspeak-ecb-speak-window-methods
............................................

 -- Command: emacspeak-ecb-speak-window-methods

     Speak contents of methods window.

12.50.1.4 emacspeak-ecb-speak-window-sources
............................................

 -- Command: emacspeak-ecb-speak-window-sources

     Speak contents of sources window.

12.50.1.5 emacspeak-ecb-tree-backspace
......................................

 -- Command: emacspeak-ecb-tree-backspace

     Back up during incremental search in tree buffers.

12.50.1.6 emacspeak-ecb-tree-clear
..................................

 -- Command: emacspeak-ecb-tree-clear

     Clear search pattern during incremental search in tree buffers.


File: emacspeak.info,  Node: emacspeak-ediff,  Next: emacspeak-eglot,  Prev: emacspeak-ecb,  Up: Emacspeak Commands And Options

12.51 emacspeak-ediff
=====================

Ediff provides a nice visual interface to diff.  ;;;Comparing and
patching files is easy with ediff when you can see the screen.  This
module provides Emacspeak extensions to work fluently with ediff.  Try
it out, it's an excellent example of why Emacspeak is better than a
traditional screenreader.  This module was originally written to
interface to the old ediff.el bundled with GNU Emacs 19.28 and earlier.
It has been updated to work with the newer and much larger ediff system
found in Emacs 19.29 and later.

   When using under modern versions of Emacs, I recommend setting (setq
ediff-window-setup-function 'ediff-setup-windows-plain) so that Emacs
always displays Ediff windows in a single frame.

12.51.1 Emacspeak-Ediff Commands
--------------------------------

12.51.1.1 emacspeak-ediff-speak-current-difference
..................................................

 -- Command: emacspeak-ediff-speak-current-difference

     Speak the current difference


File: emacspeak.info,  Node: emacspeak-eglot,  Next: emacspeak-ein,  Prev: emacspeak-ediff,  Up: Emacspeak Commands And Options

12.52 emacspeak-eglot
=====================

EGLOT == LSP Support for emacs


File: emacspeak.info,  Node: emacspeak-ein,  Next: emacspeak-elfeed,  Prev: emacspeak-eglot,  Up: Emacspeak Commands And Options

12.53 emacspeak-ein
===================

EIN == Emacs IPython Notebook You can install package EIN via Melpa This
module speech-enables EIN

12.53.1 Emacspeak-Ein Commands
------------------------------

12.53.1.1 emacspeak-ein-speak-current-cell
..........................................

 -- Command: emacspeak-ein-speak-current-cell

     Speak current cell.


File: emacspeak.info,  Node: emacspeak-elfeed,  Next: emacspeak-elisp-refs,  Prev: emacspeak-ein,  Up: Emacspeak Commands And Options

12.54 emacspeak-elfeed
======================

ELFEED == Feed Reader for Emacs.  Install from elpa M-x package-install
elfeed

12.54.1 Emacspeak-Elfeed Commands
---------------------------------

12.54.1.1 emacspeak-elfeed-eww-entry-at-point
.............................................

 -- Command: emacspeak-elfeed-eww-entry-at-point

     Display current article in EWW.

12.54.1.2 emacspeak-elfeed-filter-entry-at-point
................................................

 -- Command: emacspeak-elfeed-filter-entry-at-point

     Display current article after filtering.

12.54.1.3 emacspeak-elfeed-next-entry
.....................................

 -- Command: emacspeak-elfeed-next-entry

     Move to next entry and speak it.

12.54.1.4 emacspeak-elfeed-previous-entry
.........................................

 -- Command: emacspeak-elfeed-previous-entry

     Move to previous entry and speak it.

12.54.1.5 emacspeak-elfeed-speak-entry-at-point
...............................................

 -- Command: emacspeak-elfeed-speak-entry-at-point

     Speak entry at point.


File: emacspeak.info,  Node: emacspeak-elisp-refs,  Next: emacspeak-ellama,  Prev: emacspeak-elfeed,  Up: Emacspeak Commands And Options

12.55 emacspeak-elisp-refs
==========================

Speech-enable package elisp-refs.  ELISP-REFS ==


File: emacspeak.info,  Node: emacspeak-ellama,  Next: emacspeak-elpher,  Prev: emacspeak-elisp-refs,  Up: Emacspeak Commands And Options

12.56 emacspeak-ellama
======================

ELLAMA == Emacs LLM Interaction.  ellama uses package llm, and this
module speech-enables ellama.


File: emacspeak.info,  Node: emacspeak-elpher,  Next: emacspeak-elpy,  Prev: emacspeak-ellama,  Up: Emacspeak Commands And Options

12.57 emacspeak-elpher
======================

ELPHER == gopher/gemini client Let's see if we can rescue the
Content-Oriented Web


File: emacspeak.info,  Node: emacspeak-elpy,  Next: emacspeak-elscreen,  Prev: emacspeak-elpher,  Up: Emacspeak Commands And Options

12.58 emacspeak-elpy
====================

ELPY == Emacs Lisp Python IDE Speech-enables all aspects of elpy.


File: emacspeak.info,  Node: emacspeak-elscreen,  Next: emacspeak-emms,  Prev: emacspeak-elpy,  Up: Emacspeak Commands And Options

12.59 emacspeak-elscreen
========================

ELSCREEN == Emacs Window Session Manager Speech-enable interactive
commands.


File: emacspeak.info,  Node: emacspeak-emms,  Next: emacspeak-empv,  Prev: emacspeak-elscreen,  Up: Emacspeak Commands And Options

12.60 emacspeak-emms
====================

Speech-enables EMMS -- the Emacs equivalent of XMMS available from the
Emacs package archive.  http://savannah.gnu.org/project/emms EMMS is
under active development, to get the current CVS version, use Emacspeak
command M-x emacspeak-cvs-gnu-get-project-snapshot RET emms RET

12.60.1 Emacspeak-Emms Commands
-------------------------------

12.60.1.1 emacspeak-emms-speak-current-track
............................................

 -- Command: emacspeak-emms-speak-current-track

     Speak current track.


File: emacspeak.info,  Node: emacspeak-empv,  Next: emacspeak-enriched,  Prev: emacspeak-emms,  Up: Emacspeak Commands And Options

12.61 emacspeak-empv
====================

‘EMPV’ == Emacs Front-End To ‘mpv’ -- the GNU media player -- Provides
better Youtube integration.

   This section documents Emacspeak extensions to ‘EMPV’ , the Emacs
interface of choice to the GNU ‘MPV’ media player.  This section should
be read alongside the ‘EMPV’ documentation; Install ‘EMPV’ from ELPA.

12.61.1 Interactive Commands
----------------------------

Emacspeak adds a few convenience commands to the those provided by
package ‘empv’:

  1. Command ‘emacspeak-empv-play-url to play’ a URL using ‘MPV’ .
  2. Adds history tracking to our ‘EMPV’ commands.
  3. Command empv-play-last-url to play from our ‘EMPV’ history.
  4. Command ‘emacspeak-empv-play-file to play local media and’ Internet
     streams.
  5. Command ‘emacspeak-empv-radio to play from Emacspeak's library’ of
     Internet streams.

12.61.2 Navigating In Time
--------------------------

Emacspeak defines additional convenience commands to seek in streams at
different time granularities, the names are self-documenting and bound
in the empv-map.

   • ‘emacspeak-empv-absolute-seek’
   • ‘emacspeak-empv-backward-10-minutes’
   • ‘emacspeak-empv-backward-10-seconds’
   • ‘emacspeak-empv-backward-30-minutes’
   • ‘emacspeak-empv-backward-5-minutes’
   • ‘emacspeak-empv-backward-minute’
   • ‘emacspeak-empv-forward-10-minutes’
   • ‘emacspeak-empv-forward-10-seconds’
   • ‘emacspeak-empv-forward-30-minutes’
   • ‘emacspeak-empv-forward-5-minutes’
   • ‘emacspeak-empv-forward-minute’
   • ‘emacspeak-empv-percentage-seek’
   • ‘emacspeak-empv-relative-seek’

12.61.3 Toggling Filters
------------------------

Command ‘mpv’ provides a number of audio filters.  Emacspeak exposes a
select few for interactive use.

  1. Toggle active filter: ‘emacspeak-empv-toggle-filter’
  2. Toggle Audio Balance: ‘emacspeak-empv-toggle-balance’
  3. Clear any active filters: ‘emacspeak-empv-clear-filter’
  4. Toggle our custom filter: ‘emacspeak-empv-toggle-custom’
  5. Toggle left output: ‘emacspeak-empv-toggle-left’
  6. Toggle right output: ‘emacspeak-empv-toggle-right’

12.61.4 Emacspeak-Empv Commands
-------------------------------

12.61.4.1 emacspeak-empv-absolute-seek
......................................

 -- Command: emacspeak-empv-absolute-seek (target)

     Absolute seek in seconds,see ‘empv-seek’

     (fn TARGET)

12.61.4.2 emacspeak-empv-accumulate-to-register
...............................................

 -- Command: emacspeak-empv-accumulate-to-register

     Accumulate media links to register u

12.61.4.3 emacspeak-empv-backward-10-minutes
............................................

 -- Command: emacspeak-empv-backward-10-minutes

     Move backward by 10 minutes

12.61.4.4 emacspeak-empv-backward-10-seconds
............................................

 -- Command: emacspeak-empv-backward-10-seconds (&optional count)

     Move back  count  slices of 10 seconds.

     (fn &optional COUNT)

12.61.4.5 emacspeak-empv-backward-30-minutes
............................................

 -- Command: emacspeak-empv-backward-30-minutes

     Move backward by 30 minutes

12.61.4.6 emacspeak-empv-backward-5-minutes
...........................................

 -- Command: emacspeak-empv-backward-5-minutes

     Move backward by 5 minutes

12.61.4.7 emacspeak-empv-backward-minute
........................................

 -- Command: emacspeak-empv-backward-minute (&optional count)

     Move back  count  minutes.

     (fn &optional COUNT)

12.61.4.8 emacspeak-empv-clear-filter
.....................................

 -- Command: emacspeak-empv-clear-filter

     Clear all filters.

12.61.4.9 emacspeak-empv-current-title
......................................

 -- Command: emacspeak-empv-current-title

     Speak title of currently selected item.

12.61.4.10 emacspeak-empv-forward-10-minutes
............................................

 -- Command: emacspeak-empv-forward-10-minutes

     Move forward by 10 minutes

12.61.4.11 emacspeak-empv-forward-10-seconds
............................................

 -- Command: emacspeak-empv-forward-10-seconds (&optional count)

     Move forward count  chunks of 10 seconds.

     (fn &optional COUNT)

12.61.4.12 emacspeak-empv-forward-30-minutes
............................................

 -- Command: emacspeak-empv-forward-30-minutes

     Move forward by 30 minutes

12.61.4.13 emacspeak-empv-forward-5-minutes
...........................................

 -- Command: emacspeak-empv-forward-5-minutes

     Move forward by 5 minutes

12.61.4.14 emacspeak-empv-forward-minute
........................................

 -- Command: emacspeak-empv-forward-minute (&optional count)

     Move forward count  minutes.

     (fn &optional COUNT)

12.61.4.15 emacspeak-empv-percentage-seek
.........................................

 -- Command: emacspeak-empv-percentage-seek (target)

     Percentage seek in seconds,see ‘empv-seek’

     (fn TARGET)

12.61.4.16 emacspeak-empv-play-file
...................................

 -- Command: emacspeak-empv-play-file (file &optional prefix)
     ‘C-e '’

     Play file using mpv.
     Interactive prefix arg plays directory.
     If already playing, then read an empv key and invoke its command.

     (fn FILE &optional PREFIX)

12.61.4.17 emacspeak-empv-play-last
...................................

 -- Command: emacspeak-empv-play-last
     ‘C-e y l’

     Play most recently played URL.

12.61.4.18 emacspeak-empv-play-url
..................................

 -- Command: emacspeak-empv-play-url (url)
     ‘C-e y y’

     Play URL using mpv.

     (fn URL)

12.61.4.19 emacspeak-empv-radio
...............................

 -- Command: emacspeak-empv-radio
     ‘C-e y r’

     Play Internet stream

12.61.4.20 emacspeak-empv-relative-seek
.......................................

 -- Command: emacspeak-empv-relative-seek (target)

     Relative seek in seconds,see ‘empv-seek’

     (fn TARGET)

12.61.4.21 emacspeak-empv-time-pos
..................................

 -- Command: emacspeak-empv-time-pos

     Speak time and percent position.

12.61.4.22 emacspeak-empv-toggle-balance
........................................

 -- Command: emacspeak-empv-toggle-balance (value)

     Set balance to value -- range is -1.0..1.0

     (fn VALUE)

12.61.4.23 emacspeak-empv-toggle-custom
.......................................

 -- Command: emacspeak-empv-toggle-custom

     Toggle our custom filters.

12.61.4.24 emacspeak-empv-toggle-filter
.......................................

 -- Command: emacspeak-empv-toggle-filter (filter)

     Toggle Filter.
     Filter is of the  form name=arg-1:arg-2:...

     (fn FILTER)

12.61.4.25 emacspeak-empv-toggle-left
.....................................

 -- Command: emacspeak-empv-toggle-left

     Toggle output to being just on the left.

12.61.4.26 emacspeak-empv-toggle-right
......................................

 -- Command: emacspeak-empv-toggle-right

     Toggle output to being just on the right.

12.61.5 emacspeak-empv Options
------------------------------

 -- Variable: User Option emacspeak-empv-custom-filters
     List of custom filters to turn on/off at one shot
     The default value is suitable for classical instrumental music.

     Default Value:
     
     ("extrastereo" "stereowiden=4.25:.1:735:.8" "haas")
     


File: emacspeak.info,  Node: emacspeak-enriched,  Next: emacspeak-entertain,  Prev: emacspeak-empv,  Up: Emacspeak Commands And Options

12.62 emacspeak-enriched
========================

emacspeak extensions to voiceify rich text.

12.62.1 Emacspeak-Enriched Commands
-----------------------------------

12.62.1.1 emacspeak-enriched-voiceify-faces
...........................................

 -- Command: emacspeak-enriched-voiceify-faces (start end)

     Map base fonts to voices.
     Useful in voiceifying rich text.

     (fn START END)


File: emacspeak.info,  Node: emacspeak-entertain,  Next: emacspeak-enwc,  Prev: emacspeak-enriched,  Up: Emacspeak Commands And Options

12.63 emacspeak-entertain
=========================

Auditory interface to misc games

12.63.1 Emacspeak-Entertain Commands
------------------------------------

12.63.1.1 emacspeak-hangman-speak-guess
.......................................

 -- Command: emacspeak-hangman-speak-guess

     Speak current guessed string.

12.63.1.2 emacspeak-hangman-speak-statistics
............................................

 -- Command: emacspeak-hangman-speak-statistics

     Speak statistics.


File: emacspeak.info,  Node: emacspeak-enwc,  Next: emacspeak-epa,  Prev: emacspeak-entertain,  Up: Emacspeak Commands And Options

12.64 emacspeak-enwc
====================

ENWC == Emacs Network Client Work easily with NM and friends.


File: emacspeak.info,  Node: emacspeak-epa,  Next: emacspeak-eperiodic,  Prev: emacspeak-enwc,  Up: Emacspeak Commands And Options

12.65 emacspeak-epa
===================

EPA == EasyPG Assistant Integrate GPG functionality into Emacs.
Speech-enable all interactive commands.


File: emacspeak.info,  Node: emacspeak-eperiodic,  Next: emacspeak-epub,  Prev: emacspeak-epa,  Up: Emacspeak Commands And Options

12.66 emacspeak-eperiodic
=========================

eperiodic produces an interactive periodic table of elements and can be
found at http://vegemite.chem.nottingham.ac.uk/~matt/emacs/eperiodic.el

12.66.1 Emacspeak-Eperiodic Commands
------------------------------------

12.66.1.1 emacspeak-eperiodic-goto-property-section
...................................................

 -- Command: emacspeak-eperiodic-goto-property-section

     Mark position and jump to properties section.

12.66.1.2 emacspeak-eperiodic-next-line
.......................................

 -- Command: emacspeak-eperiodic-next-line

     Move to next row and speak element.

12.66.1.3 emacspeak-eperiodic-play-description
..............................................

 -- Command: emacspeak-eperiodic-play-description

     Play audio description from WebElements.

12.66.1.4 emacspeak-eperiodic-previous-line
...........................................

 -- Command: emacspeak-eperiodic-previous-line

     Move to next row and speak element.

12.66.1.5 emacspeak-eperiodic-speak-current-element
...................................................

 -- Command: emacspeak-eperiodic-speak-current-element

     Speak element at point.


File: emacspeak.info,  Node: emacspeak-epub,  Next: emacspeak-erc,  Prev: emacspeak-eperiodic,  Up: Emacspeak Commands And Options

12.67 emacspeak-epub
====================

12.67.1 Introduction
--------------------

This module implements the Emacspeak EPub Bookshelf -- a unified
interface for organizing, locating and reading EPub EBooks on the
emacspeak Audio Desktop.  The epub reader is built using the Emacs Web
Browser (EWW), and all of emacspeak's EWW conveniences are available
when reading EBooks -- see *Note emacspeak-eww:: for useful tools
including bookmarking and structured navigation.  For now it supports
epub2 -- it will support epub3 some time in the future.

   The main entry point is command ‘emacspeak-epub’ bound to ‘C-e g’.
This command opens a new bookshelf buffer unless the user has previously
opened a specific bookshelf.  A *bookshelf* is a buffer that lists books
placed on a given bookshelf -- these are listed by *title* and *author*.
The bookshelf buffer is in a special mode that provides single-key
commands for adding, removing and finding books, as well as for opening
the selected book using Emacs' built-in Web browser (‘eww’).

   The next few sections give a high-level overview of the emacspeak
Bookshelf and EPub interaction, followed by detailed documentation on
the various commands and user options.

12.67.2 Organizing EBooks On The Emacspeak Desktop
--------------------------------------------------

In the simplest case, EBooks can be placed under a specific directory
(with sub-directories as needed).  Customize user option
‘emacspeak-epub-library-directory’ to point to this location.  Here is a
quick summary of commands for organizing, saving and opening a
bookshelf:

‘a’
     emacspeak-epub-bookshelf-add-epub
‘b’
     emacspeak-epub-bookshelf-open
‘c’
     emacspeak-epub-bookshelf-clear
‘d’
     emacspeak-epub-bookshelf-remove-this-book
‘r’
     emacspeak-epub-bookshelf-rename
‘l’
     emacspeak-epub-locate-epubs
‘C-a’
     emacspeak-epub-bookshelf-add-directory
‘C-d’
     emacspeak-epub-bookshelf-remove-directory
‘C-l’
     emacspeak-epub-bookshelf-redraw
‘C-o’
     emacspeak-epub-bookshelf-open-epub
‘M-s’
     emacspeak-epub-bookshelf-save
‘C-x C-q’
     emacspeak-epub-bookshelf-refresh
‘C-x C-s’
     emacspeak-epub-bookshelf-save

12.67.3 Integrating With Project Gutenberg
------------------------------------------

Gutenberg integration provides one-shot commands for downloading the
latest copy of the Gutenberg catalog and finding and downloading the
desired epub for offline reading.

‘C’
     emacspeak-epub-gutenberg-catalog
‘g’
     emacspeak-epub-gutenberg-download
   Once downloaded, these EBooks can be organized under
‘emacspeak-epub-library-directory’ For more advanced usage, see the next
section on integrating with Calibre catalogs.

12.67.4 Calibre Integration
---------------------------

Project Calibre enables the indexing and searching of large EBook
collections.  Read the Calibre documentation for organizing and indexing
your EBook library.  See user options named ‘emacspeak-epub-calibre-*’
for customizing emacspeak to work with Calibre.  Once set up, Calibre
integration provides the following commands from the *bookshelf* buffer:

‘/’
     emacspeak-epub-calibre-results
‘A’
     emacspeak-epub-bookshelf-calibre-author
‘S’
     emacspeak-epub-bookshelf-calibre-search
‘T’
     emacspeak-epub-bookshelf-calibre-title

12.67.5 Reading EBooks From The Bookshelf
-----------------------------------------

The most efficient means to read an EBook is to have EWW render the
entire book -- this works well even for very large EBooks given that EWW
is efficient at rendering HTML. Rendering the entire book means that all
of the contents are available for searching.  To view an EBook in its
entirety, use command ‘emacspeak-epub-eww’.  You can open the EPub table
of contents with command ‘emacspeak-epub-open’; for a well-constructed
epub, this TOC should provide hyperlinks to each section listed in the
table of contents.

‘RET’
     emacspeak-epub-eww
‘e’
     emacspeak-epub-eww
‘f’
     emacspeak-epub-browse-files
‘o’
     emacspeak-epub-open

   Code: Required Modules:

12.67.6 Emacspeak-Epub Commands
-------------------------------

12.67.6.1 emacspeak-calibre-mode
................................

 -- Command: emacspeak-calibre-mode

     A Calibre Front-end.
     Letters do not insert themselves; instead, they are commands.

     Key             Binding
     -----------------------------------------------------
     RET		emacspeak-epub-calibre-dired-at-point

     In addition to any hooks its parent mode ‘special-mode’ might have
     run, this mode runs the hook ‘emacspeak-calibre-mode-hook’, as the
     final or penultimate step during initialization.

12.67.6.2 emacspeak-epub
........................

 -- Command: emacspeak-epub
     ‘C-e M-e’

     EPub  Interaction.
     When opened, displays a bookshelf consisting of  epubs found at the
     root directory,see M-x emacspeak-epub-mode

12.67.6.3 emacspeak-epub-bookshelf-add-directory
................................................

 -- Command: emacspeak-epub-bookshelf-add-directory (directory &optional
          recursive)

     Add EPubs found in specified directory to the bookshelf.
     Interactive prefix arg searches recursively in directory.

     (fn DIRECTORY &optional RECURSIVE)

12.67.6.4 emacspeak-epub-bookshelf-add-epub
...........................................

 -- Command: emacspeak-epub-bookshelf-add-epub (epub-file)

     Add epub file to current bookshelf.

     (fn EPUB-FILE)

12.67.6.5 emacspeak-epub-bookshelf-calibre-author
.................................................

 -- Command: emacspeak-epub-bookshelf-calibre-author (pattern)

     Add results of an author search to current bookshelf.

     (fn PATTERN)

12.67.6.6 emacspeak-epub-bookshelf-calibre-search
.................................................

 -- Command: emacspeak-epub-bookshelf-calibre-search (pattern)

     Add results of an title/author search to current bookshelf.

     (fn PATTERN)

12.67.6.7 emacspeak-epub-bookshelf-calibre-title
................................................

 -- Command: emacspeak-epub-bookshelf-calibre-title (pattern)

     Add results of an title search to current bookshelf.

     (fn PATTERN)

12.67.6.8 emacspeak-epub-bookshelf-clear
........................................

 -- Command: emacspeak-epub-bookshelf-clear

     Clear all books from bookshelf.

12.67.6.9 emacspeak-epub-bookshelf-load
.......................................

 -- Command: emacspeak-epub-bookshelf-load

     Load bookshelf metadata from disk.

12.67.6.10 emacspeak-epub-bookshelf-open
........................................

 -- Command: emacspeak-epub-bookshelf-open (bookshelf)

     Load bookshelf metadata from specified bookshelf.

     (fn BOOKSHELF)

12.67.6.11 emacspeak-epub-bookshelf-open-epub
.............................................

 -- Command: emacspeak-epub-bookshelf-open-epub (epub-file)

     Open epub file and add it to current bookshelf.

     (fn EPUB-FILE)

12.67.6.12 emacspeak-epub-bookshelf-redraw
..........................................

 -- Command: emacspeak-epub-bookshelf-redraw (&optional author-first)

     Redraw Bookshelf.
     Optional interactive prefix arg author-first prints author at the
       left.

     (fn &optional AUTHOR-FIRST)

12.67.6.13 emacspeak-epub-bookshelf-refresh
...........................................

 -- Command: emacspeak-epub-bookshelf-refresh

     Refresh and redraw bookshelf.

12.67.6.14 emacspeak-epub-bookshelf-remove-directory
....................................................

 -- Command: emacspeak-epub-bookshelf-remove-directory (directory
          &optional recursive)

     Remove EPubs found in specified directory from the bookshelf.
     Interactive prefix arg searches recursively in directory.

     (fn DIRECTORY &optional RECURSIVE)

12.67.6.15 emacspeak-epub-bookshelf-remove-this-book
....................................................

 -- Command: emacspeak-epub-bookshelf-remove-this-book

     Remove the book on current line from this bookshelf.
     No book files are deleted.

12.67.6.16 emacspeak-epub-bookshelf-rename
..........................................

 -- Command: emacspeak-epub-bookshelf-rename (name &optional overwrite)

     Saves current bookshelf to  specified name.
     Interactive prefix arg ‘overwrite’ will overwrite existing file.

     (fn NAME &optional OVERWRITE)

12.67.6.17 emacspeak-epub-bookshelf-save
........................................

 -- Command: emacspeak-epub-bookshelf-save

     Save bookshelf metadata.

12.67.6.18 emacspeak-epub-browse-files
......................................

 -- Command: emacspeak-epub-browse-files (epub)

     Browse list of HTML files in  EPub.
     Useful if table of contents in toc.ncx is empty.

     (fn EPUB)

12.67.6.19 emacspeak-epub-calibre-dired-at-point
................................................

 -- Command: emacspeak-epub-calibre-dired-at-point

     Open directory containing current result.

12.67.6.20 emacspeak-epub-calibre-results
.........................................

 -- Command: emacspeak-epub-calibre-results

     Show most recent Calibre search results.

12.67.6.21 emacspeak-epub-delete
................................

 -- Command: emacspeak-epub-delete

     Delete EPub under point.

12.67.6.22 emacspeak-epub-eww
.............................

 -- Command: emacspeak-epub-eww (epub-file &optional use-ncx)
     ‘C-e y E’

     Display entire book  using EWW from EPub.
     Use content listed in toc.ncx  if prefix-arg use-ncx is true.
     Default is to  use   the sorted list of html files
     in the epub file.

     (fn EPUB-FILE &optional USE-NCX)

12.67.6.23 emacspeak-epub-google
................................

 -- Command: emacspeak-epub-google (query)

     Search for Epubs from Google Books.

     (fn QUERY)

12.67.6.24 emacspeak-epub-gutenberg-catalog
...........................................

 -- Command: emacspeak-epub-gutenberg-catalog (&optional refresh)

     Open Gutenberg catalog.
     Fetch if needed, or if refresh is T.

     (fn &optional REFRESH)

12.67.6.25 emacspeak-epub-gutenberg-download
............................................

 -- Command: emacspeak-epub-gutenberg-download (book-id &optional
          download)

     Open web page for specified book.
     Place download url for epub in kill ring.
     With interactive prefix arg ‘download’, download the epub.

     (fn BOOK-ID &optional DOWNLOAD)

12.67.6.26 emacspeak-epub-locate-epubs
......................................

 -- Command: emacspeak-epub-locate-epubs (pattern)

     Locate epub files using locate.

     (fn PATTERN)

12.67.6.27 emacspeak-epub-mode
..............................

 -- Command: emacspeak-epub-mode

     An EPub Front-end.
     Letters do not insert themselves; instead, they are commands.

     Key             Binding
     -----------------------------------------------------
     C-a		emacspeak-epub-bookshelf-add-directory
     C-d		emacspeak-epub-bookshelf-remove-directory
     C-k		emacspeak-epub-delete
     C-l		emacspeak-epub-bookshelf-redraw
     RET		emacspeak-epub-eww
     C-o		emacspeak-epub-bookshelf-open-epub
     /		emacspeak-epub-calibre-results
     A		emacspeak-epub-bookshelf-calibre-author
     C		emacspeak-epub-gutenberg-catalog
     G		emacspeak-epub-google
     O		emacspeak-epub-open-with-nov
     S		emacspeak-epub-bookshelf-calibre-search
     T		emacspeak-epub-bookshelf-calibre-title
     a		emacspeak-epub-bookshelf-add-epub
     b		emacspeak-epub-bookshelf-open
     c		emacspeak-epub-bookshelf-clear
     d		emacspeak-epub-bookshelf-remove-this-book
     e		emacspeak-epub-eww
     f		emacspeak-epub-browse-files
     g		emacspeak-epub-gutenberg-download
     l		emacspeak-epub-locate-epubs
     n		next-line
     o		emacspeak-epub-open
     p		previous-line
     r		emacspeak-epub-bookshelf-rename

     M-s		emacspeak-epub-bookshelf-save

     C-x C-q		emacspeak-epub-bookshelf-refresh
     C-x C-s		emacspeak-epub-bookshelf-save

     In addition to any hooks its parent mode ‘special-mode’ might have
     run, this mode runs the hook ‘emacspeak-epub-mode-hook’, as the final
     or penultimate step during initialization.

12.67.6.28 emacspeak-epub-next
..............................

 -- Command: emacspeak-epub-next

     Move to next book.

12.67.6.29 emacspeak-epub-open
..............................

 -- Command: emacspeak-epub-open (epub-file)

     Open specified Epub.
     Filename may need to  be shell-quoted when called from Lisp.

     (fn EPUB-FILE)

12.67.6.30 emacspeak-epub-open-with-nov
.......................................

 -- Command: emacspeak-epub-open-with-nov

     Open ebook at point in nov-mode.

12.67.6.31 emacspeak-epub-previous
..................................

 -- Command: emacspeak-epub-previous

     Move to previous book.

12.67.6.32 emacspeak-epub-url-executor
......................................

 -- Command: emacspeak-epub-url-executor (url)

     Custom URL executor for use in EPub Mode.

     (fn URL)

12.67.7 emacspeak-epub Options
------------------------------

 -- Variable: User Option emacspeak-epub-bookshelf-directory
     Directory where we keep .bsf files defining various bookshelves.

     Default Value:
     
     "/home/raman/EBooks/bsf/"
     

 -- Variable: User Option emacspeak-epub-calibre-root-dir
     Root of Calibre library.

     Default Value:
     
     "/home/raman/EBooks/calibre"
     

 -- Variable: User Option emacspeak-epub-gutenberg-mirror
     Base URL  for Gutenberg mirror.

     Default Value:
     
     "http://www.gutenberg.org/ebooks/"
     

 -- Variable: User Option emacspeak-epub-gutenberg-suffix
     Suffix of book type we retrieve.

     Default Value:
     
     ".epub.noimages"
     

 -- Variable: User Option emacspeak-epub-library-directory
     Directory under which we store Epubs.

     Default Value:
     
     "/home/raman/EBooks/"
     


File: emacspeak.info,  Node: emacspeak-erc,  Next: emacspeak-eshell,  Prev: emacspeak-epub,  Up: Emacspeak Commands And Options

12.68 emacspeak-erc
===================

erc.el is a modern Emacs client for IRC including color and font locking
support.  erc.el - an Emacs IRC client (by Alexander L. Belikoff)
http://www.cs.cmu.edu/~berez/irc/erc.el

12.68.1 Emacspeak-Erc Commands
------------------------------

12.68.1.1 emacspeak-erc-add-name-to-monitor
...........................................

 -- Command: emacspeak-erc-add-name-to-monitor (name &optional
          quiten-pronunciation)

     Add people to monitor in this room.
     Optional interactive prefix  arg defines a pronunciation that
       silences speaking of this perso’s name.

     (fn NAME &optional QUITEN-PRONUNCIATION)

12.68.1.2 emacspeak-erc-delete-name-from-monitor
................................................

 -- Command: emacspeak-erc-delete-name-from-monitor (name)

     Remove name to monitor in this room.

     (fn NAME)

12.68.1.3 emacspeak-erc-setup-cricket-rules
...........................................

 -- Command: emacspeak-erc-setup-cricket-rules

     Set up #cricket channels.

12.68.1.4 emacspeak-erc-toggle-my-monitor
.........................................

 -- Command: emacspeak-erc-toggle-my-monitor (&optional prefix)

     Toggle state of ERC  monitor of my messages.
     Interactive PREFIX arg means toggle the global default value, and then
     set the current local value to the result.

12.68.1.5 emacspeak-erc-toggle-room-monitor
...........................................

 -- Command: emacspeak-erc-toggle-room-monitor (&optional prefix)

     Toggle state of ERC room monitor.
     Interactive
     PREFIX arg means toggle the global default value, and then
     set the current local value to the result.

12.68.1.6 emacspeak-erc-toggle-speak-all-participants
.....................................................

 -- Command: emacspeak-erc-toggle-speak-all-participants (&optional
          prefix)

     Toggle state of ERC speak all participants..
     Interactive
     PREFIX arg means toggle the global default value, and then
     set the current local value to the result.

12.68.2 emacspeak-erc Options
-----------------------------

 -- Variable: User Option emacspeak-erc-ignore-notices
     Set to T if you dont want to see notification  messages from the
     server.

     Default Value:
     
     t
     

 -- Variable: User Option emacspeak-erc-my-nick
     My IRC nick.

     Default Value:
     
     ""
     

 -- Variable: User Option emacspeak-erc-speak-all-participants
     Speak all things said if t.

     Default Value:
     
     nil
     


File: emacspeak.info,  Node: emacspeak-eshell,  Next: emacspeak-ess,  Prev: emacspeak-erc,  Up: Emacspeak Commands And Options

12.69 emacspeak-eshell
======================

EShell is a shell implemented entirely in Emacs Lisp.  It is part of
emacs 21 -and can also be used under Emacs 20.  This module
speech-enables EShell


File: emacspeak.info,  Node: emacspeak-ess,  Next: emacspeak-etable,  Prev: emacspeak-eshell,  Up: Emacspeak Commands And Options

12.70 emacspeak-ess
===================

ESS == Emacs Speaks Statistics This module makes ESS speak.


File: emacspeak.info,  Node: emacspeak-etable,  Next: emacspeak-eterm,  Prev: emacspeak-ess,  Up: Emacspeak Commands And Options

12.71 emacspeak-etable
======================

table.el provides rich table editing for emacs.  this module
speech-enables table.el

12.71.1 Emacspeak-Etable Commands
---------------------------------

12.71.1.1 emacspeak-etable-speak-cell
.....................................

 -- Command: emacspeak-etable-speak-cell

     Speak current cell.


File: emacspeak.info,  Node: emacspeak-eterm,  Next: emacspeak-eudc,  Prev: emacspeak-etable,  Up: Emacspeak Commands And Options

12.72 emacspeak-eterm
=====================

This module makes eterm talk.  Eterm is the new terminal emulator for
Emacs.  Use of emacspeak with eterm really needs an info page.  At
present, the only documentation is the source level documentation.  This
module uses Control-t as an additional prefix key to allow the user To
move around the terminal and have different parts spoken.

12.72.1 Emacspeak-Eterm Commands
--------------------------------

12.72.1.1 emacspeak-eterm-copy-region-to-register
.................................................

 -- Command: emacspeak-eterm-copy-region-to-register (register)

     Copy text from terminal to an Emacs REGISTER.
     This copies  region delimited by the emacspeak eterm marker
     set by command M-x emacspeak-eterm-set-marker and the
     emacspeak eterm pointer to a register.

     (fn REGISTER)

12.72.1.2 emacspeak-eterm-define-window
.......................................

 -- Command: emacspeak-eterm-define-window (id)

     Prompt for a window ID.
     The window is then define to be
     the rectangle delimited by point and eterm mark.  This is to
     be used when emacspeak is set to review mode inside an
     eterm.

     (fn ID)

12.72.1.3 emacspeak-eterm-describe-window
.........................................

 -- Command: emacspeak-eterm-describe-window (id)

     Describe an eterm  window.
     Description indicates eterm window coordinates and whether it is stretchable

     (fn ID)

12.72.1.4 emacspeak-eterm-goto-line
...................................

 -- Command: emacspeak-eterm-goto-line (line)

     Move emacspeak eterm pointer to a specified LINE.

     (fn LINE)

12.72.1.5 emacspeak-eterm-kill-ring-save-region
...............................................

 -- Command: emacspeak-eterm-kill-ring-save-region

     Copy text from terminal to kill ring.
     This copies  region delimited by the emacspeak eterm marker
     set by command M-x emacspeak-eterm-set-marker and the
     emacspeak eterm pointer.

12.72.1.6 emacspeak-eterm-maybe-send-raw
........................................

 -- Command: emacspeak-eterm-maybe-send-raw

     Send a raw character through if in the terminal buffer.
     Execute end of line if
     in a non eterm buffer if executed via C-e C-e

12.72.1.7 emacspeak-eterm-paste-register
........................................

 -- Command: emacspeak-eterm-paste-register (register)

     Paste contents of REGISTER at current location.
     If the specified register contains text, then that text is
     sent to the terminal as if it were typed by the user.

     (fn REGISTER)

12.72.1.8 emacspeak-eterm-pointer-backward-word
...............................................

 -- Command: emacspeak-eterm-pointer-backward-word (count)

     Move the pointer backward  by words.
     Interactive numeric prefix arg specifies number of words to move.
     Argument COUNT specifies number of words by which to move.

     (fn COUNT)

12.72.1.9 emacspeak-eterm-pointer-down
......................................

 -- Command: emacspeak-eterm-pointer-down (count)

     Move the pointer down a line.
     Argument COUNT specifies number of lines by which to move.

     (fn COUNT)

12.72.1.10 emacspeak-eterm-pointer-forward-word
...............................................

 -- Command: emacspeak-eterm-pointer-forward-word (count)

     Move the pointer forward by words.
     Interactive numeric prefix arg specifies number of words to move.
     Argument COUNT specifies number of words by which to move.

     (fn COUNT)

12.72.1.11 emacspeak-eterm-pointer-left
.......................................

 -- Command: emacspeak-eterm-pointer-left (count)

     Move the pointer left.
     Argument COUNT specifies number of columns by which to move.

     (fn COUNT)

12.72.1.12 emacspeak-eterm-pointer-right
........................................

 -- Command: emacspeak-eterm-pointer-right (count)

     Move the pointer right.
     Argument COUNT specifies number of columns by which to move.

     (fn COUNT)

12.72.1.13 emacspeak-eterm-pointer-to-bottom
............................................

 -- Command: emacspeak-eterm-pointer-to-bottom

     Move the pointer to the bottom  of the screen.

12.72.1.14 emacspeak-eterm-pointer-to-cursor
............................................

 -- Command: emacspeak-eterm-pointer-to-cursor

     Move the pointer to the cursor.

12.72.1.15 emacspeak-eterm-pointer-to-left-edge
...............................................

 -- Command: emacspeak-eterm-pointer-to-left-edge

     Move the pointer to the right edge.

12.72.1.16 emacspeak-eterm-pointer-to-next-color-change
.......................................................

 -- Command: emacspeak-eterm-pointer-to-next-color-change (&optional
          count)

     Move the eterm pointer to the next color change.
     This allows you to move between highlighted regions of the screen.
     Optional argument COUNT specifies how many changes to skip.

     (fn &optional COUNT)

12.72.1.17 emacspeak-eterm-pointer-to-previous-color-change
...........................................................

 -- Command: emacspeak-eterm-pointer-to-previous-color-change (&optional
          count)

     Move the eterm pointer to the next color change.
     This allows you to move between highlighted regions of the screen.
     Optional argument COUNT specifies how many changes to skip.

     (fn &optional COUNT)

12.72.1.18 emacspeak-eterm-pointer-to-right-edge
................................................

 -- Command: emacspeak-eterm-pointer-to-right-edge

     Move the pointer to the right edge.

12.72.1.19 emacspeak-eterm-pointer-to-top
.........................................

 -- Command: emacspeak-eterm-pointer-to-top

     Move the pointer to the top of the screen.

12.72.1.20 emacspeak-eterm-pointer-up
.....................................

 -- Command: emacspeak-eterm-pointer-up (count)

     Move the pointer up a line.
     Argument COUNT .specifies number of lines by which to move.

     (fn COUNT)

12.72.1.21 emacspeak-eterm-search-backward
..........................................

 -- Command: emacspeak-eterm-search-backward

     Search backward on the terminal.

12.72.1.22 emacspeak-eterm-search-forward
.........................................

 -- Command: emacspeak-eterm-search-forward

     Search forward on the terminal.

12.72.1.23 emacspeak-eterm-set-filter-window
............................................

 -- Command: emacspeak-eterm-set-filter-window (flag)

     Prompt for the id of a predefined window,
     and set the ‘filter’ window to it.
     Non-nil interactive prefix arg ‘unsets’ the filter window;
     this is equivalent to having the entire terminal as the filter window (this is
     what eterm starts up with).
     Setting the filter window results in emacspeak  only monitoring screen
     activity within the filter window.

     (fn FLAG)

12.72.1.24 emacspeak-eterm-set-focus-window
...........................................

 -- Command: emacspeak-eterm-set-focus-window (flag)

     Prompt for the id of a predefined window,
     and set the ‘focus’ window to it.
     Non-nil interactive prefix arg ‘unsets’ the focus window;
     this is equivalent to having the entire terminal as the focus window (this is
     what eterm starts up with).
     Setting the focus window results in emacspeak  monitoring screen
     and speaking that window upon seeing screen activity.

     (fn FLAG)

12.72.1.25 emacspeak-eterm-set-marker
.....................................

 -- Command: emacspeak-eterm-set-marker

     Set Emacspeak eterm marker.
     This sets  the emacspeak eterm marker to the position pointed
     to by the emacspeak eterm pointer.

12.72.1.26 emacspeak-eterm-speak-cursor
.......................................

 -- Command: emacspeak-eterm-speak-cursor

     Speak cursor position.

12.72.1.27 emacspeak-eterm-speak-pointer
........................................

 -- Command: emacspeak-eterm-speak-pointer

     Speak current pointer position.

12.72.1.28 emacspeak-eterm-speak-pointer-char
.............................................

 -- Command: emacspeak-eterm-speak-pointer-char (&optional prefix)

     Speak char under eterm pointer.
     Pronounces character phonetically unless  called with a PREFIX arg.

     (fn &optional PREFIX)

12.72.1.29 emacspeak-eterm-speak-pointer-line
.............................................

 -- Command: emacspeak-eterm-speak-pointer-line

     Speak the line the pointer is on.

12.72.1.30 emacspeak-eterm-speak-pointer-word
.............................................

 -- Command: emacspeak-eterm-speak-pointer-word

     Speak the word  the pointer is on.

12.72.1.31 emacspeak-eterm-speak-predefined-window
..................................................

 -- Command: emacspeak-eterm-speak-predefined-window

     Speak a predefined eterm window between 1 and 10.

12.72.1.32 emacspeak-eterm-speak-screen
.......................................

 -- Command: emacspeak-eterm-speak-screen (&optional flag)

     Speak the screen.  Default is to speak from the emacspeak pointer  to point.
     Optional prefix arg FLAG causes region above
     the Emacspeak pointer to be spoken.

     (fn &optional FLAG)

12.72.1.33 emacspeak-eterm-speak-window
.......................................

 -- Command: emacspeak-eterm-speak-window (id)

     Speak an eterm window.
     Argument ID specifies the window.

     (fn ID)

12.72.1.34 emacspeak-eterm-toggle-filter-window
...............................................

 -- Command: emacspeak-eterm-toggle-filter-window

     Toggle active state of filter window.

12.72.1.35 emacspeak-eterm-toggle-focus-window
..............................................

 -- Command: emacspeak-eterm-toggle-focus-window

     Toggle active state of focus window.

12.72.1.36 emacspeak-eterm-toggle-pointer-mode
..............................................

 -- Command: emacspeak-eterm-toggle-pointer-mode (&optional prefix)

     Toggle emacspeak eterm pointer mode.
     With optional interactive prefix  arg, turn it on.
     When emacspeak eterm is in pointer mode, the eterm read pointer
     stays where it is rather than automatically moving to the terminal cursor when
     there is terminal activity.

12.72.1.37 emacspeak-eterm-toggle-review
........................................

 -- Command: emacspeak-eterm-toggle-review

     Toggle state of eterm review.
     In review mode, you can move around the terminal and listen to the contents
     without sending input to the terminal itself.

12.72.1.38 emacspeak-eterm-yank-window
......................................

 -- Command: emacspeak-eterm-yank-window (id)

     Yank contents of  an eterm window at point.

     (fn ID)

12.72.1.39 emacspeak-toggle-eterm-autospeak
...........................................

 -- Command: emacspeak-toggle-eterm-autospeak (&optional prefix)

     Toggle state of eterm autospeak.
     When eterm autospeak is turned on and the terminal is in line
     mode, all output to the terminal is automatically spoken.
     Interactive prefix arg means toggle the global default value, and
     then set the current local value to the result.


File: emacspeak.info,  Node: emacspeak-eudc,  Next: emacspeak-evil,  Prev: emacspeak-eterm,  Up: Emacspeak Commands And Options

12.73 emacspeak-eudc
====================

EUDC -Emacs Universal Directory Client provides a unified interface to
directory servers e.g.  ldap servers this module speech enables eudc

12.73.1 Emacspeak-Eudc Commands
-------------------------------

12.73.1.1 emacspeak-eudc-send-mail
..................................

 -- Command: emacspeak-eudc-send-mail

     Send email to the address given by the current record.


File: emacspeak.info,  Node: emacspeak-evil,  Next: emacspeak-eww,  Prev: emacspeak-eudc,  Up: Emacspeak Commands And Options

12.74 emacspeak-evil
====================

EVIL == VIM In Emacs This is work-in-progress and is not complete.

12.74.1 Emacspeak-Evil Commands
-------------------------------

12.74.1.1 emacspeak-evil-toggle-evil
....................................

 -- Command: emacspeak-evil-toggle-evil

     Interactively toggle evil-mode.


File: emacspeak.info,  Node: emacspeak-eww,  Next: emacspeak-extras,  Prev: emacspeak-evil,  Up: Emacspeak Commands And Options

12.75 emacspeak-eww
===================

EWW == Emacs Web Browser EWW is a light-weight Web browser built into
Emacs starting with Emacs-24.4 .  This module speech-enables EWW.

   It implements additional interactive commands for navigating the DOM.
It also provides a set of filters for interactively filtering the DOM by
various attributes such as id, class and role.  Finally, this module
updates EWW's built-in key-bindings with Emacspeak conveniences -- for a
complete list of key-bindings, invoke command ‘describe-bindings’ in an
‘EWW’ buffer by pressing ‘C-h b’.

12.75.1 Structured Navigation
-----------------------------

These commands move through section headers as defined in HTML.
‘1’
     ‘emacspeak-eww-next-h1’ Move to next ‘H1’ heading.
‘2’
     ‘emacspeak-eww-next-h2’ Move to next ‘H2’ heading.
‘3’
     ‘emacspeak-eww-next-h3’ Move to next ‘H3’ heading.
‘4’
     ‘emacspeak-eww-next-h4’ Move to next ‘H4’ heading.
‘.’
     ‘emacspeak-eww-next-h’ Move to next heading.  (‘H1’...‘H4’).
‘M-1’
     ‘emacspeak-eww-previous-h1’ Move to previous ‘H1’ heading.
‘M-2’
     ‘emacspeak-eww-previous-h2’ Move to previous ‘H2’ heading.
‘M-3’
     ‘emacspeak-eww-previous-h3’ Move to previous ‘H3’ heading.
‘M-4’
     ‘emacspeak-eww-previous-h4’ Move to previous ‘H4’ heading.
‘,’
     ‘emacspeak-eww-previous-h’ Move to previous heading (‘H1’...‘H4’).

   This next set of DOM commands enable navigating by HTML elements.
‘M-SPC’
     ‘emacspeak-eww-speak-this-element’ Speak contents of current
     element.
‘J’
     ‘emacspeak-eww-next-element-like-this’ Jump to next element that is
     the same as the one under point.  If there are multiple HTML
     elements under point, prompts for element-name using completion.
‘K’
     ‘emacspeak-eww-previous-element-like-this’ Jump to previous element
     that is the same as the one under point.  If there are multiple
     HTML elements under point, prompts for element-name using
     completion.
‘N’
     ‘emacspeak-eww-next-element-from-history’ Jump to next element
     based on previous J/K command history.
‘P’
     ‘emacspeak-eww-previous-element-from-history’ Jump to previous
     element based on previous J/K history.
‘O’
     ‘emacspeak-eww-previous-li’ Jump to previous list item.
‘o’
     ‘emacspeak-eww-next-li’ Jump to next list item.
‘T’
     ‘emacspeak-eww-previous-table’ Jump to previous table in page.
‘t’
     ‘emacspeak-eww-next-table’ Jump to next table.
‘[’
     ‘emacspeak-eww-previous-p’ Jump to previous paragraph.
‘]’
     ‘emacspeak-eww-next-p’ Jump to next paragraph.
‘b’
     ‘shr-previous-link’ Jump to previous link.
‘f’
     ‘shr-next-link’ Jump to next link.
‘n’
     ‘emacspeak-eww-next-element’ Jump to next element.
‘p’
     ‘emacspeak-eww-previous-element’ Jump to previous element.
‘s’
     ‘eww-readable’ Use EWW's built-in readable tool.
‘:’
     ‘emacspeak-eww-tags-at-point’ Display currently active HTML tags at
     point.

12.75.2 Filtering Content Using The DOM
---------------------------------------

These commands use EWW's HTML DOM to display different filtered views of
the Web page.  With an interactive prefix argument, these commands
prompt for a list of filters.  Command ‘emacspeak-eww-restore’ bound to
‘DEL’ can be used to restore the previous view.

‘A’
     ‘eww-view-dom-having-attribute’ Display DOM nodes having specified
     attribute.  Valid attributes are available via completion.
‘C’
     ‘eww-view-dom-having-class’ Display DOM nodes having specified
     class.  Valid classes are available via completion.
‘E’
     ‘eww-view-dom-having-elements’ Display specified elements from the
     Dom.  Valid element names are available via completion.
‘I’
     ‘eww-view-dom-having-id’ Display DOM nodes having specified ID.
     Valid id values are available via completion.

‘M’
     ‘eww-view-dom-element-having-text’ lines containing pattern.
     Useful to filter down RSS feeds.
‘R’
     ‘eww-view-dom-having-role’ Display DOM nodes having specified role.
     Valid roles are available via completion.
‘M-a’
     ‘eww-view-dom-not-having-attribute’ Filter out DOM nodes having
     specified attribute.  Valid attribute values are available via
     completion.
‘M-c’
     ‘eww-view-dom-not-having-class’ Filter out DOM nodes having
     specified class.  Valid class values are available via completion.
‘M-e’
     ‘eww-view-dom-not-having-elements’ Filter out specified element DOM
     nodes.  Valid element names are available via completion.
‘M-i’
     ‘eww-view-dom-not-having-id’ Dfilter out Display DOM nodes having
     specified ID. Valid id values are available via completion.
‘M-r’
     ‘eww-view-dom-not-having-role’ Filter out DOM nodes having
     specified role.  Valid role values are available via completion.

12.75.3 Diving Into (Focusing) On Specific Content
--------------------------------------------------

Contrast this with filtering described in the previous section.  There,
we discussed commands that *filter* the DOM to render specific types of
elements.  For HTML as spoken on the Web, there is a separate use-case
that is helpful as a dual to filtering, namely, displaying a specific
portion of a page, typically the contents of a ‘div’ element.  These
elements often appear many times on a page, and can be deeply nested,
making it difficult to focus on the relevant content on the page, e.g.
news sites.  Commands ‘emacspeak-eww-dive-into-div’ help in such cases,
‘C-d’ renders the ‘div’ containing point in a separate buffer As with
the filtering commands, ‘l’ returns to the buffer where these commands
were executed.  Long-term users of Emacspeak who still remember Emacs-W3
will recognize this as the *focus* command implemented by Emacspeak for
W3.

12.75.4 Updated Commands For Following Links
--------------------------------------------

These key-bindings are available when point is on a link.  They enable
context-specific actions for following links, e.g., to play media
streams, or to open various feed-types such as ‘ATOM’, ‘RSS’, or ‘OPML’.

‘k’
     ‘shr-copy-url’ Copy URL under point to the kill-ring.
‘;’
     ‘emacspeak-eww-play-media-at-point’ Play media URL under point
     using ‘emacs-m-player’.  Handles URL fragment as time-stamp where
     we resume; use ‘J’ in M-Player to jump to that offset.
‘u’
     ‘emacspeak-eww-url-to-register’ Accumulate url under point to
     register‘u’.  Sample use-cases include building up a playlist of
     links in the right sort order after a YT search.
‘x’
     ‘emacspeak-feeds-select-feed’ Display link under point as an
     ‘ATOM’, ‘OPML’ or ‘RSS’ feed.
‘y’
     ‘empv-play’ Play link -under point as a Youtube stream.

12.75.5 Table Browsing
----------------------

Summary Of Keyboard Commands:
   • ‘M-<left>’ emacspeak-eww-table-previous-cell -- Speak previous
     cell.
   • ‘M-<right>’ emacspeak-eww-table-next-cell -- Speak previous cell.
   • ‘M-<up>’ emacspeak-eww-table-previous-row -- Speak cell above.
   • ‘M-<down>’ emacspeak-eww-table-next-row -- Speak cell below.
   • ‘M-.’ emacspeak-eww-table-speak-cell -- Speak current cell.
   • ‘M-,’ emacspeak-eww-table-speak-dimensions -- Speak number of rows
     and columns.
   • ‘C-t’ emacspeak-eww-table-data -- Browse this table in Emacspeak's
     Table UI -- *Note emacspeak-table-ui::.

   Emacspeak EWW supports table navigation via keys ‘M-.’, ‘M-LEFT’ and
‘M-RIGHT’, to speak the current, previous and next table cell
respectively.  The latter commands also move to the cell being spoken.
You can get a sense of the table's size via ‘M-,’ which speaks the
number of rows and cells in the table.  This works for plain tables, not
nested tables; for nested tables, first have then *unnested* using one
of the XSLT transforms like ‘sort-tables’.

12.75.6 Miscellaneous Commands
------------------------------

‘;’
     ‘emacspeak-eww-play-audio/video’ When on an audio element, plays
     audio under point.
‘C-RET’
     ‘emacspeak-eww-fillin-field’ When on an input field, insert
     username/password information accessed via auth-source.
‘'’
     ‘emacspeak-speak-rest-of-buffer’ Speak rest of current Web page
     starting from point.
‘*’
     ‘eww-add-bookmark’ Bookmark current Web page.
‘= dtk-toggle-punctuation-mode’
     Toggle punctuation mode.
‘?’
     ‘emacspeak-google-similar-to-this-page’ Google similarity search.
‘C-t’
‘G emacspeak-google-command’
     Prefix key to invoke Google-specific commands.
‘L’
     ‘emacspeak-eww-links-rel’ Display any related links discovered via
     the document's ‘meta’ tag.
‘Q’
     ‘emacspeak-kill-buffer-quietly’ Delete this buffer.
‘V’
     ‘eww-view-source’ Display Web page source.
‘e’
     ‘emacspeak-we-xsl-map’ Prefix key for invoking XSLT-based filters.
‘k’
     ‘eww-copy-page-url’ Copy page URL to kill-ring.

   In addition, see commands in *Note emacspeak-google::, for
Google-Search specific commands, many of which are available via
prefix-key ‘G’.

12.75.7 Filtering Content Using XSLT And XPath
----------------------------------------------

‘C-c’
     ‘emacspeak-we-junk-by-class-list’ Prompts for list of class-names
     with completion, and filters out matching elements.
‘C-f’
     ‘emacspeak-we-count-matches’ Prompts for XPath expression, and
     returns count of matching elements.
‘C-p’
     ‘emacspeak-we-xpath-junk-and-follow’ Follows link under point, and
     displays that page after filtering by a specified XPath expression.
‘C-t’
     ‘emacspeak-we-count-tables’ Display a count of tables in the page.
‘C-x’
     ‘emacspeak-we-count-nested-tables’ Counts nested tables.
‘C’
     ‘emacspeak-we-extract-by-class-list’ Prompts for a list of
     class-names, and displays matching elements.
‘D’
     ‘emacspeak-we-junk-by-class-list’ Filters out elements having
     specified class attributes.
‘I’
     ‘emacspeak-we-extract-by-id-list’ Extracts elements by specified
     list of ID values.
‘M’
     ‘emacspeak-we-extract-tables-by-match-list’ Extracts tables that
     match specified selection pattern.
‘P’
     ‘emacspeak-we-follow-and-extract-main’ Follows link under point,
     and extracts readable content, by default, this is all paragraphs
     and headings.
‘S’
     ‘emacspeak-we-style-filter’ Filters content by style attribute.
‘T’
     ‘emacspeak-we-extract-tables-by-position-list’ Extracts tables by
     their position on the page.
‘X’
     ‘emacspeak-we-extract-nested-table-list’ Extracts nested tables.
‘a’
     ‘emacspeak-we-xslt-apply’ Prompt for and apply specified XSLT
     transform to current page.
‘b’
     ‘emacspeak-we-follow-and-filter-by-id’ Follow link under point, and
     filter by specified id value.
‘c’
     ‘emacspeak-we-extract-by-class’ Extracts elements by class.
‘d’
     ‘emacspeak-we-junk-by-class’ Filters out elements having specified
     class value.
‘e’
     ‘emacspeak-we-url-expand-and-execute’ Follow link under point, but
     pass the result to a custom executor.  Availability of special
     executors for link under point is indicated by auditory icon *item*
     instead of *button* You can then experiment by pressing ‘RET’ or ‘e
     e’.  Special executors are available for Reddit Links, Wikipedia
     Links etc.
‘f’
     ‘emacspeak-we-xslt-filter’ Apply a specified XSLT filter (XPath) to
     current page.
‘i’
     ‘emacspeak-we-extract-by-id’ Extract elements by id value.
‘j’
     ‘emacspeak-we-xslt-junk’ Filter out elements matching specified
     pattern.
‘k’
     ‘emacspeak-we-toggle-xsl-keep-result’ Debugging tool -- retains the
     HTML source after XSLT.
‘m’
     ‘emacspeak-we-extract-table-by-match’ Extract matching table.
‘p’
     ‘emacspeak-we-xpath-follow-and-filter’ Follow link under point, and
     filter results by a specified XPath filter.
‘r’
     ‘emacspeak-we-extract-by-role’ Extract elements by specified role
     value.
‘s’
     ‘emacspeak-we-xslt-select’ Select default XSLT transform that is
     applied before rendering the page.
‘t’
     ‘emacspeak-we-extract-table-by-position’ Extracts tables by their
     position on the page.
‘u’
     ‘emacspeak-we-extract-matching-urls’ Display matching links on the
     page.
‘v’
     ‘emacspeak-we-class-follow-and-filter-link’ Follow link under
     point, and filter by specified class value.
‘w’
     ‘emacspeak-we-extract-by-property’ Extract element using a
     combination of DOM attributes.
‘x’
     ‘emacspeak-we-extract-nested-table’ Extract a nested table using a
     match-list.
‘y’
     ‘emacspeak-we-class-follow-and-filter’ Follow link under point and
     filter by class values.

12.75.8 EWW And EBooks On The Emacspeak Audio Desktop
-----------------------------------------------------

Modules emacspeak-epub and emacspeak-bookshare provide EBook front-ends
to EPub-2 and Daisy EBooks.  Both modules now use EWW to render these
EBooks.  Module emacspeak-eww provides a simple bookmarking facility --
called eww-marks (to avoid confusion with EWW's Web Bookmarks).  When
reading an EBook, you can use ‘m’ to create an EWW-mark at that
position.  These marks are automatically saved across Emacs sessions.
To open a previously created eww-mark, use command
‘emacspeak-eww-open-mark’ bound to ‘C-x r e’.  This command reads a
eww-mark name with completion.  Use this command with an interactive
prefix arg to delete a previously created eww-mark.

12.75.9 Extracting Readable Content
-----------------------------------

By default, EWW includes a simple *readability* filter, ‘eww-readable’
bound to ‘s’.  Emacspeak extends this facility with ‘rdrview[ -- see
<https://github.com/eafer/rdrview>]’, a command-line tool that extracts
page contents using a *simplified view* filter that mirrors the
implementation in Firefox.

   You can use Emacspeak commands ‘emacspeak-eww-rdr- follow’ and
‘emacspeak-eww-rdr-reload’ both bound to ‘S’ with variable levels of
success on various Web sites.

12.75.10 Emacspeak-Eww Commands
-------------------------------

12.75.10.1 emacspeak-eww-add-mark
.................................

 -- Command: emacspeak-eww-add-mark (name)

     Interactively add a mark with name title+‘name’ at current
       position.  Also store it as an org link for later insertion
     into ‘notes’.‘m

     (fn NAME)

12.75.10.2 emacspeak-eww-browse-chrome
......................................

 -- Command: emacspeak-eww-browse-chrome (url)

     Open with Chrome.

     (fn URL)

12.75.10.3 emacspeak-eww-delete-mark
....................................

 -- Command: emacspeak-eww-delete-mark (name)

     Interactively delete a mark with name ‘name’ at current position.

     (fn NAME)

12.75.10.4 emacspeak-eww-dive-into-div
......................................

 -- Command: emacspeak-eww-dive-into-div

     Focus on current div by rendering it in a new buffer.

12.75.10.5 emacspeak-eww-fillin-field
.....................................

 -- Command: emacspeak-eww-fillin-field

     Fill in user or passwd field using auth-source backend.

12.75.10.6 emacspeak-eww-links-rel
..................................

 -- Command: emacspeak-eww-links-rel

     Display Link tags of type rel.  Web pages for which alternate links
     are available are cued by an auditory icon on the header line.

12.75.10.7 emacspeak-eww-marks-browse
.....................................

 -- Command: emacspeak-eww-marks-browse
     ‘C-x r C-e’

     List EWW Marks as actionable buttons.

12.75.10.8 emacspeak-eww-marks-load
...................................

 -- Command: emacspeak-eww-marks-load

     Load saved marks.

12.75.10.9 emacspeak-eww-marks-mode
...................................

 -- Command: emacspeak-eww-marks-mode

     A light-weight mode for the ‘*Emacspeak EWW Marks Browser*’.
      1. Enables org integration via command
      ‘org-store-link’ bound to M-x org-store-link.
      2. Stored links can be inserted into org files in the same directory
     via command ‘org-insert-link’ bound to M-x org-insert-link.

     In addition to any hooks its parent mode ‘special-mode’ might have
     run, this mode runs the hook ‘emacspeak-eww-marks-mode-hook’, as the
     final or penultimate step during initialization.

12.75.10.10 emacspeak-eww-marks-save
....................................

 -- Command: emacspeak-eww-marks-save

     Save Emacspeak EWW marks.

12.75.10.11 emacspeak-eww-masquerade
....................................

 -- Command: emacspeak-eww-masquerade

     Toggle masquerade.

12.75.10.12 emacspeak-eww-next-dd
.................................

 -- Command: emacspeak-eww-next-dd (&optional speak)

     Move forward to the next dd.
     Optional interactive prefix arg speaks the dd.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The dd is automatically spoken if there is no user activity.

12.75.10.13 emacspeak-eww-next-dl
.................................

 -- Command: emacspeak-eww-next-dl (&optional speak)

     Move forward to the next dl.
     Optional interactive prefix arg speaks the dl.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The dl is automatically spoken if there is no user activity.

12.75.10.14 emacspeak-eww-next-dt
.................................

 -- Command: emacspeak-eww-next-dt (&optional speak)

     Move forward to the next dt.
     Optional interactive prefix arg speaks the dt.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The dt is automatically spoken if there is no user activity.

12.75.10.15 emacspeak-eww-next-element
......................................

 -- Command: emacspeak-eww-next-element (el &optional speak)

     Move forward to the next specified element.

     (fn EL &optional SPEAK)

12.75.10.16 emacspeak-eww-next-element-from-history
...................................................

 -- Command: emacspeak-eww-next-element-from-history

     Uses element navigation history to decide where we jump.

12.75.10.17 emacspeak-eww-next-element-like-this
................................................

 -- Command: emacspeak-eww-next-element-like-this (element)

     Moves to next element like current.
     Prompts if content at point is enclosed by multiple elements.

     (fn ELEMENT)

12.75.10.18 emacspeak-eww-next-h
................................

 -- Command: emacspeak-eww-next-h (&optional speak)

     Move forward to the next h.
     Optional interactive prefix arg speaks the h.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The h is automatically spoken if there is no user activity.

12.75.10.19 emacspeak-eww-next-h1
.................................

 -- Command: emacspeak-eww-next-h1 (&optional speak)

     Move forward to the next h1.
     Optional interactive prefix arg speaks the h1.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The h1 is automatically spoken if there is no user activity.

12.75.10.20 emacspeak-eww-next-h2
.................................

 -- Command: emacspeak-eww-next-h2 (&optional speak)

     Move forward to the next h2.
     Optional interactive prefix arg speaks the h2.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The h2 is automatically spoken if there is no user activity.

12.75.10.21 emacspeak-eww-next-h3
.................................

 -- Command: emacspeak-eww-next-h3 (&optional speak)

     Move forward to the next h3.
     Optional interactive prefix arg speaks the h3.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The h3 is automatically spoken if there is no user activity.

12.75.10.22 emacspeak-eww-next-h4
.................................

 -- Command: emacspeak-eww-next-h4 (&optional speak)

     Move forward to the next h4.
     Optional interactive prefix arg speaks the h4.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The h4 is automatically spoken if there is no user activity.

12.75.10.23 emacspeak-eww-next-h5
.................................

 -- Command: emacspeak-eww-next-h5 (&optional speak)

     Move forward to the next h5.
     Optional interactive prefix arg speaks the h5.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The h5 is automatically spoken if there is no user activity.

12.75.10.24 emacspeak-eww-next-h6
.................................

 -- Command: emacspeak-eww-next-h6 (&optional speak)

     Move forward to the next h6.
     Optional interactive prefix arg speaks the h6.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The h6 is automatically spoken if there is no user activity.

12.75.10.25 emacspeak-eww-next-li
.................................

 -- Command: emacspeak-eww-next-li (&optional speak)

     Move forward to the next li.
     Optional interactive prefix arg speaks the li.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The li is automatically spoken if there is no user activity.

12.75.10.26 emacspeak-eww-next-ol
.................................

 -- Command: emacspeak-eww-next-ol (&optional speak)

     Move forward to the next ol.
     Optional interactive prefix arg speaks the ol.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The ol is automatically spoken if there is no user activity.

12.75.10.27 emacspeak-eww-next-p
................................

 -- Command: emacspeak-eww-next-p (&optional speak)

     Move forward to the next p.
     Optional interactive prefix arg speaks the p.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The p is automatically spoken if there is no user activity.

12.75.10.28 emacspeak-eww-next-table
....................................

 -- Command: emacspeak-eww-next-table (&optional speak)

     Move forward to the next table.
     Optional interactive prefix arg speaks the table.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The table is automatically spoken if there is no user activity.

12.75.10.29 emacspeak-eww-next-ul
.................................

 -- Command: emacspeak-eww-next-ul (&optional speak)

     Move forward to the next ul.
     Optional interactive prefix arg speaks the ul.  Second
     interactive prefix toggles this flag.  See user option
     ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     Second interactive prefix arg toggles default value of this flag.
     The ul is automatically spoken if there is no user activity.

12.75.10.30 emacspeak-eww-open-mark
...................................

 -- Command: emacspeak-eww-open-mark (name &optional delete)
     ‘C-x r e’

     Open EWW marked location.  With optional interactive prefix
     arg ‘delete’, delete that mark instead.

     (fn NAME &optional DELETE)

12.75.10.31 emacspeak-eww-play-media-at-point
.............................................

 -- Command: emacspeak-eww-play-media-at-point (&optional playlist-p)
     ‘C-e M-;’

     Play media url under point.
     Interprets url-fragment identifier #nnn as time-offset in
     seconds.   Optional
     interactive prefix arg ‘playlist-p’ treats link as a playlist.  A
     second interactive prefix arg adds mplayer option
     -allow-dangerous-playlist-parsing

     (fn &optional PLAYLIST-P)

12.75.10.32 emacspeak-eww-previous-dd
.....................................

 -- Command: emacspeak-eww-previous-dd (&optional speak)

     Move backward to the next dd.
     Optional interactive prefix arg speaks the dd.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The dd is automatically spoken if there is no user activity.

12.75.10.33 emacspeak-eww-previous-dl
.....................................

 -- Command: emacspeak-eww-previous-dl (&optional speak)

     Move backward to the next dl.
     Optional interactive prefix arg speaks the dl.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The dl is automatically spoken if there is no user activity.

12.75.10.34 emacspeak-eww-previous-dt
.....................................

 -- Command: emacspeak-eww-previous-dt (&optional speak)

     Move backward to the next dt.
     Optional interactive prefix arg speaks the dt.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The dt is automatically spoken if there is no user activity.

12.75.10.35 emacspeak-eww-previous-element
..........................................

 -- Command: emacspeak-eww-previous-element (el &optional speak)

     Move backward  to the previous  specified element.

     (fn EL &optional SPEAK)

12.75.10.36 emacspeak-eww-previous-element-from-history
.......................................................

 -- Command: emacspeak-eww-previous-element-from-history

     Uses element navigation history to decide where we jump.

12.75.10.37 emacspeak-eww-previous-element-like-this
....................................................

 -- Command: emacspeak-eww-previous-element-like-this (element)

     Moves to next element like current.
     Prompts if content at point is enclosed by multiple elements.

     (fn ELEMENT)

12.75.10.38 emacspeak-eww-previous-h
....................................

 -- Command: emacspeak-eww-previous-h (&optional speak)

     Move backward to the next h.
     Optional interactive prefix arg speaks the h.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The h is automatically spoken if there is no user activity.

12.75.10.39 emacspeak-eww-previous-h1
.....................................

 -- Command: emacspeak-eww-previous-h1 (&optional speak)

     Move backward to the next h1.
     Optional interactive prefix arg speaks the h1.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The h1 is automatically spoken if there is no user activity.

12.75.10.40 emacspeak-eww-previous-h2
.....................................

 -- Command: emacspeak-eww-previous-h2 (&optional speak)

     Move backward to the next h2.
     Optional interactive prefix arg speaks the h2.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The h2 is automatically spoken if there is no user activity.

12.75.10.41 emacspeak-eww-previous-h3
.....................................

 -- Command: emacspeak-eww-previous-h3 (&optional speak)

     Move backward to the next h3.
     Optional interactive prefix arg speaks the h3.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The h3 is automatically spoken if there is no user activity.

12.75.10.42 emacspeak-eww-previous-h4
.....................................

 -- Command: emacspeak-eww-previous-h4 (&optional speak)

     Move backward to the next h4.
     Optional interactive prefix arg speaks the h4.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The h4 is automatically spoken if there is no user activity.

12.75.10.43 emacspeak-eww-previous-h5
.....................................

 -- Command: emacspeak-eww-previous-h5 (&optional speak)

     Move backward to the next h5.
     Optional interactive prefix arg speaks the h5.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The h5 is automatically spoken if there is no user activity.

12.75.10.44 emacspeak-eww-previous-h6
.....................................

 -- Command: emacspeak-eww-previous-h6 (&optional speak)

     Move backward to the next h6.
     Optional interactive prefix arg speaks the h6.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The h6 is automatically spoken if there is no user activity.

12.75.10.45 emacspeak-eww-previous-li
.....................................

 -- Command: emacspeak-eww-previous-li (&optional speak)

     Move backward to the next li.
     Optional interactive prefix arg speaks the li.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The li is automatically spoken if there is no user activity.

12.75.10.46 emacspeak-eww-previous-ol
.....................................

 -- Command: emacspeak-eww-previous-ol (&optional speak)

     Move backward to the next ol.
     Optional interactive prefix arg speaks the ol.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The ol is automatically spoken if there is no user activity.

12.75.10.47 emacspeak-eww-previous-p
....................................

 -- Command: emacspeak-eww-previous-p (&optional speak)

     Move backward to the next p.
     Optional interactive prefix arg speaks the p.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The p is automatically spoken if there is no user activity.

12.75.10.48 emacspeak-eww-previous-table
........................................

 -- Command: emacspeak-eww-previous-table (&optional speak)

     Move backward to the next table.
     Optional interactive prefix arg speaks the table.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The table is automatically spoken if there is no user activity.

12.75.10.49 emacspeak-eww-previous-ul
.....................................

 -- Command: emacspeak-eww-previous-ul (&optional speak)

     Move backward to the next ul.
     Optional interactive prefix arg speaks the ul.
     Second interactive prefix toggles this flag.
     See user option ‘emacspeak-eww-autospeak’ on how to reverse this behavior.
     The ul is automatically spoken if there is no user activity.

12.75.10.50 emacspeak-eww-rdr-follow
....................................

 -- Command: emacspeak-eww-rdr-follow

     Follow link under point, but use rdr to load page.

12.75.10.51 emacspeak-eww-rdr-reload
....................................

 -- Command: emacspeak-eww-rdr-reload

     Reload current Web page using ‘emacspeak-eww-rdr’.

12.75.10.52 emacspeak-eww-reading-settings
..........................................

 -- Command: emacspeak-eww-reading-settings

     Setup speech-rate, punctuation and split-caps for reading prose.

12.75.10.53 emacspeak-eww-restore
.................................

 -- Command: emacspeak-eww-restore

     Restore buffer to pre-filtered canonical state.

12.75.10.54 emacspeak-eww-shell-cmd-on-url-at-point
...................................................

 -- Command: emacspeak-eww-shell-cmd-on-url-at-point (&optional prompt)

     Run specified shell command on URL at point.

     (fn &optional PROMPT)

12.75.10.55 emacspeak-eww-shr-outline-toggle
............................................

 -- Command: emacspeak-eww-shr-outline-toggle

     Toggle between shr and native outliner.

12.75.10.56 emacspeak-eww-smart-tabs
....................................

 -- Command: emacspeak-eww-smart-tabs (char &optional define)
     ‘C-, SPC’
     ‘C-x @ a SPC’

     Open URL in EWW keyed by  ‘char’.
     To associate a URL with a char, use this command
     with an interactive prefix arg.

     (fn CHAR &optional DEFINE)

12.75.10.57 emacspeak-eww-smart-tabs-add
........................................

 -- Command: emacspeak-eww-smart-tabs-add (char url)

     Add a URL to the specified location in smart tabs.

     (fn CHAR URL)

12.75.10.58 emacspeak-eww-smart-tabs-load
.........................................

 -- Command: emacspeak-eww-smart-tabs-load

     Load our smart tabsfrom a file.

12.75.10.59 emacspeak-eww-smart-tabs-save
.........................................

 -- Command: emacspeak-eww-smart-tabs-save

     Save our smart tabs to a file for reloading.

12.75.10.60 emacspeak-eww-speak-this-element
............................................

 -- Command: emacspeak-eww-speak-this-element

     Speak current .

12.75.10.61 emacspeak-eww-table-data
....................................

 -- Command: emacspeak-eww-table-data

     View  table at point as a data table using Emacspeak Table UI.

12.75.10.62 emacspeak-eww-table-next-cell
.........................................

 -- Command: emacspeak-eww-table-next-cell (&optional prefix)

     Speak next cell after making it current.
     Interactive prefix arg moves to the last cell in the table.

     (fn &optional PREFIX)

12.75.10.63 emacspeak-eww-table-next-row
........................................

 -- Command: emacspeak-eww-table-next-row (&optional prefix)

     Speak  cell after moving to next row.
      Optional interactive prefix arg moves to end of table.

     (fn &optional PREFIX)

12.75.10.64 emacspeak-eww-table-previous-cell
.............................................

 -- Command: emacspeak-eww-table-previous-cell (&optional prefix)

     Speak previous cell after making it current.
     With interactive prefix arg, move to the start of the table.

     (fn &optional PREFIX)

12.75.10.65 emacspeak-eww-table-previous-row
............................................

 -- Command: emacspeak-eww-table-previous-row (&optional prefix)

     Speak  cell after moving to previous row.
      Optional interactive prefix arg moves to start of table.

     (fn &optional PREFIX)

12.75.10.66 emacspeak-eww-table-speak-cell
..........................................

 -- Command: emacspeak-eww-table-speak-cell

     Speak current cell.

12.75.10.67 emacspeak-eww-table-speak-dimensions
................................................

 -- Command: emacspeak-eww-table-speak-dimensions

     Speak number of rows and cells.

12.75.10.68 emacspeak-eww-tags-at-point
.......................................

 -- Command: emacspeak-eww-tags-at-point

     Display tags at point.

12.75.10.69 emacspeak-eww-url-to-register
.........................................

 -- Command: emacspeak-eww-url-to-register

     Accumulate  URL in register ‘u’

12.75.10.70 emacspeak-eww-yt-dl
...............................

 -- Command: emacspeak-eww-yt-dl (url)

     Download link at point   using youtube-dl -- works with BBC Sounds.

     (fn URL)

12.75.11 emacspeak-eww Options
------------------------------

 -- Variable: User Option emacspeak-eww-autospeak
     Turn this on to make section navigation autospeak.
     This also reverses the meaning of the prefix-arg to section nav
       commands.

     Default Value:
     
     t
     

 -- Variable: User Option emacspeak-eww-inhibit-images
     Turn this on to avoid rendering images.

     Default Value:
     
     nil
     

