2

TL;DR I have searched to find a way to hide the icon but still have Voice Control enabled, or at least have a way to permanently move the icon to the dock/menu bar/Launchpad but have found this discussed nowhere.

Any suggestions on how I can have Voice Control enabled and have the floating icon permanently stored somewhere out of the way?


In the past year I discovered Dictation for my MacBook Pro. With Mojave the microphone icon was to indicate that dictation was activated. The Keyboard Shortcut I used to switch this on/off was to press either command key twice.

I was new to integrating this feature in my daily MBP use when I upgraded to Catalina. The Keyboard Shortcut no longer worked (wether the Voice Control was enabled or not) which was fine because I discovered Voice Control, which I began using and really enjoy. It expands Siri to not just transcribe dictation and enables voice control in every function of my MBP.

However, the floating mic icon is always on screen. No matter where I put it it is annoyingly in the way. I have searched to find a way to hide the icon but still have Voice Control enabled, or at least have a way to permanently move the icon to the dock/menu bar/Launchpad but have found this discussed nowhere.

Any suggestions on how I can have Voice Control enabled and have the floating icon permanently stored somewhere out of the way?

1

Not a cure, but a visual option: I move the 'Voice Control' icon 99% off screen, you can select wherever you want to move it off screen

0

Tell me if this solution works for you. Instead of moving the Icon to a different place, my solution simply toggles it on and off with a quick applescript. Credit to Jono on the Keyboard Maestro forum for solving this.

Advantages of the method: saves a ridiculous amount of ram (VC takes tons) Disadvantages: you have to toggle it on and it takes a few secs.

The following applescript, which can be triggered by an automator workflow/shortcut, will toggle voice control on and off. I use Keyboard Maestro and Alfred to trigger it myself.

tell application "System Preferences"
    reveal anchor "Dictation" of pane id "com.apple.preference.universalaccess"
    -- activate
end tell

delay 0.5
tell application "System Events"
    tell process "System Preferences"
        click checkbox "Enable Voice Control" of group 1 of window "Accessibility"
    end tell
end tell
tell application "System Preferences" to quit
3
  • This worked to create a shortcut to turn VC off which is better, thank you. But, when I'm using VC, the icon is still taking space, which is what I don't like. To clarify, you are using this shortcut to more easily turn VC on/off when not using it, but the icon is still displayed when using, correct? – Gregg Potocnik Jan 4 '20 at 8:25
  • Yes. The icon is on when I trigger the shortcut, so it won’t disappear unless you turn off vc. Incidentally, vc is a huge ram suck as well, which is why I use the shortcut. – Talos Potential Jan 5 '20 at 13:43
  • execution error: System Events got an error: Can’t get window "Accessibility" of process "System Preferences". (-1728) – HappyFace Oct 19 '20 at 16:40
-1

This following AppleScript code will hide the annoying floating Dictation window while using Voice Control.

After testing several scenarios, with previous versions of the AppleScript code in my solution, I stumbled across several situations in which the floating Dictation window would re-appear. When this happened, the code needed to be run again to re-hide the floating Dictation window. To avoid having to run the code every time the floating Dictation window appeared, I decided to save the AppleScript as a stay open application with an idle handler whose function is to re-hide the floating Dictation window if it became visible again.

In Script Editor.app, save this following AppleScript as a stay open application

on idle
    if application "DictationIM" is running then
        hideDictation(true)
    else
        quit
    end if
    return 5 -- In Seconds
end idle

to hideDictation(|true or false|)
    tell application "System Events"
        try
            set value of attribute "AXHidden" of ¬
                application process "Dictation" to |true or false|
        end try
    end tell
end hideDictation

on quit
    --  Executed When The Script Quits
    hideDictation(false)
    continue quit -- Allows The Script To Quit
end quit

I saved mine as “Invisible Dictation.app”. Since you are using voice control, you may as well make a new voice command to run “Invisible Dictation.app” while you are at it. With Voice Control currently enabled and activated, go to Finder and select the new “Invisible Dictation.app” applet and simply speak the command “Make This Speakable” and when it’s configuration window opens, assign it a “When I say” value and save your new Dictation Command.

enter image description here

There are some minor drawbacks which I have noticed when this stay open AppleScript applet is running.

  1. It also hides some pop-up or dialog windows when they become visible. For example if you use the voice command “Show Commands”, while your applet is running, the commands window will briefly appear then gets hidden along with the Dictation window. This is why I added a return 5 to the code. It gives a few seconds to see any pop-up or dialog windows when they become visible before they get hidden by the running applet. BUT if you quit the running “Invisible Dictation.app", after seeing any pop-up or dialog windows that suddenly disappeared, they will become visible again.
  2. If you try using the “Show Numbers” or “Show Window Grid” Voice Commands while your applet is running, the numbers and or the grid will be hidden also.
2
  • thanks man. this is great. I'll try it out and report back – Gregg Potocnik Jan 24 at 15:51
  • I also have another solution which I use… which involves automating the action of moving the dictation window almost completely out of sight. This method involves using the command line tool cliclick which would need to be installed on your system. If you are interested, I can add that solution to my post as well. – wch1zpink Jan 24 at 17:59

You must log in to answer this question.

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