Commit Graph

9 Commits

Author SHA1 Message Date
Davide De Rosa
3f4b55a003 Implement Mac bundle with system menu
Use bundle as a means to provide Mac APIs to Catalyst app.

In order to cross the @objc wall set by the Mac Bundle mechanism,
Swift structures cannot be used directly and must be bridged
through ObjC facades.

Create NSMenu in MVVM style and install it on app launch. Make
sure to do it in AppDelegate.applicationDidFinishLaunching(),
because doing it as early as in PassepartoutApp.init() would
crash Mac code.

Use .representedObject to own view models.

With menu in place, app can be sent to background when main window
is closed. Requires multiple documents support for app not to die
instantly.
2022-07-16 17:39:42 +02:00
Davide De Rosa
df0d40c556 Add launcher target
- Launch main app in background then die

- Do not launch app if already running

- Launch app binary relative to launcher location
2022-06-25 16:53:38 +02:00
Davide De Rosa
8504998bbb Reorganize app-specific shared code into AppShared 2022-06-19 14:41:26 +02:00
Davide De Rosa
4aba5f46aa Rewrite app in SwiftUI 2022-04-12 15:12:45 +02:00
Davide De Rosa
0daed83a14 Update copyright 2022-02-04 12:44:30 +01:00
Davide De Rosa
7ecbd48e18 Do some project cleanup
- Update bundle
- Merge old CFG_* variables
- Drop useless Metal build settings
- Fix package warning about case
2021-11-11 15:06:43 +01:00
Davide De Rosa
dd3cac40c6 Bundle macOS app with iOS 2021-02-02 21:25:59 +01:00
Davide De Rosa
4136aad268 Revert to static version number
Variable breaks agvtool.
2021-01-03 22:28:08 +01:00
Davide De Rosa
d4b7d47498 Merge macOS app and Core into repository
Temporarily drop env and fastlane.
2021-01-03 22:28:07 +01:00