[feat](trx-frontend-appkit): add native macOS AppKit frontend

Add a new trx-frontend-appkit crate using objc2 + AppKit as a
replacement for the removed Qt/QML frontend. The frontend provides
the same feature set: frequency/mode/band display, PTT/power/VFO/lock
controls, signal/TX metering, and frequency/mode/TX-limit input.

Architecture splits platform-agnostic model (model.rs) from AppKit
UI (ui.rs) to facilitate future UIKit porting. State flows from the
async tokio watcher via std::sync::mpsc to the AppKit main thread;
button actions flow back through a channel to stay on the UI thread.

Feature-gated behind `appkit-frontend` cargo feature.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
This commit is contained in:
2026-02-07 09:25:13 +01:00
parent 2c128127e6
commit e7512b3cf0
14 changed files with 1032 additions and 0 deletions
+4
View File
@@ -47,3 +47,7 @@ listen = "127.0.0.1"
port = 0
# List of accepted bearer tokens (empty = no auth)
# auth.tokens = ["example-token"]
[frontends.appkit]
# Enable AppKit GUI frontend (macOS only, requires appkit-frontend feature)
enabled = false