91e75e620b
CI: cua-driver distro-compat matrix / debian:12 (glibc 2.36) (push) Has been cancelled
CI: SPDX Headers / Check SPDX headers (warn-only) (push) Has been cancelled
CD: Docs MCP Server / build (linux/amd64) (push) Has been cancelled
CD: Docs MCP Server / build (linux/arm64) (push) Has been cancelled
CD: Docs MCP Server / merge (push) Has been cancelled
CI: cua-driver distro-compat matrix / Resolve release version (push) Has been cancelled
CI: cua-driver distro-compat matrix / fedora:41 (glibc 2.40) (push) Has been cancelled
CI: cua-driver distro-compat matrix / rockylinux:9 (glibc 2.34) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:22.04 (glibc 2.35) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:24.04 (glibc 2.39) (push) Has been cancelled
CI: cua-driver distro-compat matrix / Distro compat summary (push) Has been cancelled
CI: Rust Linux unit / Rust Linux unit and compile (push) Has been cancelled
CI: Rust Windows unit / Rust Windows unit and compile (push) Has been cancelled
CI: Nix Linux Rust source / Nix / compositor build (push) Has been cancelled
CI: Nix Linux Rust source / Nix / driver package (push) Has been cancelled
CI: Nix Linux Rust source / Nix / Rust unit tests (push) Has been cancelled
78 lines
3.3 KiB
Plaintext
78 lines
3.3 KiB
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<!--
|
|
Minimal .app bundle for cua-driver (Rust port).
|
|
|
|
The Rust port is the canonical cua-driver going forward; this
|
|
bundle ships at /Applications/CuaDriver.app with bundle id
|
|
`com.trycua.driver` — the SAME bundle id the Swift cua-driver used.
|
|
The bundle-id and install-path identity means installing the Rust
|
|
port over an existing Swift install is a seamless upgrade: TCC
|
|
grants (Accessibility, Screen Recording) keyed on
|
|
`com.trycua.driver` transfer to the new binary; LaunchServices
|
|
discovery via `open -n -g -a CuaDriver` keeps working.
|
|
|
|
Earlier releases of the Rust port shipped under
|
|
`/Applications/CuaDriverRs.app` with bundle id
|
|
`com.trycua.cuadriverrs` so the two could coexist on the same
|
|
machine. That coexistence path has been retired — the Rust port
|
|
replaces the Swift driver, not parallels it.
|
|
|
|
Exists so the Rust port can use the same TCC-attribution trick as
|
|
the Swift cua-driver: `open -n -g -a CuaDriver --args serve`
|
|
relaunches into a process attributed to `com.trycua.driver` (a
|
|
stable bundle identifier TCC keys grants against), instead of
|
|
inheriting the calling shell/IDE-terminal's TCC responsibility.
|
|
|
|
Note on macOS code-signing: TCC pairs the bundle id with the
|
|
binary's cdhash. The Rust binary has a different cdhash from the
|
|
Swift binary, so on first run after the upgrade macOS may surface
|
|
a one-time re-grant prompt for Accessibility / Screen Recording
|
|
even though the bundle id is preserved. After that, the grants
|
|
persist.
|
|
|
|
LSUIElement=true keeps the bundle headless (no Dock icon, no menu
|
|
bar) so the daemon-spawn path doesn't flash any UI.
|
|
-->
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>com.trycua.driver</string>
|
|
<key>CFBundleName</key>
|
|
<string>Cua Driver</string>
|
|
<key>CFBundleDisplayName</key>
|
|
<string>Cua Driver</string>
|
|
<key>CFBundleExecutable</key>
|
|
<string>cua-driver</string>
|
|
<!-- Bundle icon shown in Finder / Launchpad / Get Info. Resolves to
|
|
Contents/Resources/AppIcon.icns. LSUIElement (below) suppresses
|
|
the Dock icon, but Finder and Launchpad still render this — without
|
|
it the app shows a blank placeholder (see issue #1496). -->
|
|
<key>CFBundleIconFile</key>
|
|
<string>AppIcon</string>
|
|
<key>CFBundleIconName</key>
|
|
<string>AppIcon</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<!-- Version values are placeholders. The CD workflow's
|
|
`plutil -replace CFBundleShortVersionString` /
|
|
`plutil -replace CFBundleVersion` step rewrites both on
|
|
every tag push so the published .app reflects the release
|
|
tag. The in-tree values stay at a sentinel that's obviously
|
|
not a real release, so dev builds running against a fresh
|
|
checkout don't accidentally masquerade as a tagged version. -->
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>0.0.0-dev</string>
|
|
<key>CFBundleVersion</key>
|
|
<string>0</string>
|
|
<key>LSMinimumSystemVersion</key>
|
|
<string>13.0</string>
|
|
<key>LSUIElement</key>
|
|
<true/>
|
|
<key>NSHighResolutionCapable</key>
|
|
<true/>
|
|
<key>NSSupportsAutomaticTermination</key>
|
|
<true/>
|
|
</dict>
|
|
</plist>
|