Skip to main content

Launch Mac desktop applications by voice

Project description

Mac Application Launcher

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

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/

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-0.1.0.tar.gz (87.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-0.1.0-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for skill_mac_application_launcher-0.1.0.tar.gz
Algorithm Hash digest
SHA256 57fb49fe3382796f9c10ebaddf1c262ba00ffb0e6bee72a2f702cc1e7490fb9f
MD5 724b5768809cb17c6b3332dfcc100f5b
BLAKE2b-256 80161eec7b45c3374ee45e0d1f75fd1b5db824db1a153dbed80df75e373f3ce6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for skill_mac_application_launcher-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fc01872379d555a1fee2e06c5eb8227240768b16f7cb5200b9b741df521b36d
MD5 1c4ed35142e986bcbe59cca301a1b32a
BLAKE2b-256 2bdde5ca22a68c19b365b29bfd254efae600ddd1935d6a6fe440281388be6a4f

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