An Electron-based macOS macro pad with a 3×3 grid and a tactile volume knob. Buttons trigger common developer workflows and quick-launch actions.
- macOS
- Node.js and npm
- On first run, macOS may prompt to allow automation of Google Chrome (AppleScript). Grant permission for new-tab behavior.
npm install
npm start- B1: Open Google Chrome. If not installed/launch fails, fallback to Safari.
- Double-click B1: If Chrome is running, open a new tab; otherwise launch Chrome (fallback Safari if needed).
- B2: Open Visual Studio Code.
- B3: Open GitHub (web) in preferred browser.
- B4: Open YouTube (web) in preferred browser.
- B5: Open Spotify app if present; otherwise open Spotify Web.
- B6: Open Discord app; otherwise open Discord Web.
- B7: Open ChatGPT (web).
- B8: Open Finder.
- B9: Close all running applications (excludes essential system apps and this Electron app).
- Controls macOS system output volume (0–100).
- Drag or use mouse wheel (hold Shift for larger steps).
- Initializes to current system volume and updates the system volume with a small debounce.
- Keys 1–9 mirror B1–B9 actions with the same behavior.
- Preferred browser is Google Chrome; Safari is used as a fallback when needed.
- Some actions use AppleScript via
osascriptunder the hood (e.g., opening a new Chrome tab).
You can edit index.html to change actions for each button. Each button is identified by data-key="1".."9" and is wired in the script section with a click handler. Replace the action inside the conditional for the key you want to change.
Available APIs (exposed via preload.js):
window.api.openPreferredBrowser()window.api.openChromeNewTabOrLaunch()window.api.openVSCode()window.api.openApp(appName)window.api.openUrlPreferred(url)window.api.getSystemVolume()window.api.setSystemVolume(value0to100)window.api.openFinder()window.api.quitAllApps()
Examples of customizations:
- To open a different website on a button, call
window.api.openUrlPreferred('https://example.com'). - To open a different app, call
window.api.openApp('App Name').
- The first time the app controls Chrome with AppleScript, macOS may show a permission prompt. Approve it for smooth operation.
- “Quit All Apps” attempts to quit visible, non-background apps and excludes core system processes. Use with care.
- And last but not the least enjoy :>.