vivaldi
The files in the community/apps/vivaldi
directory provide support for controlling the Vivaldi browser with Talon.
The core functionality is implemented in vivaldi.py
. This file defines the application context for Vivaldi and provides actions for interacting with the browser, including:
- Toggling various panels such as history, bookmarks, downloads, and notes using the
vivaldi_history_panel
,vivaldi_bookmarks_panel
,vivaldi_downloads_panel
, andvivaldi_notes_panel
actions. - Overriding default
tab_close
behavior with a short sleep delay usingtab_close_wrapper
. - Jumping to a specific tab using
tab_jump
. - Opening Vivaldi's command search with
command_search
, optionally including a search term. - Actions for common browser functions such as
show_extensions
,focus_address
,focus_page
,bookmarks
,show_downloads
, andgo
.- Note that
bookmark_tabs
is marked asNotImplementedError
since it is not natively supported by Vivaldi. - The
show_downloads
action opens a new tab and navigates tovivaldi://downloads
.
- Note that
vivaldi.talon
defines the Talon voice commands for Vivaldi. It uses tags for browser, tabs, and command search support. It also defines voice commands to toggle the history, downloads, bookmarks, and notes panels by using the actions defined in vivaldi.py
. For example, saying "sidebar history" will call the user.vivaldi_history_panel()
action.
vivaldi_mac.py
provides overrides for macOS. This file defines platform specific keybindings for macOS by implementing the same actions as in vivaldi.py
, such as:
- Using command-based shortcuts for toggling panels such as
vivaldi_history_panel
,vivaldi_downloads_panel
, andvivaldi_notes_panel
as well asvivaldi_toggle_quick_commands
. - Jumping to a specific tab with
tab_jump
. - macOS-specific implementations for
tab_next
andtab_previous
. - Platform specific overrides for common browser actions like
show_extensions
,bookmarks
, andfocus_address
.
The files work together to provide a cross-platform experience for controlling Vivaldi with Talon. The vivaldi.py
file provides the core functionality, while the vivaldi_mac.py
file provides macOS-specific overrides. Finally, the vivaldi.talon
file provides the voice commands that trigger the actions.