BetterTouchTool Developer Documentation

website·Indexed 38 days ago

https://docs.folivora.ai

Technical documentation for extending BetterTouchTool, featuring guides on creating plugins via BTTPluginInterface, BTTActionPluginInterface, and BTTStreamDeckPluginInterface. Includes specifications for JSON trigger and floating menu configurations, WebView integration for running AppleScripts and Shell Scripts, and support for Stream Deck hardware and the MacBook Pro Touch Bar.

Tokens
249K
Snippets
1K
Records
1.8K
Agent score
67%

What's inside BetterTouchTool

  1. Overview of BetterTouchTool AI Assistants

    BetterTouchTool (BTT) AI Assistants allow users to build custom Mac assistants for chat, BTT configuration, automation, research, coding, and computer use. BTT does not provide the AI model service; users must choose their own provider or local model. Requests are sent directly from the Mac to the provider, ensuring that assistant chat data is not routed through BetterTouchTool servers.
  2. Overview of BetterTouchTool mouse customization

    BetterTouchTool allows users to extend the functionality of a standard mouse by assigning custom actions to mouse buttons, implementing mouse gestures, and configuring specific behaviors for short and long clicks. Additionally, it provides capabilities to activate smooth scrolling and simulate macOS trackpad gestures using a mouse.
  3. Overview of BetterTouchTool Plugin Types

    BetterTouchTool supports six native plugin types to extend functionality, as well as a no-code JSON option for action sequences. Native plugins allow for custom widgets, actions, and system event monitoring.
  4. Overview of the BetterTouchTool Launcher

    The Launcher is a Spotlight-style command window built into BetterTouchTool that provides centralized access to apps, files, BTT triggers, clipboard history, calendar events, reminders, speech dictation, and AI chat. It supports multiple parallel instances, each with its own pinned items, window position, and query memory.

    System Requirements:

    • macOS 13 or newer
    • BetterTouchTool 6.440 or newer
  5. Overview of BetterTouchTool AI Assistants

    BetterTouchTool (BTT) AI Assistants allow users to build custom Mac assistants for chat, BTT configuration, automation, research, coding, and computer use. BTT does not provide the AI model service; users must choose their own provider or local model. Requests are sent directly from the Mac to the provider, ensuring that assistant chat data is not routed through BetterTouchTool servers.
  6. Overview of Menu Bar Status Item management in BetterTouchTool

    Starting with BetterTouchTool 4.615, users can manage macOS menu bar status items using four primary features: the 'Move Menu Bar Status Item To New Position' action, the 'Hide Menu Bar Icons Left Of Specific Icon' action, a 'Menubar Status Item' Widget for Floating Menus, and the 'Search Menu Bar Status Items' action.
  7. Overview of BetterTouchTool Floating Menus

    Floating menus (widgets) in BetterTouchTool are customizable, keyboard-navigable UI elements built with SwiftUI (macOS 13+). They can be fixed to the desktop, float on top of other windows, or behave like standard windows. They support dynamic positioning based on windows, screen positions, or the mouse cursor, and can be configured to resize on hover.
  8. Overview of BetterTouchTool Launcher

    The Launcher is a Spotlight-style command window built into BetterTouchTool that provides centralized access to apps, files, BTT triggers, clipboard history, calendars, reminders, speech dictation, and AI chat. It supports multiple parallel instances, each with its own pinned items, window position, and query memory.

    System Requirements:

    • macOS 13 or newer
    • BetterTouchTool 6.440 or newer
  9. Overview of BetterTouchTool scripting interfaces

    BetterTouchTool provides a generic scripting interface that can be accessed through multiple languages and protocols depending on the use case. As of version 3.333, JavaScript is the recommended method. Other supported interfaces include AppleScript, Swift (introduced in BTT 6.755 for native macOS API access), the custom btt:// URL scheme, an integrated webserver, OSC (Open Sound Control), and an official npm package for Node.js/TypeScript.
  10. Overview of BetterTouchTool Floating Menus

    Floating Menus (and widgets) in BetterTouchTool are SwiftUI-based customizable overlays that can be triggered by gestures or events. They support dynamic positioning (attached to windows, screen positions, or mouse cursors), resizing on hover, and various window behaviors (fixed to desktop, float on top, or standard window behavior). They are keyboard navigable and support scripting.
  11. Use Standard Items in Floating Menus

    Standard items render text and icons or images. They are scriptable and support file-drop functionality; files dropped onto a standard item can be accessed by reading the item's value via scripting.