Files
wehub-resource-sync 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
chore: import upstream snapshot with attribution
2026-07-13 13:03:19 +08:00

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>