[jawsscripts] Re: How to make an excecutable script

  • From: "Donald Marang" <donald.marang@xxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Sun, 27 Jun 2010 16:51:32 -0400

First I was confused because it sounded like the name of your script jss 
file had the same name as the application.  This makes sense when you first 
start writing and debugging the scripts.  This way they are loaded each time 
the application is the foreground window.  Once you want to merge the 
functionality with the default scripts so that the functionality is active 
all of the time, I recommend a different method.

What I recommend is Jamal's JAWS Script Exchange (JSX), which was previously 
mentioned in this thread.  The direct link for download is:
http://www.empowermentzone.com/jsxsetup.exe

His documentation provided is very good.  It is a must read and the 
packaging tool has a lot of capabilities.  I will provide  a few additional 
pointers that apply to this situation.

The method I use is to rename all of the files in your  script a short, 
sensible name that does not match any of the executables. For instance, I 
have extra scripts that I merge with both the factory Internet Explorer and 
Firefox scripts.  I rename the file "Browser.jss", along with it's 
associated files.  Make sure the associated files,like header and message 
files, have been renamed in the Include statements as well.  At the very top 
line of the jss script file, add a line similar to the following:
;?Merge "default.jss" Add application volume control hotkeys from any 
application?

This line is used by JSX when installing the scripts to tell it to merge 
these scripts with the default scripts.  The question at the end of the line 
is optional.  You would definitely modify it for your application.  If the 
question is avsent, the scripts will perform the merge.  If present, the 
question will appear during the installation asking for confirmation.  In my 
example, the particular scripts were optional features merged with the 
default scripts in addition to separate, standard application scripts in the 
same package.

In this type of merge, JSX will make a copy of the default script binary 
file, and rename it "default_fs.jsb" in your user settings folder.  Then it 
will create a new dummy container "default.jss" file.  Mostly it contains a 
list of Use statements for all of the desired merged files.  I have three or 
four additional scripts merged in sometimes.  In your case it will have a 
Use "default_fs.jsb" and your script binary.  JSX will also merge the 
keymaps and some of the other associate files.  I mention these details just 
so you can understand the process.  JSX will handle all of this for you.
To merge scripts in this manner, simply fill out the install dialog with the 
options recommended for the user.  enter a filename for the zip package. 
JSX will create an executable file that contains this zip file in 
internally.  In your case, the EXE association is not needed.  Make sure the 
"Scrit files are complete" radio button is selected.

Then activate the "Packager" button to get to the second and final dialog. 
On this dialog, you will need to select the ffiles you want distributed with 
this package.  I always include a text file with the same name as the 
scripts to explain how to use the scripts.  It should be automatically 
opened once the scripts are installed.  You also need to select the JAWS 
version and language that the scripts were created with.  JSX can 
automatically recompile them for the version and language the user selects 
during the installation.

The downside of installing scripts with this tool are that there is no 
automated uninstaller available.  Another tedious problem with JAWS scripts 
in general that I have a gripe about is that scripts may need to be 
reinstalled or recompiled any time FS provides a JAWS update. Some more 
advanced  scripters have provided single hotkey update solutions to get 
around this.

Don Marang

--------------------------------------------------
From: "Hamid Aitouznag" <hamid.maier@xxxxxxxxx>
Sent: Sunday, June 27, 2010 11:17 AM
To: <jawsscripts@xxxxxxxxxxxxx>
Subject: [jawsscripts] Re: How to make an excecutable script

