Skip to main content

Launch Mac desktop applications by voice

Project description

Mac Application Launcher

Status: Security Fixes Only

Launch macOS applications by voice

NOTE: This skill only works on macOS systems!

About

Launch applications on macOS using voice commands through OVOS (Open Voice OS).

The skill automatically discovers applications by scanning standard macOS application directories and parsing .app bundles to extract application metadata including names, bundle identifiers, and versions.

Scanned directories:

  • /Applications
  • /System/Applications
  • /Applications/Utilities
  • /System/Library/CoreServices
  • /System/Applications/Utilities
  • ~/Applications

Examples

  • "Open Safari"
  • "Launch Calculator"
  • "Close Terminal"
  • "Switch to Finder"

Application Management

The skill provides comprehensive application management:

  • Launch: Start applications that aren't running
  • Switch: Bring running applications to the foreground
  • Close: Gracefully quit applications using AppleScript, falling back to process termination if needed
  • Status: Check if applications are currently running

The skill prioritizes graceful application closure using AppleScript's quit commands, which allows applications to save their state properly. If AppleScript fails, it falls back to process termination.

Configuration via settings.json

Customize the Application Launcher skill behavior by modifying these options in settings.json:

Option Type Default Value Description
aliases Dict[str, List[str]] {} Application aliases. Map app names to speech-friendly alternatives (e.g., {"Calculator": ["calc"]})
user_commands Dict[str, str] {} Custom application paths. Map app names to specific .app bundle paths
thresh float 0.85 Fuzzy matching threshold for application names. Lower values allow more lenient matches
blocklist List[str] [] Applications to exclude from voice control
extra_langs List[str] ["en-US"] Additional language codes for intent matching
disable_window_manager bool False If True, disables AppleScript-based window management
terminate_all bool False If True, terminates all matching processes when closing applications

Example configuration:

{
  "aliases": {
    "Calculator": ["calc", "calculator"],
    "Safari": ["browser", "web browser"],
    "Terminal": ["term", "console"]
  },
  "thresh": 0.85,
  "blocklist": ["System Preferences"],
  "terminate_all": false
}

Installation

Install from PyPI:

pip install skill-mac-application-launcher

Or install from source:

git clone https://github.com/OscillateLabsLLC/skill-mac-application-launcher
cd skill-mac-application-launcher
pip install .

Development

Note: This project is in Security Fixes Only status. We accept security fixes and critical bug fixes, but not new features.

For development, install with dev dependencies:

pip install -e .[dev]

Run tests:

pytest

Run type checking:

mypy skill_mac_application_launcher/

Run linting:

ruff check skill_mac_application_launcher/ tests/

See CONTRIBUTING.md for detailed development guidelines.

Category

Productivity

Tags

#macos #application-launcher #voice-control #ovos

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skill_mac_application_launcher-1.0.2.tar.gz (97.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skill_mac_application_launcher-1.0.2-py3-none-any.whl (27.1 kB view details)

Uploaded Python 3

File details

Details for the file skill_mac_application_launcher-1.0.2.tar.gz.

File metadata

File hashes

Hashes for skill_mac_application_launcher-1.0.2.tar.gz
Algorithm Hash digest
SHA256 d612497dea83c9d67cd019cfac08146c227d28d2a30cea919c9edaaf86dae5e9
MD5 8c6a7380cc0e67eda0b4977de324ca9a
BLAKE2b-256 43af7ddec1adb86ff48e65ab33b84d8348fe7705ccd628cb64b04efd94d660cb

See more details on using hashes here.

File details

Details for the file skill_mac_application_launcher-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for skill_mac_application_launcher-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b2dc1452c89f86db9817ddd6c060f76852005b7f34969e0e5948e455f00639ba
MD5 b1e2d73537a9d2d8733d3635f16994ac
BLAKE2b-256 754a4c3b3fbf21cf8c11d8045522c3cf7118a20bcecfb61c93d2242cb5eb42c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page