This package allows you to launch applications directly from your Grid controller. It automatically detects installed applications on your system and allows you to add custom applications.
- Automatic App Detection: Automatically scans for installed applications on Windows and macOS
- Launch System Apps: Quick access to common system applications
- Installed Applications: Browse and launch any detected installed application
- Custom Applications: Add any application or command you want to launch
- Command Arguments: Support for passing arguments to applications
- Launch History: Quick access to recently launched applications
- Grid Action: Easy-to-use action block for configuring app launches
- Cross-Platform: Works on Windows and macOS (Linux support with manual configuration)
- Clone the repository or download the package
- Run
npm installin the root folder to install dependencies - Run
npm run buildto build the necessary files - In the Grid Editor, go to the Package Manager panel
- Either approve the package at the top of the list or use the
+ Add external packagebutton to add the root path of the package
- In the Grid Editor, select an element (button, encoder, etc.)
- Add the "Launch App" action from the "launcher" category
- Configure the action:
- Application: Select from the dropdown or enter a custom command/path
- Arguments: Optionally add command-line arguments
The dropdown shows apps with icons indicating their type:
- 📌 System Apps: Built-in OS applications
- 📦 Installed Apps: Detected installed applications
- ⭐ Custom Apps: User-added custom applications
The package includes these pre-configured Windows applications:
- Notepad
- Calculator
- Paint
- File Explorer
- Command Prompt
- PowerShell
- Task Manager
- Control Panel
- Settings
- Snipping Tool
On macOS, the package includes:
- Finder
- Safari
- System Preferences
- Terminal
- TextEdit
- Calculator
- Preview
- Activity Monitor
The package automatically detects installed applications using:
Windows:
- Windows Registry (HKLM/HKCU Uninstall keys)
- Start Menu shortcuts (.lnk files)
macOS:
- /Applications folder
- ~/Applications folder
- /System/Applications folder
- mdfind spotlight search
Click the Refresh button in the preferences panel to re-scan for applications.
- Click on the package in the left sidebar to open preferences
- Click "+ Add" in the Custom Applications section
- Fill in:
- App Name: A friendly name for the application
- Command/Path: The full path to the executable or the command name
- Arguments: (Optional) Default arguments to pass
Launch a specific file with Notepad:
- Command:
notepad.exe - Arguments:
C:\Users\YourName\Documents\notes.txt
Open a specific folder:
- Command:
explorer.exe - Arguments:
C:\Projects
Launch a game from Steam:
- Command:
steam://run/123456(where 123456 is the Steam App ID)
Open a URL in the default browser:
- Command:
start - Arguments:
https://www.google.com
The action generates LUA code in this format:
gps("package-launcher", "launch", "command", "arguments")For example:
gps("package-launcher", "launch", "notepad.exe", "")
gps("package-launcher", "launch", "C:\\Program Files\\App\\app.exe", "--fullscreen")package-launcher/
├── index.js # Main package code (Node.js)
├── package.json # Package configuration
├── README.md # This file
├── components/ # Svelte web components
│ ├── src/
│ │ ├── main.js # Component exports
│ │ ├── Preferences.svelte
│ │ └── LaunchAppAction.svelte
│ ├── package.json
│ └── vite.config.js
└── build.js # Build script for distribution
# Install all dependencies
npm install
# Build the components
npm run build
# Development mode with hot reload
npm run devTo modify this package:
-
Package ID: Update the package name in:
package.json:namefieldindex.js: References to"package-launcher"components/src/Preferences.svelte:createPackageMessagePort()call andcustomElementtagcomponents/src/LaunchAppAction.svelte:createPackageMessagePort()call,actionRegex,actualCode(), andcustomElementtag
-
Add More Actions: In
index.js, callcreateAction()with new action configurations -
Add More Default Apps: Modify the
commonAppsandcommonMacAppsarrays inindex.js
App doesn't launch:
- Verify the path is correct
- Ensure the application is installed
- Check if the path contains spaces (use quotes if needed)
- For system apps, just the executable name (e.g.,
notepad.exe) usually works
Custom app not appearing:
- Make sure you clicked "Add Application" after filling in the form
- Try restarting the package using "Force restart" in Package Manager
Arguments not working:
- Separate multiple arguments with spaces
- For paths with spaces, the application may need them quoted
ISC