add macOS desktop target with sandbox entitlements
OS-detecting Makefile (make run works on macOS/Linux/Windows), 1280x720 default window in MainMenu.xib, squared app icons, sandbox with scoped SBPL exceptions for subprocess execution, _DARWIN_C_SOURCE for ptyc compilation, expanded PATH merging Homebrew and ~/.local/bin for GUI apps, native traffic dots skipped on macOS (titlebar owns them). DebugProfile.entitlements is gitignored (machine-specific SBPL paths); a template with __HOMEDIR__/__PROJECTS__/__SHELL__ placeholders is committed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 950 B After Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 710 B |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -332,10 +332,10 @@
|
||||
</menu>
|
||||
<window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="Runner" customModuleProvider="target">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<rect key="contentRect" x="335" y="390" width="800" height="600"/>
|
||||
<rect key="contentRect" x="335" y="390" width="1280" height="720"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1577"/>
|
||||
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="800" height="600"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="1280" height="720"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</view>
|
||||
</window>
|
||||
|
||||
@@ -8,5 +8,24 @@
|
||||
<true/>
|
||||
<key>com.apple.security.network.server</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
<key>com.apple.security.files.user-selected.read-write</key>
|
||||
<true/>
|
||||
<key>com.apple.security.temporary-exception.sbpl</key>
|
||||
<array>
|
||||
<string>(allow process-exec* (literal "/bin/zsh"))</string>
|
||||
<string>(allow process-exec* (literal "/usr/bin/which"))</string>
|
||||
<string>(allow process-exec* (subpath "/Users/jeroenschweitzer/.local/bin"))</string>
|
||||
<string>(allow process-exec* (subpath "/Users/jeroenschweitzer/Projects/clide/ptyc/bin"))</string>
|
||||
<string>(allow process-exec* (subpath "/Users/jeroenschweitzer/Projects/clide/native/dugite"))</string>
|
||||
<string>(allow process-fork)</string>
|
||||
<string>(allow file-read* file-write* (subpath "/Users/jeroenschweitzer/Projects"))</string>
|
||||
<string>(allow file-read* file-write* (subpath "/Users/jeroenschweitzer/projects"))</string>
|
||||
<string>(allow file-read* (subpath "/opt/homebrew"))</string>
|
||||
<string>(allow file-read* (subpath "/Users/jeroenschweitzer/.local"))</string>
|
||||
<string>(allow file-read* (subpath "/Users/jeroenschweitzer/.pql"))</string>
|
||||
<string>(allow file-read* file-write* (subpath "/private/tmp"))</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<?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">
|
||||
<!--
|
||||
DebugProfile.entitlements template — machine-specific sandbox exceptions.
|
||||
|
||||
Copy to DebugProfile.entitlements and replace placeholders:
|
||||
__HOMEDIR__ → your home directory (e.g. /Users/you)
|
||||
__PROJECTS__ → your projects root (e.g. /Users/you/Projects)
|
||||
__SHELL__ → your login shell (e.g. /bin/zsh)
|
||||
|
||||
Git is bundled via dugite-native (D-59) — no Homebrew exec needed.
|
||||
Run `make dugite-fetch` to download the binary.
|
||||
-->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.server</key>
|
||||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
<key>com.apple.security.files.user-selected.read-write</key>
|
||||
<true/>
|
||||
<key>com.apple.security.temporary-exception.sbpl</key>
|
||||
<array>
|
||||
<string>(allow process-exec* (literal "__SHELL__"))</string>
|
||||
<string>(allow process-exec* (literal "/usr/bin/which"))</string>
|
||||
<string>(allow process-exec* (subpath "__HOMEDIR__/.local/bin"))</string>
|
||||
<string>(allow process-exec* (subpath "__PROJECTS__/clide/ptyc/bin"))</string>
|
||||
<string>(allow process-exec* (subpath "__PROJECTS__/clide/native/dugite"))</string>
|
||||
<string>(allow process-fork)</string>
|
||||
<string>(allow file-read* file-write* (subpath "__PROJECTS__"))</string>
|
||||
<string>(allow file-read* (subpath "/opt/homebrew"))</string>
|
||||
<string>(allow file-read* (subpath "__HOMEDIR__/.local"))</string>
|
||||
<string>(allow file-read* (subpath "__HOMEDIR__/.pql"))</string>
|
||||
<string>(allow file-read* file-write* (subpath "/private/tmp"))</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||