Rewrite menu bar extra with AppKit

This commit is contained in:
世界
2026-01-05 19:19:11 +08:00
parent 91edd77b00
commit ce0d7ead88
17 changed files with 666 additions and 301 deletions
@@ -11,6 +11,7 @@ public struct AppView: View {
@State private var startAtLogin = false
@Environment(\.showMenuBarExtra) private var showMenuBarExtra
@Environment(\.menuBarExtraSpeedMode) private var menuBarExtraSpeedMode
@State private var menuBarExtraInBackground = false
#if os(macOS)
@@ -47,6 +48,17 @@ public struct AppView: View {
}
if showMenuBarExtra.wrappedValue {
Picker("Real-time Speed", selection: menuBarExtraSpeedMode) {
ForEach(MenuBarExtraSpeedMode.allCases, id: \.rawValue) { mode in
Text(mode.name).tag(mode.rawValue)
}
}
.onChangeCompat(of: menuBarExtraSpeedMode.wrappedValue) { newValue in
Task {
await SharedPreferences.menuBarExtraSpeedMode.set(newValue)
}
}
Toggle("Keep Menu Bar in Background", isOn: $menuBarExtraInBackground)
.onChangeCompat(of: menuBarExtraInBackground) { newValue in
Task {