[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Turning Off voice-lock mode When Emacspeak Starts

If what David suggests is correct, then more investigation would be needed. It isn't 100% clear to me what the 4 possible values are. I haven't given this a lot of thought, but I suspect I interpret this a bit differently. For me, global voice lock mode, if toggled on, turns on voice locking in all buffers/modes which support it. If it is toggled off, then only buffers/modes where it is deliberately enabled on a per buffer basis have voice locking turned on. 

I just did a couple of quick tests and it does seem that adding (global-voice-lock-mode -1) to .emacs, either directly or as part of emacspeak-startup-hook does not disable voice locking. As this functionality does work interactively once emacs has started, my guess would be there is some other code turning global voice lock back on.

I did confirm that if you disable global font lock mode, then even though voice lock mode is enabled, it has little effect. Voice lock mode relies on properties added to characters by font lock mode. If you don't have font lock mode enabled, then there are no properties and therefore voice locking is effectively neutralized i.e. text is spoken with a single voice. You can disable global font locking from your .emacs file, so this could be a workable solution. 

Another alternative (apart from identifying why you cannot turn global voice lock mode off from .emacs) would be to experiment with changing the voices used by emacspeak. It is possible that if you tweaked the voice parameters used on OSX that you would not find them as distracting. I find the voice locking very useful in a similar way to how sighted users find font locking useful. Not everyone likes them and you often see complaints about screens looking like "fruit salad". However, many users who complain about this also say they find font locking useful once they tone it down a bit by either reducing the number of different colours used or by chaning the characteristics of the colours used. I suspect the same may be true for voice locking. While it may take some time, you could possible tweak the different voice settings so that you can get the benefits of additional auditory hints while avoiding the disadvantages of it being too distracting. 

A final thing to do would be to bind a call to global-voice-lock -1 to a key. At least then, it would only be a single key press to disable voice locking on startup. Not ideal, but perhaps easier then typing the command every time. Not aht as you cannot have functions requiring arguments directly bound to keys, you would need to wrap the call inside a lambda or function - similar to what was suggested for the startup hook and include the (interactive) call so that your lambda/function can be called interactively. 


On 20 December 2012 04:16, David Tseng <davidtseng@gmail.com> wrote:
Actually, it looks like there's an issue with specifying initial-value
in the definition of voice-lock-mode (the non-globalized version).

If I set initial-value to nil in the definition of the non-global
voice-lock minor mode, then the globalized voice lock minor mode
appropriately toggles the minor mode for all buffers.

Based on purely anecdotal  evidence, it seems that emacs gives the
minor mode toggle precedence over the global minor mode toggle and
somehow doesn't handle the 4 possible boolean states correctly.

On 12/16/12, Tim Cross <theophilusx@gmail.com> wrote:
> Let me just check I understand the problem
> You want to turn off voice lock mode, but you do want emacspeak o continue
> to vocalize text?
> The help text for global-voice-lock-mode states
> Toggle Voice-Lock mode in all buffers.
> With prefix ARG, enable Global-Voice-Lock mode if ARG is positive;
> otherwise, disable it.  If called from Lisp, enable the mode if
> ARG is omitted or nil.
> Note the last sentence. "If called from lisp, enable the mode if ARG is
> omitted or nil".
> This means, if you have something like any of the following three
> statements in your .emacs file
> (global-voice-lock-mode)
> (global-voice-locak-mode nil)
> (global-voice-locak-mode 1)
> you will ENABLE global-voice-lock-mode. If you want to disable it, you need
> to use
> (global-voice-lock-mode -1)
> Although I have not tried it, I would probably put this at the end of my
> emacspeak-startup-hook definition or at the very least, put it at the end
> of my .emacs file so that I can be sure this is run last.
> Tim
> On 17 December 2012 12:05, Littlefield, Tyler <tyler@tysdomain.com> wrote:
>> this is the same sissue I was having. he wants it to be done within
>> startup so he doesn't have to do it every time he turns on emacspeak.
>> that
>> global change does not save IIRC.
>> On 12/16/2012 6:04 PM, T.V. Raman wrote:
>>> The following on my Linux  box just verified that things work as
>>> expected:
>>> 1. Go to the scratch buffer
>>> 2. type global-voice-lock-mode and evaluate it by pressing C-x
>>> C-e  if it is on it'll diplay T in the minibuffer.
>>> 3. Now, Type "testing" on the next line  and confirm that
>>> voice-lock is taking effect -- you should hear the voice change;
>>> pressing C-e M-v will show the personality and face at point --
>>> do this with the cursor within the string you just typed.
>>> 4. Turn off voice lock -- M-x global-voice-lock-mode  should
>>> display an appropriate message in the minibuffer
>>> 5. Cursor back to the line with "testing"and on my Linux box the
>>> personality property goes away and you dont hear a voice change.
>> --
>> Take care,
>> Ty
>> http://tds-solutions.net
>> The aspen project: a barebones light-weight mud engine:
>> http://code.google.com/p/**aspenmud <http://code.google.com/p/aspenmud>
>> He that will not reason is a bigot; he that cannot reason is a fool; he
>> that dares not reason is a slave.
>> ------------------------------**------------------------------**
>> -----------------
>> To unsubscribe from the emacspeak list or change your address on the
>> emacspeak list send mail to
>> "emacspeak-request@cs.vassar.**edu<emacspeak-request@cs.vassar.edu>"
>> with a
>> subject of "unsubscribe" or "help".
> --
> Tim Cross

Tim Cross

If you have questions about this archive or had problems using it, please send mail to:

priestdo@cs.vassar.edu No Soliciting!

Emacspeak List Archive | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | Pre 1998

Emacspeak Files | Emacspeak Blog | Search the archive