Skip to content

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, and vivaldi_notes_panel actions.
  • Overriding default tab_close behavior with a short sleep delay using tab_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, and go.
    • Note that bookmark_tabs is marked as NotImplementedError since it is not natively supported by Vivaldi.
    • The show_downloads action opens a new tab and navigates to vivaldi://downloads.

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, and vivaldi_notes_panel as well as vivaldi_toggle_quick_commands.
  • Jumping to a specific tab with tab_jump.
  • macOS-specific implementations for tab_next and tab_previous.
  • Platform specific overrides for common browser actions like show_extensions, bookmarks, and focus_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.