[jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Wed, 11 Mar 2009 17:01:05 -0500 (EST)

Sorry, there is no support for uninstalling or unmerging.
Jamal

On Wed, 11 Mar 2009,
Donald Marang wrote:

> Date: Wed, 11 Mar 2009 14:17:21 -0400
> From: Donald Marang <donald.marang@xxxxxxxxx>
> Reply-To: jawsscripts@xxxxxxxxxxxxx
> To: jawsscripts@xxxxxxxxxxxxx
> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0
>
> Thanks!  That fixed most of the problems.  I can now successfully install
> and merge my scripts into my JAWS 9 settings!  I still get an error
> regarding accessing a temporary file after the merge has completed.  I am
> assuming that is trying to open my "ReadMe" text file when finished.  My
> main script, "VZCallAssistant" is not the last script in the package
> alphabetically.  I will double check the documentation regarding the rules
> for having the text file opened when finished.  Currently, I have
> "VZCallAssistant" entered into the file association field.  Would adding the
> .exe file extension in this field be advisable as well?  Does the file
> association effect which text file is searched for when done?  I will work
> on this tonight.
>
> I have been restoring my JAWS 9 user settings directory by simply deleting
> all files and folders and copying a safely backed up version.  Is there a
> better way to "undo" any changes.  Will this restore everything properly?
> Is there a method to uninstall these programs?  When I installed the BX
> toolbox, there is an item in the Start menu to uninstall it.  Is there
> something similar for Homer?  Should I provide a method to uninstall my
> scripts?  Do these uninstallers need a method to unmerge the scripts without
> effecting other scripts that have been merged with jsx?
>
> Don Marang
>
>
> ----- Original Message -----
> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> To: <jawsscripts@xxxxxxxxxxxxx>
> Sent: Monday, March 09, 2009 3:06 PM
> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0
>
>
> > Hi Donald,
> > In your merge statements, try default.jss rather than default (include
> > the extension).  That seems to work under XP.  I notice you are using
> > Vista and can't test that right now.
> >
> > Jamal
> > On Mon, 9 Mar 2009, Donald Marang
> > wrote:
> >
> >> Date: Mon, 9 Mar 2009 01:20:58 -0400
> >> From: Donald Marang <donald.marang@xxxxxxxxx>
> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> To: jawsscripts@xxxxxxxxxxxxx
> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> 2.0
> >>
> >> Hey Jamal and fellow listers,
> >>
> >> I must be doing something wrong using jsx.  I seem to be able to create
> >> the
> >> zip and self installing executable files from my JAWS 10 directory where
> >> I
> >> developed my scripts.  I upload them to a personal webpage area on my ISP
> >> at:
> >> http://mysite.verizon.net/marangs/VerizonCallAssistant.html
> >> I then clean out all temporary files in my system, reboot, and close JAWS
> >> 10
> >> and load JAWS 9.  I then go to my webpage and download the self
> >> installing
> >> executable version package to a completely different directory and run
> >> the
> >> installer into the JAWS 9 directory.  I select the desired options and
> >> press
> >> the Install button.  It complains right after announcing that it is
> >> compiling, with the following incomplete error message:
> >> C:\Users\Don\AppData\Local\Temp\is-6315G.tmp\VZCallAssist... graphic 798
> >> graphic 603
> >> OK Cancel
> >> 0.95) Self Installing Version
> >>
> >> It will then ask me for confirmation for two files where I have a
> >> question
> >> mark in the ";?Merge..." directive at the top of the script files that I
> >> wish to have merged with default.jss.  It then has another error message
> >> before completing:
> >> Location is not available
> >> C:\Users\Don\AppData\Local\Temp\is-6315G.tmp refers to a location that is
> >> unavailable. It
> >> could be on a hard drive on this computer, or on a network. Check to make
> >> sure that the disk
> >> is properly inserted, or that you are connected to the Internet or your
> >> network, and then try
> >> again. If it still cannot be located, the information might have been
> >> moved
> >> to a different
> >> location.
> >> OK
> >>
> >>
> >> Watch out.  I have not fully debugged all of the new code in this package
> >> yet!
> >>
> >> Can anyone shed light on what I am doing wrong?  I am using JAWS 9 and 10
> >> on
> >> a laptop running Vista Home Premium.  Thanks for your help.
> >> Don Marang
> >>
> >>
> >> ----- Original Message -----
> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> Sent: Tuesday, February 24, 2009 2:07 PM
> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> 2.0
> >>
> >>
> >> > Thanks for your interest in JSX.  Below is an excerpt from the current
> >> > documentation.  The merging capability is an advanced option that is a
> >> > bit hard to explain, unfortunately.  I'll gladly answer questions
> >> > though, and if I discover that something desirable is not possible,
> >> > I'll
> >> > try to enhance the feature.  I'd be glad to work with the author of the
> >> > Twitter scripts if he wants to build a JSX-based installer for them.
> >> >
> >> > Jamal
> >> >
> >> > JSX 1.4 introduced a second, usually better way of merging.  In this
> >> > example, the file HomerIE.jss contains enhancements to the Internet
> >> > Explorer scripts supplied with JAWS.  Place the following line at the
> >> > top of the file:
> >> >
> >> > ;Merge "BrowseUI"
> >> >
> >> > This tells JSX to merge HomerIE.jss into the script set associated with
> >> > the base name BrowsUI (the file name is BrowseUI.dll).  JSX looks up
> >> > the
> >> > association in ConfigNames.ini.  With JAWS 8 and above, the main file
> >> > of
> >> > the script set is "Internet Explorer.jss."  With lower JAWS versions,
> >> > it
> >> > is "Internet Explorer 5-6.jss."
> >> >
> >> > JSX creates a container file with a set of Use statements that load
> >> > script components in a particular order, thereby governing the
> >> > inheritance chain of scripts and functions.  The file also contains a
> >> > dummy function at the bottom, which is needed so that the JAWS script
> >> > compiler considers the file to be a valid script file, thus creating a
> >> > valid .jsb version after compilation.  The factory-supplied version of
> >> > the .jsb is copied from the All Users script folder to a file in the
> >> > user script folder with a modified name.  A suffix of _fs (standing for
> >> > Freedom Scientific) is added to the base name, e.g., Internet
> >> > Explorer.jsb would become Internet Explorer_fs.jsb, or default.jsb
> >> > would
> >> > become default_fs.jsb.
> >> >
> >> > The order of Use statements in the generated container file is
> >> > determined by the following algorithm.  If there is an existing
> >> > container file, its component order is the starting sequence; otherwise
> >> > it is an empty string.  If there is a vertical bar (|) delimited list
> >> > of
> >> > components after the Merge word on the top line, its sequence is
> >> > appended to the starting sequence after removing any duplicate items
> >> > from the starting sequence.  If the resulting sequence does not contain
> >> > the _fs component, it is prepended to the sequence (so it serves as
> >> > base
> >> > functionality at the top level of the inheritance chain).  If the
> >> > current script component is not contained in the sequence, it is
> >> > appended.
> >> >
> >> > In our example, a container file called Internet Explorer.jss would be
> >> > created and compiled with the following content:
> >> >
> >> > ; This is a container file, structured with conventions to support
> >> > merging by the JAWS Script Exchange program.
> >> > ; Rather than code of its own, the file contains a sequence of Use
> >> > statements, followed by a dummy function to satisfy the JAWS script
> >> > compiler.
> >> >
> >> > Use "Internet Explorer_fs.Jsb"
> >> > Use "HomerIE.jsb"
> >> >
> >> > Void Function _Filler()
> >> > SayString("This is to complete a container .jss so that it compiles to
> >> > a
> >> > valid .jsb")
> >> > EndFunction
> >> >
> >> >
> >> > Suppose we wanted to add AnotherIE.jsb to the sequence.  We could do so
> >> > with the following syntax on the top line:
> >> >
> >> > ;Merge AnotherIE.jsb "BrowseUI"
> >> >
> >> > Now the container file would begin with the following statements:
> >> >
> >> > Use "Internet Explorer_fs.Jsb"
> >> > Use "AnotherIE.jsb"
> >> > Use "HomerIE.jsb"
> >> >
> >> > The merge algorithm is intended to accomplish several objectives:
> >> >
> >> > * Previous JSX syntax for merging remains compatible.
> >> >
> >> > *  If no container file already exists, the component sequence will be
> >> > the _FS file followed by the current file.
> >> >
> >> > *  If a container file already exists and no post sequence is
> >> > specified,
> >> > the existing sequence will be preserved.
> >> >
> >> > *  If a post sequence is specified, it can override the existing
> >> > sequence.
> >> >
> >> > JSX would also merge related .jkm and .jcf files, which are in .ini
> >> > format, as follows.  It iterates through all sections of the new file,
> >> > and all keys within each section, writing the key/value pair to the
> >> > existing file.  Thus, if a key already exists, its value is replaced.
> >> > If it does not already exist, it is created.
> >> >
> >> > The merge target may be a delimited list of files rather than a single
> >> > file, e.g.,
> >> >
> >> > ;Merge "BrowseUI|IEFrame"
> >> >
> >> > If a question mark follows the semicolon, JSX asks for confirmation
> >> > about whether to perform the merge, prompting with a warning on the
> >> > remainder of the line, e.g.,
> >> >
> >> > ;?Merge "Microsoft Outlook.jss|Microsoft Outlook XP-2003.jss" For Homer
> >> > benefits that require configuring Outlook for plain text email,
> >> >
> >> > On Tue, 24
> >> > Feb 2009, Donald Marang wrote:
> >> >
> >> >> Date: Tue, 24 Feb 2009 11:08:57 -0500
> >> >> From: Donald Marang <donald.marang@xxxxxxxxx>
> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> >> To: jawsscripts@xxxxxxxxxxxxx
> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> >> 2.0
> >> >>
> >> >> Hey Jamal,
> >> >>
> >> >> Sorry for the ignorance in the use of your exchange software as a
> >> >> developer
> >> >> and the automation of the "merge" process!  I plan to use it soon for
> >> >> my
> >> >> Verizon project and others.  I downloaded the version several months
> >> >> ago,
> >> >> but have not yet taken the time  to learn your program or use it.  I
> >> >> guess I
> >> >> will need to visit your site again and check out your new beta
> >> >> version.
> >> >> Is
> >> >> there any documentation for these conventions you talk about for the
> >> >> Use
> >> >> statement and container script files available anywhere?  I hope I
> >> >> have
> >> >> followed them to this point.  I think my next release will have two
> >> >> application script files and two container script files.  One of the
> >> >> user
> >> >> default container script file has a key map file I would like to
> >> >> automatically merge with the default key map file.  Of course, both
> >> >> container script files have a Use statements that need to be merged.
> >> >> Is
> >> >> this possible?  If it is, I am surprised that the merge features of
> >> >> your
> >> >> exchange program were not used for an interesting new set of scripts,
> >> >> "Jawter".  This looks like a fantastic container script file to
> >> >> monitor
> >> >> Twitter activity and respond without ever running any application.
> >> >> His
> >> >> scripts do it all from any application!  I am now considering getting
> >> >> a
> >> >> Twitter account just to check it out.  It can be found at:
> >> >> http://randylaptop.com/
> >> >>
> >> >> I discovered it on an MP3 podcast on the BlindCoolTech RSS feed at:
> >> >> http://feeds.feedburner.com/blindcooltech
> >> >>
> >> >> Thanks.
> >> >>
> >> >> Don Marang
> >> >>
> >> >>
> >> >> ----- Original Message -----
> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> >> Sent: Monday, February 23, 2009 1:53 PM
> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> >> 2.0
> >> >>
> >> >>
> >> >> > Thanks for more detail.  I'll reflect on this to possibly make it
> >> >> > more
> >> >> > flexible.  Since there is not a defined API for merging files,
> >> >> > however,
> >> >> > I think the best solution involves following conventions.  If the
> >> >> > scripter knows that JSX expects a certain organization for a
> >> >> > container.jss
> >> >> > file, then he or she can make sure to place Use statements
> >> >> > above the dummy function, and to put additional code in a .jsb that
> >> >> > is
> >> >> > referenced by a Use statement.  I do want to try to ensure that
> >> >> > complete
> >> >> > functionality is possible with these conventions, however, so if you
> >> >> > think of a situation that cannot be accommodated successfully by
> >> >> > this
> >> >> > organization, let me know.
> >> >> >
> >> >> > Jamal
> >> >> > On Mon, 23 Feb 2009, Bryan Garaventa wrote:
> >> >> >
> >> >> >> Date: Mon, 23 Feb 2009 10:32:43 -0800
> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx>
> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> Exchange
> >> >> >> 2.0
> >> >> >>
> >> >> >> My only concern is that there appears to be a loop hole for data
> >> >> >> loss,
> >> >> >> this
> >> >> >> area being for anything below the dummy function. For instance, if
> >> >> >> the
> >> >> >> user
> >> >> >> were to add their own Use statement, but instead of adding this at
> >> >> >> the
> >> >> >> top
> >> >> >> of the page, they added it to the bottom instead. Also, if the user
> >> >> >> were
> >> >> >> to
> >> >> >> add their own function or script to this default.jss file at a
> >> >> >> later
> >> >> >> date,
> >> >> >> it too would be broken if this code is not included in the merge.
> >> >> >> If there was a way to keep all of the current dummy jss content and
> >> >> >> add
> >> >> >> the
> >> >> >> new Use statement without the risk of any data loss, the whole
> >> >> >> process
> >> >> >> would
> >> >> >> be continually seamless. Sorry if I wasn't too clear earlier.
> >> >> >>
> >> >> >> ----- Original Message -----
> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> >> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> >> >> Sent: Monday, February 23, 2009 9:48 AM
> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> Exchange
> >> >> >> 2.0
> >> >> >>
> >> >> >>
> >> >> >> > Are you talking about a container type of .jss file?  By this, I
> >> >> >> > mean
> >> >> >> > one with no significant code of its own -- basically, a list of
> >> >> >> > Use
> >> >> >> > statements followed by a dummy function.  If JSX finds a dummy
> >> >> >> > function
> >> >> >> > with the conventional name, it does recognize references to the
> >> >> >> > .jsb
> >> >> >> > that is about to be merged, and does not duplicate such a
> >> >> >> > reference.
> >> >> >> >
> >> >> >> > I want to better understand what you are hoping to achieve.  Is
> >> >> >> > the
> >> >> >> > a
> >> >> >> > problem with organizing a .jss so that it follows the JSX
> >> >> >> > conventions
> >> >> >> > for
> >> >> >> > a container.jss file?
> >> >> >> >
> >> >> >> > Jamal
> >> >> >> > On Mon, 23 Feb 2009, Bryan Garaventa wrote:
> >> >> >> >
> >> >> >> >> Date: Mon, 23 Feb 2009 09:38:06 -0800
> >> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx>
> >> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> >> To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> >> Exchange
> >> >> >> >> 2.0
> >> >> >> >>
> >> >> >> >> No problem,
> >> >> >> >>
> >> >> >> >> Is it possible to use a Find String command to see if the
> >> >> >> >> currently
> >> >> >> >> merged
> >> >> >> >> Use statement is already present in the default.jss file?
> >> >> >> >>
> >> >> >> >> If Void Function _Filler() was not detected at this time, then
> >> >> >> >> the
> >> >> >> >> new
> >> >> >> >> default.jss file could be generated as it currently is.
> >> >> >> >>
> >> >> >> >> If the Void Function _Filler() is found though, but the new Use
> >> >> >> >> statement
> >> >> >> >> is
> >> >> >> >> not, then the new Use statement could be prepended to the top of
> >> >> >> >> the
> >> >> >> >> complete default.jss file and compiled.
> >> >> >> >>
> >> >> >> >> If it were done in such a way, you would never have to be
> >> >> >> >> concerned
> >> >> >> >> about
> >> >> >> >> any data loss, even if the user wrote their own functions and
> >> >> >> >> added
> >> >> >> >> these
> >> >> >> >> to
> >> >> >> >> the new default.jss file. It would just keep on working
> >> >> >> >> regardless,
> >> >> >> >> no
> >> >> >> >> matter how many times the same installer, or different
> >> >> >> >> installers
> >> >> >> >> for
> >> >> >> >> different scripts were used.
> >> >> >> >>
> >> >> >> >> Do you think this might be possible?
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> ----- Original Message -----
> >> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> >> >> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> >> >> >> Sent: Monday, February 23, 2009 7:23 AM
> >> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> >> Exchange
> >> >> >> >> 2.0
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> > Thanks for your feedback, Bryan, as I want to finalize this
> >> >> >> >> > version
> >> >> >> >> > of
> >> >> >> >> > JSX.  It should treat default.jss as you intend if it contains
> >> >> >> >> > a
> >> >> >> >> > dummy
> >> >> >> >> > function with a particular naming convention for this purpose,
> >> >> >> >> > which
> >> >> >> >> > I
> >> >> >> >> > recall adoptingg from Doug Lee.  If JSX finds the following
> >> >> >> >> > line
> >> >> >> >> > in
> >> >> >> >> > a
> >> >> >> >> > .jss
> >> >> >> >> > merge target:
> >> >> >> >> >
> >> >> >> >> > Void Function _Filler()
> >> >> >> >> >
> >> >> >> >> > it assumes the .jss is a container file with Use statements
> >> >> >> >> > above
> >> >> >> >> > that
> >> >> >> >> > dummy function, and nothing significant afterward.  If that
> >> >> >> >> > does
> >> >> >> >> > not
> >> >> >> >> > work,
> >> >> >> >> > let me know.
> >> >> >> >> >
> >> >> >> >> > Jamal
> >> >> >> >> > On Sat, 21 Feb 2009, Bryan Garaventa wrote:
> >> >> >> >> >
> >> >> >> >> >> Date: Sat, 21 Feb 2009 21:35:14 -0800
> >> >> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx>
> >> >> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> >> >> To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> >> >> Exchange
> >> >> >> >> >> 2.0
> >> >> >> >> >>
> >> >> >> >> >> Hi Jamal, I was finally able to try out the new version, and
> >> >> >> >> >> it's
> >> >> >> >> >> working
> >> >> >> >> >> much better than it used to. Excellent!
> >> >> >> >> >>
> >> >> >> >> >> Only one thing though, is there any way to make the string
> >> >> >> >> >> parser
> >> >> >> >> >> detect
> >> >> >> >> >> pre-existing use statements within the default.jss file as
> >> >> >> >> >> well?
> >> >> >> >> >> For
> >> >> >> >> >> instance, I use a lot of internal use statements for projects
> >> >> >> >> >> I
> >> >> >> >> >> develop
> >> >> >> >> >> at
> >> >> >> >> >> different times, and I always use the use statement to
> >> >> >> >> >> reference
> >> >> >> >> >> these
> >> >> >> >> >> script sets during development. Plus some of my scripts
> >> >> >> >> >> depend
> >> >> >> >> >> on
> >> >> >> >> >> the
> >> >> >> >> >> addition of the use statement, such as the online chat page
> >> >> >> >> >> scripts
> >> >> >> >> >> at
> >> >> >> >> >> http://gutterstar.net/dynamic_live_chat.php
> >> >> >> >> >> So the static use of specific use statements within the
> >> >> >> >> >> installer
> >> >> >> >> >> can't
> >> >> >> >> >> always be relied upon to keep these custom use statements as
> >> >> >> >> >> well.
> >> >> >> >> >>
> >> >> >> >> >> I'm unfamiliar with the programming language used for this
> >> >> >> >> >> purpose
> >> >> >> >> >> within
> >> >> >> >> >> the installer, but would it be possible to parse the string
> >> >> >> >> >> content
> >> >> >> >> >> line
> >> >> >> >> >> by
> >> >> >> >> >> line for default.jss, and save or copy all of the statements
> >> >> >> >> >> beginning
> >> >> >> >> >> with
> >> >> >> >> >> Use for inclusion within the new Default.jss output file?
> >> >> >> >> >> Please
> >> >> >> >> >> forgive
> >> >> >> >> >> my
> >> >> >> >> >> ignorance if this is more complicated than I understand. This
> >> >> >> >> >> really
> >> >> >> >> >> is a
> >> >> >> >> >> great product, and you've done a great job.
> >> >> >> >> >>
> >> >> >> >> >>  Best wishes,
> >> >> >> >> >>
> >> >> >> >> >> Bryan
> >> >> >> >> >>
> >> >> >> >> >> ----- Original Message -----
> >> >> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> >> >> >> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> >> >> >> >> Sent: Monday, February 16, 2009 8:23 AM
> >> >> >> >> >> Subject: [jawsscripts] Another public beta of JAWS Script
> >> >> >> >> >> Exchange
> >> >> >> >> >> 2.0
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> > http://EmpowermentZone.com/jsxsetup.exe
> >> >> >> >> >> >
> >> >> >> >> >> > This version enhances merge support, and bundles optional
> >> >> >> >> >> > script
> >> >> >> >> >> > sets.
> >> >> >> >> >> > The JSX installer engine now recognizes an existing
> >> >> >> >> >> > container.jss
> >> >> >> >> >> > file
> >> >> >> >> >> > that it previously created, a script file containing a set
> >> >> >> >> >> > of
> >> >> >> >> >> > Use
> >> >> >> >> >> > statements followed by a dummy function to satisfy the JAWS
> >> >> >> >> >> > script
> >> >> >> >> >> > compiler.  A merge operation incorporates the components
> >> >> >> >> >> > referenced
> >> >> >> >> >> > in
> >> >> >> >> >> > such a file.
> >> >> >> >> >> >
> >> >> >> >> >> > At the end of the installation process for the complete JSX
> >> >> >> >> >> > application
> >> >> >> >> >> > (using the above URL), three script sets are offerred.
> >> >> >> >> >> > These
> >> >> >> >> >> > options
> >> >> >> >> >> > are
> >> >> >> >> >> > unchecked by default.  You can check one ore more of them
> >> >> >> >> >> > to
> >> >> >> >> >> > install
> >> >> >> >> >> > their
> >> >> >> >> >> > zip archives with JSX.. i.e.,
> >> >> >> >> >> >
> >> >> >> >> >> > BX, the Jaws toolbox by Doug Lee (BSD license)
> >> >> >> >> >> >
> >> >> >> >> >> > HomerKit, the Homer script library and editor interface by
> >> >> >> >> >> > Jamal
> >> >> >> >> >> > Mazrui
> >> >> >> >> >> > (LGPL license)
> >> >> >> >> >> >
> >> >> >> >> >> > Visual Studio scripts by contributors from the blind
> >> >> >> >> >> > programming
> >> >> >> >> >> > community
> >> >> >> >> >> > (public domain)
> >> >> >> >> >> >
> >> >> >> >> >> > Jamal
> >> >> >> >> >> >
> >> >> >> >> >> > __________
> >> >> >> >> >> > Visit and contribute to The JAWS Script Repository
> >> >> >> >> >> > http://jawsscripts.com
> >> >> >> >> >> >
> >> >> >> >> >> > View the list's information and change your settings at
> >> >> >> >> >> > http://www.freelists.org/list/jawsscripts
> >> >> >> >> >> >
> >> >> >> >> >> >
> >> >> >> >> >> > _______________________________________
> >> >> >> >> >> > No viruses found in this incoming message
> >> >> >> >> >> > Scanned by iolo AntiVirus 1.5.6.3
> >> >> >> >> >> > http://www.iolo.com
> >> >> >> >> >> >
> >> >> >> >> >>
> >> >> >> >> >> __________
> >> >> >> >> >> Visit and contribute to The JAWS Script Repository
> >> >> >> >> >> http://jawsscripts.com
> >> >> >> >> >>
> >> >> >> >> >> View the list's information and change your settings at
> >> >> >> >> >> http://www.freelists.org/list/jawsscripts
> >> >> >> >> >>
> >> >> >> >> > __________
> >> >> >> >> > Visit and contribute to The JAWS Script Repository
> >> >> >> >> > http://jawsscripts.com
> >> >> >> >> >
> >> >> >> >> > View the list's information and change your settings at
> >> >> >> >> > http://www.freelists.org/list/jawsscripts
> >> >> >> >> >
> >> >> >> >>
> >> >> >> >> __________
> >> >> >> >> Visit and contribute to The JAWS Script Repository
> >> >> >> >> http://jawsscripts.com
> >> >> >> >>
> >> >> >> >> View the list's information and change your settings at
> >> >> >> >> http://www.freelists.org/list/jawsscripts
> >> >> >> >>
> >> >> >> > __________
> >> >> >> > Visit and contribute to The JAWS Script Repository
> >> >> >> > http://jawsscripts.com
> >> >> >> >
> >> >> >> > View the list's information and change your settings at
> >> >> >> > http://www.freelists.org/list/jawsscripts
> >> >> >> >
> >> >> >>
> >> >> >> __________
> >> >> >> Visit and contribute to The JAWS Script Repository
> >> >> >> http://jawsscripts.com
> >> >> >>
> >> >> >> View the list's information and change your settings at
> >> >> >> http://www.freelists.org/list/jawsscripts
> >> >> >>
> >> >> > __________
> >> >> > Visit and contribute to The JAWS Script Repository
> >> >> > http://jawsscripts.com
> >> >> >
> >> >> > View the list's information and change your settings at
> >> >> > http://www.freelists.org/list/jawsscripts
> >> >> >
> >> >>
> >> >> __________
> >> >> Visit and contribute to The JAWS Script Repository
> >> >> http://jawsscripts.com
> >> >>
> >> >> View the list's information and change your settings at
> >> >> http://www.freelists.org/list/jawsscripts
> >> >>
> >> > __________
> >> > Visit and contribute to The JAWS Script Repository
> >> > http://jawsscripts.com
> >> >
> >> > View the list's information and change your settings at
> >> > http://www.freelists.org/list/jawsscripts
> >> >
> >>
> >> __________
> >> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
> >>
> >> View the list's information and change your settings at
> >> http://www.freelists.org/list/jawsscripts
> >>
> > __________
> > Visit and contribute to The JAWS Script Repository http://jawsscripts.com
> >
> > View the list's information and change your settings at
> > http://www.freelists.org/list/jawsscripts
> >
>
> __________ 
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: