Revision 653
This is a minor bug fix release to follow revision 642. Revision 642
has by now been heavily tested, and since this revision does not
introduce any large changes, it is considered production quality.
Fixes:
- A double press of the Skype Command key in Keyboard Help mode no longer sends the key through to the application.
- A few time-consuming window searches avoided.
- Error for failure to locate Technical Call Info window updated.
- A few line endings and code comments fixed.
- Copyright dates updated.
- Some unused code removed.
- CVS and Subversion ID tags removed to avoid dependence on
Subversion.
Download: Revision 653 executable installer
| Revision 653 source and JAWS 7-9 binaries
Revision 642
This update contains a number of fixes and new features compared to
revision 618. This update is meant for Skype versions 3.5 and later
3.x versions and JAWS 6.0 and later.
This update is considered beta quality because it has not been tested
by many users prior to release.
Until the next release, the
Known Bugs
section below will list known bugs. If you run into a problem with
this version, please check the
Known Bugs
section below, then if your problem is not listed there, report it to the
SkypeEnglish
mailing list. As further updates become
available, this version will be replaced.
The last version standing after sufficient user testing will become
the production release.
Fixes and Improvements
Fixes and improvements:
- New system for virtualizing chat messages (details in the next
section).
- Alt+numbers work from a chat buffer so you can check new messages
while reading older ones.
- Typing status reporting is now language independent, which means
it should work even if the Skype language is not English.
- No more complaints about creating a
Scripting.FileSystemObject during Windows shutdown.
- Ctrl+Shift+O should no longer include Microsoft Outlook
contacts as if they were online.
- Ctrl+Shift+O now calls the contacts it lists "visible"
contacts instead of "online" contacts, because this better describes
what is actually shown.
- A new set of Skype Command system key sequences have been added to
allow listing contacts with each of the various online statuses:
- [ o o for Online contacts.
- [ o a for Away contacts.
- [ o n for Not Available contacts.
- [ o s for SkypeMe contacts.
- [ o d for Do Not Disturb contacts.
- The usual cleanout of obsolete code.
Details On Chat Message Virtualization Changes
There are major improvements in how chat messages are virtualized when
you type a double Alt+number:
- Double Alt+numbers virtualize the appropriate message but now with
surrounding messages for context.
The cursor will start on the message you requested.
For example, Alt+5 will virtualize and place the cursor on
the fifth-from-last message, as before, but will also virtualize up to
50 messages above that one as well as the four below it.
Messages appear separated by blank lines for quick skimming via
Ctrl+UpArrow and Ctrl+DownArrow.
- Each message's origin appears at the top of the message on its
own line, so it will not be necessary to hunt for the beginning of the
actual message. (This is sadly not true for action lines though.)
- All virtualized chat messages will include links where
appropriate. Each link will appear on its own line. Items that become links
include
- URLs appearing in chat messages.
- Email addresses appearing in chat messages.
- "Continue last conversation with ..." lines at the top of a chat window.
- Each option in the history options that can appear at the top of a
chat window (these are the lines like, "Show messages from: this
conversation | today | this week |last 30 days | beginning").
- Links for previous and/or next 100 messages will appear at the bottom
of the buffer depending on whether there are messages to show before
or after the ones currently shown.
- When a virtual chat view is open, the standard
JAWSKey+F7 command will
work, bringing up a list of the links from all shown messages.
- If you type any double Alt+number from the chat message list
rather than from the input (edit) window, the currently focused chat
message (along with its context) will be virtualized. This lets you
virtualize any chat message you like.
- Jsb files remain in the Zip file even though they must be
recompiled during script installation. Fixed in revision 641.
- The Skype Command sequence for reporting the count and identities
of "Not Available" contacts always reports that there are none. Fixed
in revision 642.
- A double press of the Skype Command key sends the key through to
the application even from within Keyboard Help mode. Fixed in
revision 644.
- The error message for Ctrl+Shift+I when it can't find
technical info was out of date. Fixed in revision 646.
Download: Revision 642 executable installer
| Revision 642 source and JAWS 7-9 binaries
Revision 618
This is a major update over revision 550, and it comes with
a slightly
updated installer,
a notable
policy change regarding old JAWS versions,
and a lot of
new features,
all of which are further explained below under separate subheadings.
Some major new features include
- Typing alert sounds and announcements in Skype chat windows as for other
messengers but with five volume levels for the typing sound,
- On-the-fly Skype Command Mode key change support,
- Semi-automatic SkypeWatch maintenance after a JAWS update,
- Reporting of incoming Skype Prime payment requests,
- Better handling of Options/Hotkeys checkboxes, and
- A SkypeWatch alert list that does not clear every time you restart JAWS.
Please Note: This script revision should only be
installed in JAWS versions 6.0 and up. See the
Policy Change Regarding Old JAWS Versions
section below for more information.
As of this release, I am managing the code for the script installer
along with the code for the scripts themselves, with the eventual goal
of including things like SkypeWatch script setup in the installer so
we can greatfully dispense with the infamously complex-looking
manual SkypeWatch installation procedure
on the Script Installation Instructions page.
This release does include automation of one part of SkypeWatch
maintenance, as will be explained in the
new features
section below; but for now, the infamous manual procedure remains.
Installer fixes in this release:
- "JAWSMemDmp" no longer appears as a language choice during
installation. This directory is sometimes created by JAWS when it
crashes or is aborted by the user but has nothing to do with language
support.
- A missing sound file for Skype Command mode exit is now included.
- Binary (jsb) files are not included in the installer
but are instead generated during installation. Compilation during
installation (using the executable installer) is no longer optional.
The jsb files are currently still included in the zip file though.
The new JAWS version policy, which is both a technical change and a
philosophical one, is this:
- Code from now on is written using the style and support functions
available in the latest JAWS versions, which makes it easier to read
and maintain and also makes it run faster on current JAWS versions.
- New methods and calls are emulated for older JAWS versions with no
performance penalty in newer ones. Emulation code is written as the
need for it is discovered.
This is a drastic change from the old methods of writing code with a
lot of special exceptions for old JAWS versions which also had to run
in newer ones, sometimes at a notable cost of speed and at a definite
cost of code complexity.
- The official cutoff for JAWS version support is now 6.0, which is
a change from 4.51. This change is made necessary by three things:
- A few functions I now need are not available or easily imitated in
JAWS 4.51.
- The file structure before JAWS 6.0 was markedly different, and
supporting it seriously complicates installation procedures like that
for SkypeWatch, which I eventually hope to automate.
- The machine on which I develop Skype scripts is the last on which
I have a JAWS authorization key old enough to support JAWS 5, and that
machine is dying a slow death. Its replacement almost certainly will
not run JAWS versions too old to work with an ILM key.
This script revision happens to compile and run under JAWS 5.10 but
will neither compile nor run under JAWS 4.51. JAWS 5.0 has not been
tested as of this writing.
Major new features, explained later in more detail:
- Just as for other messengers, it is now possible to hear when
others in a chat window are typing. Both announcements and typing
sounds are available, and there are five possible volume levels for
the typing sound.
- The JAWSKey+V list now includes a way to change the
Skype Command key on the fly, and the change will survive through
future script updates.
- SkypeWatch, if installed and running, will now automatically try
to update default_fs.jsb whenever JAWS is next started or scripts are
re-initialized after a JAWS update. This only works in JAWS 6.0 and later.
Fixes, quick-to-explain features, and minor additions:
- JAWS should now say checked/unchecked as one scrolls through the
Options Hotkey list. Previously, only SayLine and tabbing into the list
said this.
- Alt+numbers in a chat window erroneously omitted some HTML escapes
in URLs, like %20. This has been fixed.
- Several possible causes of spurious beeps have been eliminated.
- The "Automatically speak your online status" option was accidentally
ignored in earlier script versions. It should now actually work.
- Skype Prime payment requests should now speak as they appear.
- The sound that should play when one exits a multikey Skype script
command sequence was accidentally omitted from the original script
revision 550 distribution. This is now fixed, and the sounds should
now play as advertised.
(The missing file was added to the revision 550 distribution some time
after its initial release, so this only affects those who downloaded
revision 550 soon after it went public.)
- Trying to read farther back in the SkypeWatch notification list than
it goes will now announce that there aren't that many notifications
to read, instead of beeping and reading the oldest one that is there.
- The keystroke for adjusting JAWS verbosity options, JAWSKey+V,
should now again appear in the JAWSKey+H help text buffer. This was
lost as a result of changes in JAWS 9 and Skype script code changes
conforming to these.
- SkypeWatch notifications, such as for new chats, incoming calls,
and sign-ins, are now saved across JAWS restarts, meaning you don't
lose the notification list by restarting JAWS.
Major new features in more detail:
Typing indicators, both announcements and sound, are now available
just as for MSN, Windows Messenger, Yahoo Messenger, and AIM. Since
Skype allows a lot of people in one chat window though, there are a
few items to note. Here is a description of how the new system works:
- Typing indications are controlled by two new options in the
JAWSKey+V option list: Typing Announce and Typing Sounder.
- If you turn on Typing Announcements with JAWSKey+V,
JAWS will say "so-and-so is typing" if someone named so-and-so starts
to type in your currently active chat window. This is how things work
in other messengers.
Note that for this to work, both you and the typing user must be
running sufficiently new Skype versions.
- If you turn on Typing Sounder with JAWSKey+V,
a typing sound will be played while someone is typing. This should
also be familiar to users of other messengers. In fact, the sounds
used are modified versions of the sound JAWS plays when someone
types in MSN Messenger. The Typing Sounder option actually allows the
sound to be turned off or played at any of five volume levels.
- If more than one person is typing at once in a chat window
containing several participants, the typing announcement, if enabled,
will just say how many people are typing, rather than listing them.
The typing sound, if enabled, will play while any number of people are
typing.
- F4 will announce who is typing, or how many people are
typing if there are more than one. This is also available for other
messengers. A double F4 will actually list the users that
are typing.
- If a chat window contains more than ten participants, there will
be no automatic announcement of typing or typing sounds.
F4 will still indicate how many people are typing though.
This ten-user cutoff is arbitrary and subject to change based on user
feedback, but a cutoff is necessary to avoid the hopelessly intense
scanning and uselessly continuous reporting of typing status changes
in, say, a chat containing 150 participants.
The Skype Command key, a left bracket ([) by default, can
now be changed from the JAWSKey+V option list. To do this,
press a space on the Skype Command Key option line, then when
prompted, type the key or key combination you want for the new Skype
Command key. The change will take effect immediately and will remain
in effect even through Skype script updates. This feature is included
to help people who need the default key for something else, such as
when it is used to type a character in a non-English language.
When JAWS starts, if you are running SkypeWatch, a quick check will be
made to see if your SkypeWatch installation includes an up-to-date
default_fs.jsb file. This file is copied into the JAWS user folder
from the shared-folder default.jsb during SkypeWatch installation, but
it can go out of date if JAWS is updated. This can cause some
difficult-to-trace problems, so I am trying to eliminate them by
automating this check and update.
Download: Revision 618 executable installer
| Revision 618 source and JAWS 7-9 binaries
Revision 550
This is mostly a bug fix release to follow revision 504, though there
are a few new features as well. In particular, there is an
experimental new command interface described at the end of this
section, and it allows you to read up to the last ten SkypeWatch
notifications, not just the most recent one.
A quick note to anyone who grabbed a revision between 504 and 550:
This revision should fix any "Unknown function call to
KeyMapChangedEvent" messages and should also improve the handling of
checkboxes in Options > Sounds for some users. The earlier
revisions no longer remain here because of those problems.
Fixes and features:
- The check marks in Options > Sounds should now speak. They
will not work in Braille at this point though. I continue to work
with Skype (the company) to try to get a more generally accessible
solution to this problem put in place.
If you still don't hear "checked" or "unchecked" in
Options > Sounds, your machine is probably using a color depth,
color scheme, or screen resolution that the scripts don't understand.
I did not write more code for
the check boxes in Options > Hotkeys because these already work for
some people and I don't know how to avoid causing problems by messing
with this.
- JAWSKey+V will now produce a tree structure if you're running JAWS
9, like it will for other applications in that JAWS version. Thanks
to Tyler Kavanaugh for sending the code for this.
- Ctrl+M should now work in Skype versions after 3.5.0.158.
- JAWS will now say both the name and the call status of conference
participants as you arrow through the participant list for a
conference.
- Arrowing past the bottom of the History list should no longer
cause double speech.
- JAWS will now warn if the CapsLock is on when a Skype chat window
receives focus (this was requested by Jim Grimsby and was quick to
do).
- Chat lines containing a vertical bar (|) will now read completely.
Previous script versions cut such lines off at the vertical bar.
- SayAppVersion (Ctrl+JAWSKey+V) now flashes in Braille,
displays in the JAWS user buffer on a double press, and more precisely
conforms to the standard behavior for that command.
- Ctrl+numbers should now land in sensible places for all Skype tabs.
This should minimize the need to Tab and Shift+Tab every time you
switch to a new tab, I hope.
- Error messages produced by Ctrl+Shift+O should now flash in Braille.
- If pressing an Alt+number twice to get a virtual view of a chat line
caused a delay of a few seconds before anything happened, this should
no longer be the case.
- Ctrl+Tab to move through chat windows should be faster.
- The BSD license now officially applies to these Skype scripts and
all code therein. I've been getting occasional questions about
licensing, so this should clear those up. In a nutshell, the BSD
license allows anyone to use, modify, and/or distribute the scripts
and code as long as the license itself is included and they don't use
the authors' name(s) to endorse or promote something else without
permission. The full license now appears at the bottoms of the main
source files.
This script version also contains an experimental interface which
I will call the "JAWS command system" or just the "command system."
This interface is not like the normal one-key-per-command interface of
modern JAWS scripts, though its structure may be familiar to PAC Mate
users and resembles the menu system of modern Windows applications.
The commands you all know still remain; this is an additional method of
doing some things. The rest of this section describes the new interface
in some detail, for anyone who wants to try it. The author is quickly
coming to prefer it over the original commands, but that's just me.
The new interface consists of sequences of keys that run scripts
instead of just single commands that do so. The left square bracket key
([) is a sort of prefix key, after which you can hit other keys
to do other things. Hitting the left bracket key twice just types one,
in case you need to do that. I picked that key because it's rarely used
in Skype. In fact, the main motivation for writing this interface was
the problem of running out of keys to use for Skype script commands.
This way, we can have as many commands as we want and never need more
than one key that could interfere with the application.
Hitting a left bracket will say "Skype" to let you know you've entered
the JAWS command system for Skype.
The keys you can currently hit after a left bracket are
- [
- Just type a single left bracket and return to Skype.
In other words, you can get a plain left bracket just by hitting it
twice.
- C
- Chat commands.
- N
- Notification commands.
- T
- Tab commands.
After going to Chat commands or Tab commands, the following keys can
be used:
- 1-0
- Switch to specific chat windows or tabs and
exit the command system.
- Shift+1-Shift+0
- Say the names of
specific chat windows or tabs without switching to them and without exiting
the command system. You can use this feature to review chat or tab
names and then just press an unshifted number to switch to the one you
want.
- l
- List all available chat windows or tabs and exit the
command system.
- Shift+l
- List all available chat windows or tabs but do not
exit the command system. This is a fast way to read the chat or tab
names before switching to one, which you can then do just by pressing
its number.
- Ctrl+l
- Bring up a JAWS list of chat windows or tabs from
which you can select one and press Enter to switch to it. The
command system exits. Some people prefer the JAWS list because of the
ability to jump to chats or tabs by typing initial letters.
- Esc or any key without another function
- Exit the
command system without doing anything else.
After going to Notification Commands, plain numbers will read up to
the last ten received notifications. This feature is not available
anywhere else in the scripts because I sort of ran out of safe
keystrokes to use for it. In Notification commands, the command system
is not exited by numbers, so you can read at your leisure until done.
Press Escape or any other key without another function to
exit the command system after reviewing notifications.
Note that any key that exits the command system also makes a short sound
to let you know you are back in Skype itself. To make this possible
across all supported JAWS versions, I had to include the sound file
played by the scripts. There are actually two sounds included, though
at this time, only one is used. The sound files are currently placed
in the same folder as the scripts, though they more properly belong
in the Sounds folder under your JAWS user settings folder in JAWS 6
and up, and in the normal settings\enu directory under JAWS 4 and 5.
(I put the sound files with the scripts for now to avoid problems with
the installer we currently use.) If you don't want the sound to play,
it is sufficient to delete SkypeCommandExit.wav.
Download: Revision 550 executable installer
| Revision 550 source and JAWS 7-9 binaries
Revision 504
This is a bug fix release for Skype 3.1 and later. It uses the new
SkypeWatch system but with a new implementation that, hopefully, will
work more reliably than older implementations.
This implementation is capable of working with either the old or the
new SkypeWatch installation procedures, though the new procedure will
probably provide more snappy alerts because it will notice them
sooner. The older installation procedure is the one that just
requires
use "skypewatch.jsb"
to be added to default.jss.
The newer installation procedure is more involved and is explained on the
Script Installation Instructions page.
Change list:
- New dual-mode SkypeWatch implementation that can figure out how
SkypeWatch was installed and respond accordingly. The SkypeWatch code
has also been rewritten to avoid relying on the JAWS NewTextEvent,
which proved a very unreliable technique for catching alerts.
- Ctrl+M (for setting mood text) works again in Skype 3.1, 3.2, and
3.5 at least, by using the menu options enabled by View > Accessibility >
Extended Keyboard Navigation.
- The Ctrl+Shift+L (Pick Contact and Action) feature now supports
sending SMS messages to SkypeOut contacts.
- JAWSKey+F8 works again for listing and providing access to toolbar
items. In chat windows, it lists the toolbar items for the chat window.
In Skype window tabs, it lists toolbar items available for that tab,
including the event filter for the History tab and the contact group
handling items in the Contacts tab. The names of available tabs also
show up even though they are not actually toolbar items, as a side effect
of the way toolbar items are now found.
- When you type Alt+numbers to read chat lines, they should "flash"
(appear for about five seconds) in Braille. I thought I made that one
work a long time ago, but apparently not.
- Keyboard help for the say-last-alert command is now included,
and the script can now be run by not only Alt+Shift+F9 but also
Ctrl+ScrollLock+F9, for consistency with other similar commands in recent
versions of JAWS.
- Ctrl+Shift+numbers no longer switch among Skype tabs; this is now
done only by Ctrl+numbers. Both sets of commands have been enabled
for the last several script versions during the conversion away from
Ctrl+Shift+numbers, which don't work well in the presence of web-page tabs
like Skype Live. Also, Ctrl+8 and Ctrl+9 are no longer tab-switching
commands because this interferes with their functions on laptops for
clicking mouse buttons.
- Double-pressing Ctrl+numbers no longer puts focus on the Skype tab
control, because the tab control is not labeled and does not work normally
(e.g., arrows move off of it instead of switching tabs).
- If you happen to uncheck the "Show text on tabs" option under the
View menu, most things should still work.
- JAWS 7.0 and older should now read the Look In combo box properly
while you arrow through it. This box appears, among other places,
when you select Send File for a contact.
- A few false readings of Skype notifications and status changes should
be eliminated.
- Fixed miscounting of Skype tabs for Ctrl+numbers (bug reported
by Roger Cusson).
Known issues with revision 504:
- I forgot to fix the checkbox problem in Options > Sounds.
This still needs to be done.
- Users of JAWS 7.0 and older will get incorrect keyboard help for
Ctrl+numbers and Alt+numbers, though the commands themselves will
work. This has to do with an irregularity in how
JAWS 7.0 and older find help text for keys whose script calls contain
parenthesized numbers.
For the curious, here's a link to an
explanation of the JAWS 7.0 help
issue.
Download: Revision 504 executable installer
| Revision 504 source and JAWS 7-9 binaries
Revision 477sw472
This is an unusual release in that it is actually a mixture of two
revisions: revision 477 of all files except SkypeWatch.jss, and
revision 472 of that file. I am releasing this version because the
SkypeWatch changes I put out in revision 465 are not reliable at all,
and I just learned why and that it will take some coding to handle
them properly.
This is the old SkypeWatch system, brought into the current scripts.
This is likely to be the last revision containing this older system,
but it should serve until I can get the newer one working correctly.
This version also contains the following enhancements:
- A few attempts at fixing status reporting problems. Please report
if you still hear incorrect renditions of your Skype status after
installing these scripts.
- A few SkypeWatch efficiency improvements.
- A fix for spontaneous JAWS virtual buffers appearing when chat
lines come in.
Download: Revision 477sw472 executable installer
| Revision 477sw472 source and JAWS 7-9 binaries
Revision 465
This is a minor release for users of Skype 3.2 and 3.5. It should
also work under older Skype 3.x versions. Changes:
- The JAWSKey+Q message has again been updated. There are also a
few improvements in help text.
- Added "Press Escape to close this message" to virtual buffers.
- Implemented double-strike Alt+numbers for virtualizing particular
chat messages.
- Users of Skype 3.2 and later should no longer experience random
Skype status change announcements when running SkypeWatch.
Download: Revision 465 executable installer
| Revision 465 source and JAWS 7-9 binaries
Revision 455
This is a release just to add support for a marvelous new feature of
Skype 3.5 Beta: list-format chat output windows! As of this Skype
version, it is possible to read chat messages without scripts, just by
scrolling through the list of messages with arrow keys. As long as
you leave the chat window open, you will not lose your place in the
chat output window either, which makes it much easier to follow very
busy chats, such as those containing a lot of people. This script
update is not required in order to take advantage of all this, but if
you prefer to continue using Alt+numbers to read chat lines, you will
need this script update, or you will find that the Alt+numbers start
missing new lines as they come in, because the arrival of new lines
does not scroll the output window down as was the case before. As a
side effect of the new chat window format, action lines will now read
correctly with Alt+numbers, which was never the case before.
I believe the phenomenon of having the last chat line repeat at random
will also disappear in Skype 3.5 with these scripts.
This version also contains the following minor improvements:
- Users of Advanced-mode JAWS verbosity should now hear the same extra
information about which sounds are set to play in the Options page for
Sounds as users of other verbosities do.
- I sped up the location of the main Skype window in some cases,
because this is frequently executed code. This may make JAWS less CPU
hungry when Skype is not in focus or is not actually running.
A couple of notes and known issues for newcomers to Skype 3.5:
- Chat lines are now automatically put in chronological order. This
means a conversation will make much more sense when read later
sometimes, but it can also mean that a chat line will get inserted
above something you said. This happens if you're talking to someone
with a slow Internet connection or who typed lines while one of you
was offline and the lines arrive after you send a new one. When in
doubt, poke about.
- Previous Skype versions allowed you to click at the top of a chat
history window for more history. Skype 3.5 allows this also but gives
you the ability to get history for today, this week, the last 30 days,
the last calendar month, etc., as you choose. JAWS will now announce
when you add or subtract large volumes of chat lines from a chat
history window without trying to read them all. The easiest way to
get to these features is to tab to the list, press Home to get to the
irst entry, then route JAWS to pc and move right until you reach the
option you want. Click your choice, and it will happen. If you pull
up a huge volume of history lines, as in thousands, JAWS will probably
start saying things like, "345 new chat messages not read, 283 new
chat messages not read, 396 new chat messages not read," etc. This is
because JAWS is noticing the messages as they arrive. I will probably
slow down this little progress indicator barrage soon.
- Some people may have noticed that Skype puts the name of a chat
message author only on the first line in a block of messages from that
author. This is still true visually, but JAWS will now read the name
on each chat message because of how the chat messages appear in MSAA.
This is also the reason time stamps come before, not after names for
JAWS users now, for those users who enable time stamps on chat lines.
Download: Revision 455 executable installer
| Revision 455 source and JAWS 7-9 binaries