> Oh Don, that's exactly what i meant from the beginning. I wanted the
> setUp script to add my code to the user's default.jss without modifying
> any of his/her own settings. Please help Don.
>
> As for JSX, is it the same program i told you i tried before? I
> downloaded it from accessible programs with another name, its name is
> JS_installer. If it is the same file, I have it installed, if it is
> another one that you are talking about, please guide me where can I find 
> it.
>
> Thanks in advance!
>
> Hamid AITOUZNAG
>
> Skype: hamidgeni
>
> MSN: hamid.maier@xxxxxxxxxxx
>
> Twitter: hamidgeni
>
>
> On 27/06/2010 02:22, Donald Marang wrote:
>> Sorry, I just noticed that the scripts for your applicationn include
>> functions and / or scripts that you currently have added to your own
>> default.jss script file.  If this is so, JSX can merge this in a couple 
>> of
>> different ways.  I recommend placeing those functions and scripts in a 
>> new
>> separate file that you can name anything you want.  JSX can then be told 
>> to
>> merge this with the default.jss file without modifying the factory
>> default.jss file.  If this sounds like what you need to do, download the 
>> JSX
>> program and read through the documentation.  Then let me know and I can
>> provide a few more pointers and warnings.
>>
>> Don Marang
>>
>> --------------------------------------------------
>> From: "Dean Masters"<dwmasters@xxxxxxxxxxxxx>
>> Sent: Saturday, June 26, 2010 9:03 PM
>> To:<jawsscripts@xxxxxxxxxxxxx>
>> Subject: [jawsscripts] Re: How to make an excecutable script
>>
>>
>>> You only need to install the basic program and not the other things 
>>> which
>>> are helps for scripting.
>>>
>>> You don't want to add to default.jss but put the scripts in a file
>>> relating
>>> strictly to the program mentioned. I don't think there is an easy way to
>>> add
>>> to another person's default.jss. So it is best to make the files just 
>>> for
>>> the program instead.
>>>
>>> Dean
>>>
>>>
>>> --------------------------------------------------
>>> From: "Hamid Aitouznag"<hamid.maier@xxxxxxxxx>
>>> Sent: Saturday, June 26, 2010 6:44 PM
>>> To:<jawsscripts@xxxxxxxxxxxxx>
>>> Subject: [jawsscripts] Re: How to make an excecutable script
>>>
>>>
>>>> Hi Dean,
>>>>
>>>> Thanks a million for your suggestion, I downloaded it but hesitated to
>>>> complete the installation process  since it contained a lot of other
>>>> utilities that i really don't know how exactly they might effect my
>>>> jaws' behavior. Please tell me which part is most appropriate for me to
>>>> install and how could i benefit from it? Would it allow me to copy the
>>>> part of the script that i want added to the default.jss?
>>>>
>>>> Thanks in advance!
>>>>
>>>> Hamid AITOUZNAG
>>>>
>>>> Skype: hamidgeni
>>>>
>>>> MSN: hamid.maier@xxxxxxxxxxx
>>>>
>>>> Twitter: hamidgeni
>>>>
>>>>
>>>> On 26/06/2010 15:54, Dean Masters wrote:
>>>>
>>>>> You need the JAWS Script Exchange. Get it here:
>>>>>
>>>>> http://www.empowermentzone.com/jsxsetup.exe
>>>>>
>>>>> Dean
>>>>> --------------------------------------------------
>>>>> From: "Hamid Aitouznag"<hamid.maier@xxxxxxxxx>
>>>>> Sent: Saturday, June 26, 2010 8:01 AM
>>>>> To:<jawsscripts@xxxxxxxxxxxxx>
>>>>> Subject: [jawsscripts] How to make an excecutable script
>>>>>
>>>>>
>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> I'm taking my first steps in scripting. I've written a script for a
>>>>>> program called deepFreeze. This script is supposed to enable and
>>>>>> disable
>>>>>> the program with a toggle key and then announce the new status. The
>>>>>> program's structure needs a bit of jaws cursoring around the window 
>>>>>> to
>>>>>> reach the  radio buttons to be checked. Worse is that the program's
>>>>>> enterface disappears quickly if not manipulated quickly.
>>>>>>
>>>>>> Now, i've made this script to do the following:
>>>>>>
>>>>>> 1. Brings up DeepFreeze by pressing alt+shift+control+f6
>>>>>> 2. Looks for the unchecked radio button and checks it.
>>>>>> 3. announcing the new status of the program whether it is enabled or
>>>>>> disabled accordding to the radio button that has been checked. And
>>>>>> finally closes up the DeepFreeze's window.
>>>>>>
>>>>>> I tested it and seems working fine. Now i wanted to make it an
>>>>>> excutable
>>>>>> installer so that i can distribute it to other people. However, I
>>>>>> haven't come up to achieve that up to now.
>>>>>>
>>>>>> I tried a program called JS_Installer that i downloaded from 
>>>>>> Accessible
>>>>>> programs but i got no result.
>>>>>>
>>>>>> I think the problem is the source file that needs to be integrated
>>>>>> inside the default.jss file as i wanted this script to work from 
>>>>>> within
>>>>>> anywhere in Windows and not inside the deepFreez's window. My script
>>>>>> consists of Three files, the .JSS file, the .JSM file and the .JSH
>>>>>> file.
>>>>>>
>>>>>> Is there anything that I can do to make that .jss file copy itself
>>>>>> inside the default.jss and put the other 2 files in the jaws 
>>>>>> directory?
>>>>>> Is there a better utility that can help me acomplish that or did I 
>>>>>> just
>>>>>> miss something and didn't do it correctly in the JS_Installer?
>>>>>>
>>>>>> Please bear my broken English as i am not a native speaker..
>>>>>>
>>>>>> Thanks in advance for any suggestions
>>>>>>
>>>>>> -- 
>>>>>>
>>>>>> Hamid AITOUZNAG
>>>>>>
>>>>>> Skype: hamidgeni
>>>>>>
>>>>>> MSN: hamid.maier@xxxxxxxxxxx
>>>>>>
>>>>>> Twitter: hamidgeni
>>>>>>
>>>>>> __________�
>>>>>>
>>>>>> View the list's information and change your settings at
>>>>>> //www.freelists.org/list/jawsscripts
>>>>>>
>>>>>>
>>>>>>
>>>>> __________�
>>>>>
>>>>> View the list's information and change your settings at
>>>>> //www.freelists.org/list/jawsscripts
>>>>>
>>>>>
>>>>>
>>>> __________�
>>>>
>>>> View the list's information and change your settings at
>>>> //www.freelists.org/list/jawsscripts
>>>>
>>>>
>>> __________�
>>>
>>> View the list's information and change your settings at
>>> //www.freelists.org/list/jawsscripts
>>>
>>>
>> __________�
>>
>> View the list's information and change your settings at
>> //www.freelists.org/list/jawsscripts
>>
>>
> __________�
>
> View the list's information and change your settings at
> //www.freelists.org/list/jawsscripts
> 
__________�

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

Other related posts: