feat: new thumbnails shadows in macos 26 style

This commit is contained in:
lwouis committed 2026-02-11 21:35:39 +01:00
1 parent 216563b635
commit 26d46e3768
1 file changed
+22 -5
+22 -5
View File
@@ -137,9 +137,11 @@ class TileView: FlippedView {
private func setupSharedSubviews() {
let shadow = TileView.makeShadow(Appearance.imagesShadowColor)
let appIconShadow = TileView.makeAppIconShadow(Appearance.imagesShadowColor)
let thumbnailShadow = TileView.makeThumbnailShadow(Appearance.imagesShadowColor)
thumbnail.masksToBounds = false // let thumbnail shadows show
thumbnail.applyShadow(shadow)
appIcon.applyShadow(shadow)
thumbnail.applyShadow(thumbnailShadow)
appIcon.applyShadow(appIconShadow)
dockLabelIcon.shadow = shadow
layer!.addSublayer(appIcon)
addSubview(dockLabelIcon)
@@ -410,9 +412,6 @@ class TileView: FlippedView {
}
static func makeShadow(_ color: NSColor?) -> NSShadow? {
if color == nil {
return nil
}
let shadow = NSShadow()
shadow.shadowColor = color
shadow.shadowOffset = .zero
@@ -420,6 +419,24 @@ class TileView: FlippedView {
return shadow
}
static func makeAppIconShadow(_ color: NSColor?) -> NSShadow? {
guard let color else { return nil }
let shadow = NSShadow()
shadow.shadowColor = color.withAlphaComponent(0.4)
shadow.shadowOffset = NSSize(width: 0.1, height: 1)
shadow.shadowBlurRadius = 2
return shadow
}
static func makeThumbnailShadow(_ color: NSColor?) -> NSShadow? {
guard let color else { return nil }
let shadow = NSShadow()
shadow.shadowColor = color.withAlphaComponent(0.4)
shadow.shadowOffset = NSSize(width: 0.8, height: 2.2)
shadow.shadowBlurRadius = 3
return shadow
}
static func maxThumbnailWidth(_ screen: NSScreen = NSScreen.preferred) -> CGFloat {
return TilesPanel.maxThumbnailsWidth(screen) * Appearance.windowMaxWidthInRow - Appearance.interCellPadding * 2
}