Compare commits
11
Commits
main
..
68e6df2938
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68e6df2938 | ||
|
|
7473e95635 | ||
|
|
57e2ddd225 | ||
|
|
33bee371f1 | ||
|
|
bb91042da7 | ||
|
|
f8f2cc0b90 | ||
|
|
9f5481a1a9 | ||
|
|
5676279a4c | ||
|
|
7ba4284be1 | ||
|
|
01e871dc2c | ||
|
|
beabf016b0 |
@@ -169,7 +169,7 @@ public struct ContentView: View {
|
|||||||
}
|
}
|
||||||
.padding(24)
|
.padding(24)
|
||||||
}
|
}
|
||||||
.navigationTitle("MacMonitor — \(selectedTab ?? "Dashboard")")
|
.navigationTitle("MacMonitor — \(selectedTab)")
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Dashboard Composite View
|
// MARK: - Dashboard Composite View
|
||||||
@@ -1006,6 +1006,8 @@ public struct ContentView: View {
|
|||||||
HStack {
|
HStack {
|
||||||
Text("Target Architecture:").foregroundStyle(.secondary)
|
Text("Target Architecture:").foregroundStyle(.secondary)
|
||||||
Text("Intel x86_64").bold()
|
Text("Intel x86_64").bold()
|
||||||
|
Text("Deployment Target:").foregroundStyle(.secondary)
|
||||||
|
Text("macOS 14.0 (Sonoma)").bold()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1248,9 +1250,8 @@ struct ProcessDetailSheet: View {
|
|||||||
if selectedDetailTab == "Threads" {
|
if selectedDetailTab == "Threads" {
|
||||||
List(threads.indices, id: \.self) { idx in
|
List(threads.indices, id: \.self) { idx in
|
||||||
let t = threads[idx]
|
let t = threads[idx]
|
||||||
let threadID = "\(t["threadID"] ?? idx)"
|
|
||||||
HStack {
|
HStack {
|
||||||
Text("Thread \(threadID)").bold()
|
Text("Thread \(t["threadID"] ?? idx)").bold()
|
||||||
Spacer()
|
Spacer()
|
||||||
Text("CPU: \(String(format: "%.1f%%", (t["cpuPercent"] as? Double) ?? 0.0))").monospacedDigit()
|
Text("CPU: \(String(format: "%.1f%%", (t["cpuPercent"] as? Double) ?? 0.0))").monospacedDigit()
|
||||||
Text(t["state"] as? String ?? "").foregroundStyle(.secondary)
|
Text(t["state"] as? String ?? "").foregroundStyle(.secondary)
|
||||||
@@ -1263,15 +1264,10 @@ struct ProcessDetailSheet: View {
|
|||||||
} else {
|
} else {
|
||||||
List(sockets.indices, id: \.self) { idx in
|
List(sockets.indices, id: \.self) { idx in
|
||||||
let s = sockets[idx]
|
let s = sockets[idx]
|
||||||
let proto = s["protocol"] as? String ?? "TCP"
|
|
||||||
let localAddr = (s["localAddress"] as? String) ?? ""
|
|
||||||
let localPort = (s["localPort"] as? Int) ?? 0
|
|
||||||
let remoteAddr = (s["remoteAddress"] as? String) ?? ""
|
|
||||||
let remotePort = (s["remotePort"] as? Int) ?? 0
|
|
||||||
HStack {
|
HStack {
|
||||||
Text(proto).bold()
|
Text(s["protocol"] as? String ?? "TCP").bold()
|
||||||
Spacer()
|
Spacer()
|
||||||
Text("\(localAddr):\(localPort) → \(remoteAddr):\(remotePort)")
|
Text("\(s["localAddress"] ?? ""):\(s["localPort"] ?? 0) → \(s["remoteAddress"] ?? ""):\(s["remotePort"] ?? 0)")
|
||||||
.mmMonospaced()
|
.mmMonospaced()
|
||||||
Text(s["tcpState"] as? String ?? "").foregroundStyle(.secondary)
|
Text(s["tcpState"] as? String ?? "").foregroundStyle(.secondary)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user