Add liquid glass to osd

This commit is contained in:
Hariharan Mudaliar 2026-02-21 09:49:33 +05:30
commit e553ccf667
No known key found for this signature in database
GPG key ID: 025583EB0BE5640E
5 changed files with 208 additions and 13 deletions

View file

@ -28,6 +28,8 @@ struct CustomOSDView: View {
@Binding var icon: String
@Default(.osdMaterial) var osdMaterial
@Default(.osdLiquidGlassCustomizationMode) var osdLiquidGlassCustomizationMode
@Default(.osdLiquidGlassVariant) var osdLiquidGlassVariant
@Default(.osdIconColorStyle) var osdIconColorStyle
@Environment(\.colorScheme) var colorScheme
@ -160,11 +162,23 @@ struct CustomOSDView: View {
.fill(.ultraThinMaterial)
case .liquid:
if #available(macOS 26.0, *) {
RoundedRectangle(cornerRadius: 18, style: .continuous)
.glassEffect(
.clear.interactive(),
in: .rect(cornerRadius: 18)
)
if osdLiquidGlassCustomizationMode == .customLiquid {
TimelineView(.periodic(from: .now, by: 1.0 / 30.0)) { context in
LiquidGlassBackground(
variant: osdLiquidGlassVariant,
cornerRadius: 18,
trigger: context.date.timeIntervalSinceReferenceDate
) {
Color.white.opacity(0.04)
}
}
} else {
RoundedRectangle(cornerRadius: 18, style: .continuous)
.glassEffect(
.clear.interactive(),
in: .rect(cornerRadius: 18)
)
}
} else {
RoundedRectangle(cornerRadius: 18, style: .continuous)
.fill(.ultraThinMaterial)