# Native Apple Silicon tray

`systray2@2.1.4` only includes an x86_64 macOS binary. This directory
includes a native ARM64 build so Apple Silicon users do not need Rosetta.
The JavaScript API, menu protocol, and other platforms remain unchanged.

Source: https://github.com/felixhao28/systray-portable
Commit: `6eddc917bf39fcc0d95b57a0741d0c065fbd1e23`
The unmodified source and locked Go dependencies are in `source/`.
Third-party license notices are in `licenses/` and `source/LICENSE`.

Built on macOS ARM64 with Go 1.24.13 and Apple Command Line Tools:

```sh
cd bin/tray/source
CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags '-s -w' -o ../darwin-arm64/2.1.4/tray_darwin_release tray.go
```

`TrayManager` passes `darwin-arm64/` to the documented `systray2` `copyDir`
option. systray2 reuses an existing binary under its package version instead
of copying the bundled Intel binary. When upgrading systray2, validate the
protocol and provide the native binary in the matching version directory.

Run the native startup regression check on Apple Silicon with:

```sh
node --test test/tray.test.js
```
