Skip to content

Commit fe7e7a2

Browse files
Clarify menu bar activation status
1 parent 484329f commit fe7e7a2

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

OverflowBar/Models/MenuBarItem.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,19 @@ final class MenuBarItem: Identifiable {
9191
return title == "Screen Recording" || title == "Audio and Video Controls"
9292
}
9393
var displayImage: NSImage? { iconImage ?? applicationIcon }
94+
/// The activation path used by the item. WindowServer-backed items do not
95+
/// expose an Accessibility press action, but they can still be activated
96+
/// directly without moving the user's cursor or waiting for AX traversal.
97+
var activationStatusSymbolName: String {
98+
if supportsPressAction { return "hand.tap" }
99+
if windowID != nil { return "bolt.fill" }
100+
return "exclamationmark.triangle"
101+
}
102+
var activationStatusHelp: String {
103+
if supportsPressAction { return "Supports Accessibility press" }
104+
if windowID != nil { return "Uses fast WindowServer activation" }
105+
return "Accessibility activation unavailable"
106+
}
94107
var hasUsableDisplayIcon: Bool {
95108
displayImage != nil || NSImage(systemSymbolName: fallbackSymbolName, accessibilityDescription: nil) != nil
96109
}

OverflowBar/Settings/SettingsView.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ struct SettingsView: View {
7070
.font(.caption)
7171
.foregroundStyle(.secondary)
7272
} else {
73-
Image(systemName: item.supportsPressAction ? "hand.tap" : "exclamationmark.triangle").help(item.supportsPressAction ? "Supports Accessibility press" : "Accessibility activation unavailable")
73+
Image(systemName: item.activationStatusSymbolName)
74+
.help(item.activationStatusHelp)
7475
}
7576
}
7677
}

0 commit comments

Comments
 (0)