ReviewOS

craft-native/craft

--app-name: control the menu-bar app name without packaging

#50
Closed glennmichael123 opened this 11 days ago ·
11 days ago

The App menu title and the "About X / Hide X / Quit X" items come from NSProcessInfo.processName (macos.zig:6165-6176, used at :6203-6222) — the executable name for a bare binary. Every app launched through the shared craft binary shows "craft" in the menu bar, in Hide/Quit, and in Activity Monitor. The only fix today is full .app packaging (packageApp writes CFBundleName).

stacksjs/harness ships a workaround worth deleting: it creates a symlink named harness in a temp dir and spawns the binary through it, purely so processName reads right (app/Commands/Desktop.ts, namedAs()).

Ask: an --app-name <name> flag (and craft.json key). Implementation is small — NSProcessInfo.processName is settable (setProcessName:, plus updating the App menu items craft already builds itself in createApplicationMenu()), or at minimum craft can title its own menu items from the flag instead of the process. Dev-mode apps get their identity back without a packaging step.

🤖 Generated with Claude Code

Sign in to comment on this issue.