Skip to content

arc

This directory implements Talon voice control support for the Arc web browser on macOS. It leverages Talon's context-aware command registry to map generic web-browsing commands to Arc's specific interface mechanisms, while also adding support for Arc-specific features.

How It Works

The files in this directory work in tandem to define the Arc application context, map generic browser and tab commands to it, and implement browser-specific shortcuts.

Application Definition and Action Overrides

The Python file arc.py establishes the application's definition within Talon:

  • It declares the application bundle identifier (company.thebrowser.Browser) and application name (Arc) so Talon can recognize when Arc is the active window.
  • It overrides common browser actions to suit Arc's interface. For instance, the standard browser.show_extensions() action is mapped to navigate directly to arc://extensions.
  • It overrides the command search functionality to trigger the URL/command bar via cmd-l and gracefully insert search text.
  • It introduces a slight delay (180ms) in the tab_close_wrapper to ensure reliable tab closure actions.

Activating Standard Browser Voice Commands

The file arc_mac.talon applies to macOS when Arc is active:

  • It acts as a configuration bridge by activating tags like browser, user.tabs, and user.command_search.
  • By enabling these tags, the Arc browser automatically inherits all standard, global web-browsing and tab-management voice commands (such as navigating back/forward, switching tabs, and opening new windows) defined elsewhere in the Talon user community repository.

Arc-Specific Features

The file little-arc_mac.talon provides specialized support for Arc’s unique "Little Arc" window feature:

  • It makes a helper voice command little arc [<user.text>] globally available whenever Arc is running.
  • This command automates the keystroke cmd-alt-n to open a Little Arc overlay window and immediately types any dictated search query or URL, streamlining quick lookups from other applications.