Dictation in Mountain Lion is a nice little feature that works great for me. However I often need to switch between dictation languages, so going through the System Preferences is way too many clicks for me all the time. That's why I wrote a little utility that sits in the menu bar, which lets the user switch dictation languages. The problem is: it doesn't really work. At least not without logging out and back in.

My utility changes all the plist files that should be necessary to change, these are:


(the last one actually just contains a BOOL value to turn dictation on/off)

As far as I can tell (and trust me, I've looked into it thoroughly!) these are the only files that are changed when changing the dictation language in the dictation preference pane. However when I change the language setting in my utility, and then trigger dictation, it sticks with the previous setting. So I suppose the dictation daemon(s) are not loading the changed file. No big deal, right? Just need to find the right daemons. Well, there are three main processes that seem to belong to dictation:


(this seems to be the actual dictation daemon, which will also spam the console)


(not sure what this one does)


(this one renders the GUI for the feature, the little grey popup with the microphone)

However, killing these (or, in case of assistant_service/assistantd, stopping and restarting them with launchctl), doesn't do anything.

The changes that I make to the plist files are valid and good, because when I restart the computer or simply log out/back in, the new setting is used when triggering dictation.

Is there anything I've overlooked? Any plist that saves the locale? Or some cache file that I didn't find? I don't think so, because I really turned the whole system upside down during the weekend looking for it.

Any idea which (other) daemons are responsible and should be (re)started after making a change to the plist files?

Thanks for any pointers in the right direction!

Oh, and if I can get this thing to work, I'll release the utility as freeware.

EDIT: As promised, I'm releasing the utility as freeware. Grab it here: http://fouquet.me/apps/dictationswitcher/

I open-sourced it, too: https://github.com/fouquet/DictationSwitcher

  • 1
    Have you tried doing a "kill -HUP" of the processes instead of restarting them ? Also, for me, dictation also launches "imklaunchagent".
    – Tyr
    Commented Jul 30, 2012 at 2:58
  • The "kill -hup" on DictationIM did it. Now I feel like an idiot not trying that in the first place. Please submit that as an answer, it works! Thanks! :)
    – René
    Commented Jul 30, 2012 at 5:20
  • See also apple.stackexchange.com/questions/59323/…
    – rds
    Commented Oct 17, 2012 at 21:02

1 Answer 1


"kill -HUP" on DictationIM should reload the configuration ;)

  • Thanks again. I'll add some finishing brushes to my app and add the link later on when it's done.
    – René
    Commented Jul 30, 2012 at 5:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .