I guess I am the guilty one.  I made some changes in the FocusChangeEvent
function.  I have continued to tweak it and I will post what I am using
below.   Julio C. Perez also made a contribution to what I am using.  I
have added some lines to keep the windows maximized except in the speller.
All of the changes made to the original have been noted.  I am running
JFW3.30.26 and Eudora 3.05.  I think Julio was using Eudora 4.  

You can either replace your FocusChangeEvent with this one or edit yours to
your pleasure.  

David Maynard
Franklin NC
[EMAIL PROTECTED]
[EMAIL PROTECTED]

Void Function FocusChangedEvent (handle FocusWindow, handle PrevWindow)
var
        handle RealWindow,
        string RealWindowName,
        handle AppWindow
; the next 7 lines added to size windows - 7/5/99 DCM
speechoff ()
;wn20 = "Check Spelling"
If (GetWindowName (GetParent (GetFocus ())) != wn20) then
{alt+space}{x} ; maximize parent window
{alt+dash}{x} ; maximize child window
EndIf
speechOn ()
If (GetControlID (FocusWindow) == ID_View) ||
(GetControlID (FocusWindow) == ID_Edit) ||
(GetWindowClass (GetCurrentWindow ()) == WCEdit) then
        if (GetVerbosity () == 0) then
                Say (msg3, OT_CONTROL_NAME) ; "Edit"
        EndIf ; End of Verbosity check 
        CaretVisible ()
If GetEudoraVersion () >= 4 then  ;added 5/13/99 DCM
        If (GetControlID (PrevWindow) != ID_Bcc) then
        SayString (GetWindowName (GetRealWindow (GetCurrentWindow ()))) ;added
5/11/99 JCP
        SayLine () 
        EndIf
EndIf ;end of version added 5/13/99 DCM
EndIf
; for the Warning dialog
;wn1 = "Warning!"
if (GetWindowName (GetParent (GetFocus ()) ) == wn1) then
        ;wn2 = "Warning"
        If (GetWindowName (GetParent (PrevWindow)) == wn2) then
                SayWindowTypeAndText (GetFocus ()); don't overtalk
                Return
        EndIf
EndIf
If (StringContains (GetWindowName (GetRealWindow (GetCurrentWindow ())),
msg10)) Then; "Address Book"
If (GetCurrentControlID () == 1453 || GetCurrentControlID () == 432) Then 
Say (msg1, OT_CONTROL_NAME) ; "E-mail address"
SayWindow (GetCurrentWindow (), read_everything)
EndIf
If (GetCurrentControlID () == 1454 || GetCurrentControlID () == 433) Then 
Say (msg2, OT_CONTROL_NAME) ; "Notes"
EndIf
EndIf
; for Password Dialogs
if (GetWindowName (GetParent (GetFocus ())) == msg102) then; "Enter Password"
        SayWindowTypeAndText (FocusWindow)
        Return
EndIf
; for New Message
; to avoid extra chatter when writing new message
If (GetControlID (GetParent (GetFocus ())) == ID_View) &&
(GetWindowClass (GetFocus ()) == WCEdit) ||
(GetWindowClass (GetFocus ()) == wcEdit2) &&
(GetControlID (GetCurrentWindow ()) <= 5057) then
        If (PrevWindow != GetParent (GetParent (FocusWindow))) &&
        StringContains (GetAppTitle (), "Eudora") then
                SayWindowTypeAndText (GetFocus ())
                Return
        EndIf ; if title has changed
EndIf ; end of new message
; For the Find Dialog
If (GetControlID (GetCurrentWindow ()) ==       ID_Find_Edit) ||
(GetControlID (GetCurrentWindow ()) ==  ID_Find_Button) ||
(GetControlID (GetCurrentWindow ()) ==  ID_Find_Checkbox) ||
(GetControlID (GetCurrentWindow ()) ==  ID_Find_Checkbox2) then
        let nSuppressEcho = true
        If (GetWindowClass (GetFocus ()) == wcEdit2) then; "Edit"
                Say (msg95, OT_CONTROL_NAME) ; "Find What:"
        EndIf ; End of if it is edit
        SayWindowTypeAndText (GetCurrentWindow ())
        Return
EndIf; End of Find Dialog

let RealWindow = GetRealWindow(FocusWindow)
let RealWindowName = GetWindowName (RealWindow)
let AppWindow = GetAppMainWindow(FocusWindow)
if (GlobalPrevApp != AppWindow
   && AppWindow != FocusWindow) then 
        ; we've switched to a different app main window, 
        ; and it does not have the focus, so announce it
        If (GetWindowClass (FocusWindow) == wcListView) &&; "SysListView32"
        (PrevWindow != FocusWindow) then
        SayWindowTypeAndText (FocusWindow)
EndIf
        SayWindowTypeAndText(AppWindow)
endif
If ((GlobalPrevRealName != RealWindowName) ; name has changed
   || (GlobalPrevReal != RealWindow)) then ; or handle has changed, then
        If ((RealWindow != AppWindow)
           && (RealWindow != FocusWindow)) then
                SayWindowTypeAndText(RealWindow)
        endif
EndIf
;no matter what, say the window with focus
;but do it by calling a subroutine that can be special for each application, 
; for example, progman.jms
let GlobalFocusWindow = FocusWindow
If (GetControlID (FocusWindow) != ID_View)then  ;added 5/13/99 DCM
SayFocusedWindow()  ; will use global variable "GlobalFocusWindow"
EndIf ;added 5/13/99 DCM
;above perform will return here to finish this routine
;now set all the global variables for next time.
let GlobalPrevReal = RealWindow
let GlobalPrevRealName = RealWindowName
let GlobalPrevApp = AppWindow
let GlobalPrevFocus = FocusWindow
EndFunction





At 11:08 PM 7/5/99 -0700 Muhammad Fazil  Wrote:
couple of months ago, 1 of the Davids, I don't remember which 1, posted some
changes in scripts to shut up eudora from speaking the first line of the
message with the header.  Can I have that post again, or if that particular
David still remembers it, could he send me those instructions again please?

Thanks!  Best regards,
Muhammad Fazil,
Ph.D Candidate, Department of Asian Studies, University of British Columbia,
Vancouver BC, Canada.
ENQUIRING MINDS WANT TO KNOW WHAT THE HELL YOU DO ALL DAY!
        Mentes quaerentes volunt scire quid in Hadei facias totum diem!

-
Visit the jfw ml web page: http://jfw.cjb.net


-
Visit the jfw ml web page: http://jfw.cjb.net

Reply via email to