Files
puter/Sources/Puter/PuterApp.swift
T

39 lines
1.3 KiB
Swift

import SwiftUI
@main
struct PuterApp: App {
@State private var monitor = SystemMonitor()
@AppStorage("sidebarCompact") private var sidebarCompact = false
var body: some Scene {
WindowGroup("Puter") {
ContentView()
.environment(monitor)
.frame(minWidth: 820, minHeight: 560)
.task { monitor.start() }
}
.defaultSize(width: 1180, height: 760)
.windowStyle(.hiddenTitleBar)
.commands {
CommandGroup(replacing: .newItem) {
Button("Run New Task…") {
NotificationCenter.default.post(name: .runNewTask, object: nil)
}
.keyboardShortcut("n", modifiers: .command)
}
SidebarCommands()
CommandMenu("Options") {
Button("Refresh now") { monitor.refresh() }
.keyboardShortcut("r", modifiers: .command)
Divider()
Button(monitor.isPaused ? "Resume updates" : "Pause updates") {
monitor.isPaused.toggle()
}
.keyboardShortcut("p", modifiers: .command)
Divider()
Toggle("Compact Sidebar", isOn: $sidebarCompact)
}
}
}
}