[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]
Configuring VM for optimal spoken feedback under Emacspeak
>>>>> "Jason" == Jason White <jasonw@xxxxxxxxxxx> writes:
Jason> A search of the mailing list archives revealed
Jason> very little discussion of this topic, though
Jason> perhaps I somehow missed it.
I'll append my vm setup to the end of this message, steal
portions of it as you see fit.
Jason> I am trying to configure vm 6.61 to work
Jason> effectively with Emacspeak 9.0. Firstly, I set
Jason> vm-inhibit-startup-message, in an effort to
Jason> prevent vm from displaying, and Emacspeak from
Jason> reading, this startup information. Unfortunately,
Jason> Emacspeak still reads the startup message,
I dont see this-- see what happens after you install my
personal config
Jason> inconveniently while I am already browsing
Jason> mail. This is a minor problem, however.
Jason> Secondly, I noticed that after having pressed
Jason> space to display the content of a message, and
Jason> again to move to the second page, Emacspeak
Jason> actually re-reads a large portion of the first
Jason> page of the message. There is often considerable
Probably due to two reasons --the default vm setup splits
the window to show a folder summary and the message itself.
Secondly, I think I always hit C-v (scroll-up)
rather than space bar (which runs vm-scroll-forward)
see if hitting C-v gives the right feedback.
Also, note that hitting 'j' in a vm mail buffer will hide
cited portions of a message
so typically I hit "j" and then "'" (that is a single quote)
to read the message in its entirety at one shot.
(note: hiding blocks hits an error sometimes due to a bug in
emacs --fixed this by working around the bug after
releasing 9.0).
Jason> overlap when scrolling. I tried setting
Jason> vm-mutable-windows to nil, thereby preventing the
Jason> message from being displayed in a separate
Jason> window. This helped a little, as point is now
Jason> placed at the start of the message body, once the
Jason> content is displayed. However, this is not an
Jason> optimal solution; I would rather correct the
Jason> scrolling problem and have Emacspeak read the
Jason> message without the overlap.
Jason> Third problem: when I cycle voice lock mode off
Jason> and then back on while reading a message in vm,
Jason> in an attempt to make the audio highlighting work
The backtrace would help here.
Jason> better, Emacspeak sometimes returns an
Jason> error. When this happens again, I will set
Jason> debug-on-error and report the problem more fully.
Here is my vm setup.
Clone it only after you understand what it does so you dont
get any rude surprizes.
;;; Prepare the VM mail reader:
;;;
;;; Mon Apr 25 12:13:26 EDT 1994
;;;
;;{{{ install vm
;;; Augment load path:
(augment-load-path "vm")
(global-set-key "\M-\C-v" 'vm-visit-folder)
;;; Include the VM mail reader. You can use it by using M-C-m to read
;;; mail from ~/mbox or M-C-v to visit an existing folder in your ~/Mail
;;; directory.
(require 'vm)
;;}}}
;;{{{ customize behavior
(setq vm-index-file-suffix ".idx")
(setq vm-primary-inbox "~/mbox");; Default UNIX location.
(setq vm-keep-sent-messages 5)
(setq vm-folder-directory "~/Mail/");; Default location
;; for mail folders.
(setq vm-forwarding-subject-format
"[%s]")
(setq vm-startup-with-summary nil);; do not Show headers by default.
(setq vm-mail-window-percentage 50);; Split 50/50.
(setq vm-inhibit-startup-message t);; No junk, please.
(setq vm-preview-lines nil);; Show everything.
(setq vm-visible-headers
'("From:" "To:" "Subject:" "Date:" "Cc:"
))
(setq vm-group-by 'sort)
(setq vm-delete-after-saving t)
(setq vm-url-browser 'w3-fetch)
(setq vm-circular-folders nil)
(setq vm-confirm-new-folders t)
(setq vm-move-after-deleting nil)
(setq vm-group-by "subject")
(setq vm-keep-sent-messages 5)
;;}}}
;;{{{ customize my keymap for emacspeak
(and (featurep 'emacspeak)
(define-key vm-mode-map '[delete]
'dtk-toggle-punctuation-mode))
(global-set-key "\C-xm" 'vm-mail)
(define-key vm-mode-map "\M-\C-m" 'widget-button-press)
;;}}}
;;{{{ mime in vm
(setq vm-auto-decode-mime-messages t)
(setq vm-auto-displayed-mime-content-type-exceptions '("text/html"))
(setq vm-mime-type-converter-alist
'(
("application/pdf" "text/plain" "show-text -o plain -f -")
("application/msword" "text/plain" "catdoc -t - ")))
(setq vm-mime-attachment-save-directory
(expand-file-name "~/Mail/adobe/attachments/"))
(setq vm-mime-base64-encoder-program
(expand-file-name "~/bin/base64-encode"))
(setq vm-mime-base64-decoder-program
(expand-file-name "~/bin/base64-decode"))
(setq vm-mime-attachment-auto-type-alist
(append vm-mime-attachment-auto-type-alist
'(("\.pdf"
. "Application/pdf")))vm-mime-attachment-auto-type-alist)
;;}}}
;;{{{ frames
(setq vm-frame-per-folder nil
vm-frame-per-composition nil
vm-frame-per-edit nil
vm-frame-per-help nil
vm-frame-per-summary nil)
;;}}}
;;{{{ button motion
(defun vm-next-button (n)
"Move point to N buttons forward.
If N is negative, move backward instead."
(interactive "p")
(let ((function (if (< n 0) 'previous-single-property-change
'next-single-property-change))
(inhibit-point-motion-hooks t)
(backward (< n 0))
(limit (if (< n 0) (point-min) (point-max))))
(setq n (abs n))
(while (and (not (= limit (point)))
(> n 0))
;; Skip past the current button.
(when (get-text-property (point) 'w3-hyperlink-info)
(goto-char (funcall function (point) 'w3-hyperlink-info nil limit)))
;; Go to the next (or previous) button.
(goto-char (funcall function (point) 'w3-hyperlink-info nil limit))
;; Put point at the start of the button.
(when (and backward (not (get-text-property (point) 'w3-hyperlink-info)))
(goto-char (funcall function (point) 'w3-hyperlink-info nil limit)))
;; Skip past intangible buttons.
(when (get-text-property (point) 'intangible)
(incf n))
(decf n))
(unless (zerop n)
(message "No more buttons"))
n))
(define-key vm-mode-map "\M-\t" 'vm-next-button)
;;}}}
(add-hook 'vm-quit-hook 'vm-expunge-folder)
Jason> Regards,
Jason> Jason.
Jason> -----------------------------------------------------------------------------
Jason> To unsubscribe or change your address send mail
Jason> to "emacspeak-request@xxxxxxxxxxx" with a
Jason> subject of "unsubscribe" or "help"
--
Best Regards,
--raman
Adobe Systems Tel: 1 408 536 3945 (W14-128)
Advanced Technology Group Fax: 1 408 537 4042
W14-128 345 Park Avenue Email: raman@xxxxxxxxxxx
San Jose , CA 95110 -2704 Email: raman@xxxxxxxxxxx
http://labrador.corp.adobe.com/~raman/ (Adobe Intranet)
http://cs.cornell.edu/home/raman/raman.html (Cornell)
----------------------------------------------------------------------
Disclaimer: The opinions expressed are my own and in no way should be taken
as representative of my employer, Adobe Systems Inc.
____________________________________________________________
-----------------------------------------------------------------------------
To unsubscribe or change your address send mail to
"emacspeak-request@xxxxxxxxxxx" with a subject of "unsubscribe" or "help"
Emacspeak Files |
Subscribe |
Unsubscribe