Skip to content

Commit 97961ec

Browse files
committed
Merge branch 'meta-dev' into meta
2 parents e43239b + 8f4cb4e commit 97961ec

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

ClashX/Views/MenuItemBaseView.swift

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,21 @@ class MenuItemBaseView: NSView {
2323
}
2424
}
2525

26-
let effectView: NSVisualEffectView = {
27-
let effectView = NSVisualEffectView()
28-
effectView.material = .popover
29-
effectView.state = .active
30-
effectView.isEmphasized = true
31-
effectView.blendingMode = .behindWindow
32-
return effectView
26+
let effectView: NSView = {
27+
if #available(macOS 26, *) {
28+
// NSGlassEffectContainerView ?
29+
let view = NSView()
30+
view.wantsLayer = true
31+
view.layer?.backgroundColor = NSColor.clear.cgColor
32+
return view
33+
} else {
34+
let effectView = NSVisualEffectView()
35+
effectView.material = .popover
36+
effectView.state = .active
37+
effectView.isEmphasized = true
38+
effectView.blendingMode = .behindWindow
39+
return effectView
40+
}
3341
}()
3442

3543
var cells: [NSCell?] {
@@ -119,7 +127,7 @@ class MenuItemBaseView: NSView {
119127
super.draw(dirtyRect)
120128
labels.forEach { $0.textColor = (enclosingMenuItem?.isEnabled ?? true) ? NSColor.labelColor : NSColor.placeholderTextColor }
121129
let highlighted = isHighlighted && (enclosingMenuItem?.isEnabled ?? false)
122-
effectView.material = highlighted ? .selection : .popover
130+
setHighlighted(highlighted)
123131
cells.forEach { $0?.backgroundStyle = isHighlighted ? .emphasized : .normal }
124132
}
125133

@@ -150,4 +158,12 @@ class MenuItemBaseView: NSView {
150158
self.didClickView()
151159
}
152160
}
161+
162+
func setHighlighted(_ isHighlighted: Bool) {
163+
if #available(macOS 26, *) {
164+
effectView.layer?.backgroundColor = isHighlighted ? NSColor.controlAccentColor.cgColor : NSColor.clear.cgColor
165+
} else {
166+
(effectView as? NSVisualEffectView)?.material = isHighlighted ? .selection : .popover
167+
}
168+
}
153169
}

0 commit comments

Comments
 (0)