feat: Electron menu bar app with native screenshot capture - #1007
Open
arbiterFF wants to merge 2 commits into
Open
feat: Electron menu bar app with native screenshot capture#1007arbiterFF wants to merge 2 commits into
arbiterFF wants to merge 2 commits into
Conversation
Adds a minimal Electron shell that runs big-AGI as a macOS menu bar app: - Spawns the Next.js standalone server on a random port - Shows a tray icon in the macOS menu bar with show/quit controls - Opens a frameless BrowserWindow (reuses existing WebkitAppRegion drag CSS) - Exposes desktopCapturer via preload for silent screenshot capture (no picker) - Adds Is.Electron detection to pwaUtils.ts - Only 2 existing files modified; all new code lives in electron/ Closes enricoros#338 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Someone is attempting to deploy a commit to the Token Fabrics Pro Team on Vercel. A member of the Team first needs to authorize it. |
- Add 38px fixed dark gray title bar for macOS traffic light buttons - Adjust PageCore height to calc(100dvh - 38px) to prevent content overflow - Add postinstall script to patch Electron.app plist (name + icon) - Remove dock icon toggling (pure menu bar app) - Set app name and userData path to "big-AGI" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Owner
|
@claude I've been outsmarted by this PR! How can I get back on track? JK, please implement all that's missing - i.e. I'd love a CI pipeline or at least the multi-platform builds for MacOS Arm and Win 64 |
|
I'll analyze this and get back to you. |
Owner
|
@claude Since the jobs are failing when you try to fetch feat/electron-menubar, can you access the code on https://github.com/arbiterFF/big-AGI/tree/feat/electron-menubar, or 6f6f365 ? |
|
I'll analyze this and get back to you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
BIG_AGI_BUILD=standalone) on a random port, opens a framelessBrowserWindowthat reuses the existingWebkitAppRegion: 'drag'CSS inOptimaBar.tsxdesktopCapturervia a preload script for silent native screenshot capture (no browser picker dialog)Is.Electrondetection topwaUtils.tsso the app knows it's running in ElectronChanges
New files (all in
electron/):electron/main.js— Main process: tray icon, frameless window, standalone server lifecycleelectron/preload.js—contextBridgeexposingelectronAPI.captureScreen()andisElectronelectron/electron-builder.yml— macOS build config (DMG + ZIP)Modified files (2 only, minimal changes):
src/common/util/pwaUtils.ts— AddedIs.Electronflag +(Desktop)device name suffixsrc/common/util/screenCaptureUtils.ts— Electron-native capture path beforegetDisplayMediafallbackHow to run
Future consideration: tray quick-capture widget
With
desktopCaptureralready wired up, a natural next step would be a Claude-style tray widget — a small popover from the tray icon that lets you:This would make big-AGI a true "always available" desktop AI assistant, similar to how Claude Desktop's quick capture works. The plumbing is already in place with the preload API.
Test plan
npm run electron:dev→ tray icon appears in macOS menu barCloses #338
🤖 Generated with Claude Code