vivaldi
This directory configures Talon voice control for the Vivaldi web browser. It ensures that standard browser commands (such as tab management, page navigation, and address bar focusing) work seamlessly in Vivaldi across Windows, Linux, and macOS, while also adding custom commands for Vivaldi-specific features like side panels.
Application Definition
The recognition rules for identifying Vivaldi are declared in vivaldi.py. It defines the application identifier app: vivaldi by matching:
* macOS: The bundle identifier com.vivaldi.Vivaldi
* Windows: The executable name vivaldi.exe
* Linux: The binary name vivaldi-bin
Voice Commands and Capabilities
When Vivaldi is the active window, vivaldi.talon activates several standard Talon tags:
* browser: Enables general browser navigation commands (e.g., going to a URL, opening extensions, focusing the address bar).
* user.tabs: Enables standardized tab navigation and management.
* user.command_search: Enables the quick command menu search capability.
Additionally, vivaldi.talon defines voice triggers to open or toggle Vivaldi's specialized side panels:
(sidebar | panel) history: user.vivaldi_history_panel()
(sidebar | panel) downloads: user.vivaldi_downloads_panel()
(sidebar | panel) bookmarks: user.vivaldi_bookmarks_panel()
(sidebar | panel) notes: user.vivaldi_notes_panel()
Cross-Platform Action Implementation
Because keyboard shortcuts vary by operating system, the underlying actions are implemented across two files:
- Windows and Linux (Default): Implemented in vivaldi.py, this file uses
ctrlmodifier keys for shortcuts (e.g.,ctrl-lto focus the address bar,ctrl-shift-hfor the history panel, andctrl-efor command search). It also handles standard behavior overrides, such as usingf9to focus the main web page. - macOS: Implemented in vivaldi_mac.py, this file overrides the default behavior when
os: macis active. It maps the actions to Mac-native key combinations, utilizing thecmdkey instead ofctrl(e.g.,cmd-alt-yfor the history panel,cmd-alt-lfor downloads, andcmd-shift-]orcmd-shift-[for tab navigation).