28 Commits
Author SHA1 Message Date
mmacierzanka 5cc7dec387 feat: handle denied camera and microphone permissions (#1) 2026-11-04 08:42:42 +01:00
mmacierzankaandClaude Bot d5f0f4b849 feat: handle denied camera and microphone permissions
Quit with an error dialog when camera access is denied. When microphone
access is denied, grey out the audio menu with an explanatory note and
do not restore the saved audio device.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 08:35:29 +01:00
mmacierzankaandClaude Bot ece587fa2d docs: adopt conventional commits and feature-branch workflow
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-04 08:35:27 +01:00
mmacierzankaandClaude Bot d61098de7d Rename bundle id to com.mmacierzanka.second-display; drop legacy names from scripts
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 14:05:45 +01:00
mmacierzankaandClaude Bot d3609ae29c Name the app bundle 'Second Display' everywhere; second-display for file artifacts
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 14:01:46 +01:00
mmacierzankaandClaude Bot 8072ac473a Add MIT license
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:55:49 +01:00
mmacierzankaandClaude Bot 0c751a1fb9 Use full name in copyright
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:52:59 +01:00
mmacierzankaandClaude Bot 369158380c Add standard About panel to the app menu
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:51:19 +01:00
mmacierzankaandClaude Bot 659815b2d8 Fix autostart relaunching every 10s: acknowledge launchd USB events, run the app directly
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:11:02 +01:00
mmacierzankaandClaude Bot 25673f2b5a Add Autostart menu: launch the app when a chosen USB capture device is attached
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 13:00:15 +01:00
mmacierzankaandClaude Bot f7cc238b56 Quit with a warning when no capture devices are found at launch; keep sleep preference on quit
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 12:54:56 +01:00
mmacierzankaandClaude Bot 6273a5b8c5 Style the DMG: dmgbuild layout, background, large icons
Layout is written by dmgbuild (Config/dmg/settings.py) instead of Finder
AppleScript, which proved unreliable. Background is generated by
scripts/make-dmg-background.swift.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 03:42:15 +01:00
mmacierzankaandClaude Bot 313be025d6 Add make dmg with install instructions; build universal binary
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:52:43 +01:00
mmacierzankaandClaude Bot 854a7c5c70 Add installation instructions to README
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:49:56 +01:00
mmacierzankaandClaude Bot 70531ceef1 Translate documentation to English
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:43:30 +01:00
mmacierzankaandClaude Bot f65f639af4 Split main.swift into App, Capture, Menu, Power and Preferences
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:40:24 +01:00
mmacierzankaandClaude Bot 00fa7f9546 Replace build.sh with Makefile; add Info.plist, entitlements, hardened runtime, make check
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:36:16 +01:00
mmacierzankaandClaude Bot 3885a04560 Set bundle id to com.mmacierzanka.seconddisplay and add in-bundle uninstall script
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:15:37 +01:00
mmacierzankaandClaude Bot b84f120ee9 Replace generated icon with Icon Composer (.icon) source for Liquid Glass
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:12:31 +01:00
mmacierzankaandClaude Bot 8fdbf599e3 Add app icon and generator script
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 02:07:16 +01:00
mmacierzankaandClaude Bot 889ba9409d Add system Window menu with tiling and full screen
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:59:52 +01:00
mmacierzankaandClaude Bot f7a83194d5 Add CLAUDE.md with project brief
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:53:04 +01:00
mmacierzankaandClaude Bot 8fad4482c2 Resume capture automatically on device hot-plug
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:52:48 +01:00
mmacierzankaandClaude Bot b57e807213 Add mute and full screen shortcuts
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:52:48 +01:00
mmacierzankaandClaude Bot f19f75095f Add always-on-top window option
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:52:47 +01:00
mmacierzankaandClaude Bot a87981291f Add scaling modes (fit, fill, stretch)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:52:47 +01:00
mmacierzankaandClaude Bot 01f7330093 Add video format picker (resolution and FPS)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:52:47 +01:00
mmacierzankaandClaude Bot 3b31795a31 Add Second Display: macOS capture viewer with audio, menu, sleep prevention
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 01:37:41 +01:00