El dictado en Mountain Lion es una pequeña y agradable función que me funciona muy bien. Sin embargo, a menudo necesito cambiar entre los idiomas de dictado, por lo que ir a través de las Preferencias del Sistema es demasiados clics para mí todo el tiempo. Por eso escribí una pequeña utilidad que se encuentra en la barra de menús y que permite al usuario cambiar los idiomas de dictado. El problema es que no funciona realmente. Al menos no sin salir y volver a entrar.
Mi utilidad cambia todos los archivos plist que debería ser necesario cambiar, estos son:
~/Library/Preferences/com.apple.speech.recognition.AppleSpeechRecognition.prefs.plist
~/Library/Preferences/com.apple.assistant.plist
~/Library/Preferences/com.apple.assistant.support.plist
(el último en realidad sólo contiene un valor BOOL para activar/desactivar el dictado)
Por lo que sé (y créeme, lo he investigado a fondo), estos son los únicos archivos que se modifican al cambiar el idioma de dictado en el panel de preferencias de dictado. Sin embargo, cuando cambio la configuración del idioma en mi utilidad, y luego disparo el dictado, se queda con la configuración anterior. Así que supongo que el demonio de dictado no está cargando el archivo cambiado. No es un gran problema, ¿verdad? Sólo hay que encontrar los demonios correctos. Bueno, hay tres procesos principales que parecen pertenecer al dictado:
com.apple.assistantd
(este parece ser el demonio de dictado real, que también enviará spam a la consola)
com.apple.assistant_service
(no estoy seguro de lo que hace este)
DictationIM.app
(este renderiza la GUI para la función, el pequeño popup gris con el micrófono)
Sin embargo, matarlas (o, en el caso de assistant_service/assistantd, detenerlas y reiniciarlas con launchctl), no hace nada.
Los cambios que hago en los archivos plist son válidos y buenos, porque cuando reinicio el ordenador o simplemente cierro/vuelvo a abrir la sesión, la nueva configuración se utiliza al activar el dictado.
¿Hay algo que haya pasado por alto? ¿Algún plist que guarde la configuración regional? ¿O algún archivo de caché que no haya encontrado? Creo que no, porque realmente puse todo el sistema patas arriba durante el fin de semana buscándolo.
¿Alguna idea de qué (otros) demonios son responsables y deben ser (re)iniciados después de hacer un cambio en los archivos plist?
Gracias por cualquier indicación en la dirección correcta.
Ah, y si consigo que esto funcione, lanzaré la utilidad como freeware.
EDITAR : Tal y como prometí, voy a lanzar la utilidad como freeware. Tómelo aquí: http://fouquet.me/apps/dictationswitcher/
Yo también lo he puesto en abierto: https://github.com/fouquet/DictationSwitcher