Please note: speaktcledit is no longer being developed as a single application. The latest version with all the latest bug fixes can be found in the Linux Speaks package
SpeakTclEdit version 1.0
Previous SpeakTclEdit version 0.7 Does not require PerlSpeak.pm
SpeakTclEdit v.1.0 Documentation
FILENAME:
speaktcledit
DESCRIPTION:
Linux Console Speaking Text Editor. Has many featuers including spell
check, print file to printer, cut, copy and paste and more. Text to
speech supports festival, flite, and cepstral speech synthesis software.
Others should work with minor changes.
COPYRIGHT:
Copyright (C) 2007 Joe Kamphaus
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
REQUIREMENTS:
Linux or similar OS So far it has been tested on:
Mandriva 2007
Debian Sarge
Mepis 6.0
Ubuntu 7.04
tcl/tclsh (of course)
A text to speech system like festival.
speaktcledit has been tested with festival, flite, and cepstral tts
systems. I see no reason it should not work with others with some minor
changes. If you cannot get it to work with your tts system, contact me
and I might be able to help you.
PerlSpeak.pm
aspell
In order for the Spell Check features to function the latest version of
PerlSpeak.pm Perl module and the aspell package must be installed.
a2ps
cups
The Print File feature depends on these packages.
INSTALLING:
An install.sh script has now been included. It has not had much
testing and is very basic. Please let me know if you have any problems
so I can fix install.sh or help you install it manually. You can link
to my email at www.joekamphaus.net put "speaktcledit" as the subject.
AUTHOR:
Joe Kamphaus
Boise, Idaho US
Contact me
CREDITS:
I would like to thank Steve Redler IV and Adly Abdullah for writing
tcledit in pure tcl from which the code for speaktcledit originated.
CHANGES:
01/09/2007:
Added features for text to speech for accessibility for visually
impaired.
10/27/2007: version 1.0
Added support for the flite text to speech engine.
Added cntrol-X command to save and exit.
Added Alt-S spell checking features.
Uses spell.pl. (part of the Linux Speaks Project)
Also depends on the aspell package and PerlSpeak.pm perl module
Added Alt-P Print file function.
Requires the cups and a2ps packages for printing.
Added support for configuration files. First reads
/etc/linuxpeaks/speaktcleditrc then reads
$HOME/.linuxspeaks/speaktcleditrc. An example is included in archive.
Added a simple install script to the archive, "install.sh"
Added copy, cut , and paste functions. I changed some of the key
bindings. ^b begins selection; ^c copies; ^x cuts; ^v pastes
Added command line options "quiet" to allow turning off status
prompts being spoken.
Added command line options "mail" to allow turning off status
prompts being spoken and to turn off prompting to confirm save
on closing via Control-Q
FEATURES:
Speech:
Read the file line by line.
Read one word at a time.
Read one character at a time.
Editing mode: reads one character or one word at a time as you type.
Reading mode: reads one line at a time as you scroll through the text
with the arrow keys.
Allow for using an configuration file to setup some simple preferences.
The system wide rc file is /etc/linuxpeaks/speaktcleditrc. A personal
configuration file,$HOME/.linuxspeaks/speaktcleditrc may also be used.
The rc file syntax is pure tcl. An example is included in this archive.
General:
Basic syntax hilighting. The hilighting is line based and can easily
cope with Tcl style # comments but because it is line based it can't
cope with multiline C style /* comments */ This is faster at parsing
large blocks of text since it parses line by line rather than character
by character. It will also try to redraw only the current line if
possible rather than the whole screen.
Implements search, goto and save (without closing the file).
Handles Home and End keys.
Changed the tab to 4 characters (can be easily modified if you prefer
8 or other values).
Auto resizes the editor to fit the terminal window.
Implements a simple auto-indenting. When inserting a newline by
pressing the Enter or Return key the leading whitespace of the previous
line is copied and automatically inserted.
Converts spaces to tabs when pasting text.
Implements key rate limiting for control characters and escape
sequences. This is to improve responsiveness especially on slow
machines/connections so that you don't accidentally "over-delete"
when you press the delete key for too long.
Implements undo and redo.
Implements spell checking
Implements printing to default printer using a2ps
Implements copy, cut, and paste.
USAGE:
Syntax: speaktcledit [filename] [option]
Options:
quiet : Turns off status prompts being spoken.
mail : Turns off status prompts being spoken and to turn off
prompting to confirm save on closing via Control-Q
Speech commands use the alt-key sequences:
Alt-l : Read one line.
Alt-w : Read one word. If in edit mode will read one word at a time
as you type.
Alt-c : Read one character. If in edit mode will read one word at a
time as you type.
Alt-x : Turns off speech. Sets mode to on demand.
Alt-e : Edit mode. Reads one word or one character at a time as you
type
Alt-p : Prints file to default printer using a2ps.
Alt-r : Read mode. Read the file line by line.
Alt-s : Spell Check Menu.
Arrow keys : Moves the cursor around. Typing anything inserts text
at the cursor.
Backspace : Deletes the character before the cursor.
Delete : Deletes the character behind the cursor.
Home : Moves the cursor to the first non-whitespace character on the
current line. Pressing it a second time moves the cursor to
the beginning of the line.
End : Moves the cursor to the end of the line.
Page Up and Page Down : Moves the cursor backwards and forwards one
full page at a time.
Navigation commands use the Control-key sequence.
Control-a : Moves the cursor to the beginning of the line.
Control-b : Begins selection for copy or cut.
Control-c : Copies selected text.
Control-d : Deletes the current line.
Control-e : Moves the cursor to the End of the line.
Control-f : Find/Search. The search pattern is regexp based so
characters like ".", "(" and "[" needs to be escaped.
F3 : Repeat the previous search.
Control-g : Goto line number.
Control-o : Page Up. Moves the cursor backwards one full page.
Control-p : Page Down. Moves the cursor forwards one full page.
Control-q : Quits/Exits the program. Ask to save the file if buffer
is modified.
Control-s : Save the file.
Control-v : Paste copied text at the cursor position.
Control-x : Cuts the selected text.
Control-y : Redo the last undo.
Control-z : Undo the previous edit.
BUGS:
There is a known bug in the cut (^X) feature. It works well with most
text, but when editing some code particularly tcl it kills the program
Look for new versions and or contact me at www.joekamphaus.net
TODO:
Implement Cut, Copy and pasting functionality between different
instances of speaktcledit, as well as other programs of the Linux
Speaks project.
Use a separate process for text to speech to speed things up.
|