Replace build.sh with Makefile; add Info.plist, entitlements, hardened runtime, make check

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
mmacierzankaandClaude Bot committed 2026-11-03 02:36:16 +01:00
1 parent 3885a04560
commit 00fa7f9546
8 files changed
+116 -32

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
# Second Display
Natywna aplikacja macOS, która pokazuje w oknie obraz z urządzenia przechwytującego (capture card, kamerka) i odtwarza dźwięk z wybranego wejścia — jako "drugi monitor".
## Wymagania
macOS 26+, Xcode (Command Line Tools).
## Budowanie i uruchamianie
```
make # buduje build/SecondDisplay.app
make run # buduje i uruchamia
make check # lint: typecheck, plisty, tłumaczenia, podpis
make install # kopiuje do ~/Applications
make help # lista poleceń
```
Podpis jest ad-hoc (działa na tym Macu). Do dystrybucji: `make SIGN_ID="Developer ID Application: ..."` (potrzebna jeszcze notaryzacja).
## Użycie
Menu u góry ekranu: **Obraz** (kamera, format), **Dźwięk** (źródło lub wyłączony), **Opcje** (blokada usypiania, pełny ekran przy starcie, na wierzchu, wyciszenie ⇧⌘M, skalowanie), **Okno** (kafelkowanie, pełny ekran ⌃⌘F).
## Struktura
- `Sources/main.swift` – aplikacja (AppKit + AVFoundation)
- `Config/` – `Info.plist`, entitlements (kamera, mikrofon)
- `Resources/` – ikona (`AppIcon.icon`, Icon Composer), tłumaczenia en/pl, `uninstall.sh`
- `scripts/check-strings.sh` – spójność tłumaczeń
## Ustawienia i odinstalowanie
Ustawienia: `~/Library/Preferences/com.mmacierzanka.seconddisplay.plist`.
Pełne usunięcie aplikacji i śladów: `make uninstall` albo `SecondDisplay.app/Contents/Resources/uninstall.sh`.