Home
Perl Speak Module
Speak Cal Talking Calendar
Speak Mail Talking Email Client
Downloads
E-mail Joe Kamphaus
Links to elsewhere

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. 
© Copyright 2006 www.joekamphaus.net