Bump version to 1.25.0 (#33)
Fix blank terminal on macOS 26 and macOS 15: - Add macOS 26 guard to two additional code paths that set window non-opaque - Fix NSVisualEffectView z-order: add to themeFrame instead of contentView - Align sidebarBlendMode defaults between @AppStorage and UserDefaults - Add read_screen socket command and blank screen regression test - Add reloads.sh staging script
This commit is contained in:
parent
2013be43ef
commit
2db074b03b
10 changed files with 593 additions and 17 deletions
|
|
@ -44,9 +44,9 @@ enum WindowGlassEffect {
|
|||
return
|
||||
}
|
||||
|
||||
// Older macOS: insert blur as a background subview instead of replacing contentView.
|
||||
// Replacing contentView on macOS 13-15 breaks traffic light rendering when the
|
||||
// window uses fullSizeContentView + titlebarAppearsTransparent.
|
||||
// Older macOS: insert blur below the contentView in the window's internal view
|
||||
// hierarchy. Adding to contentView directly gets reordered by SwiftUI, causing
|
||||
// the blur view to cover the terminal content.
|
||||
let blurView = NSVisualEffectView(frame: bounds)
|
||||
blurView.blendingMode = .behindWindow
|
||||
blurView.material = .hudWindow
|
||||
|
|
@ -54,7 +54,11 @@ enum WindowGlassEffect {
|
|||
blurView.wantsLayer = true
|
||||
blurView.autoresizingMask = [.width, .height]
|
||||
|
||||
contentView.addSubview(blurView, positioned: .below, relativeTo: contentView.subviews.first)
|
||||
if let themeFrame = contentView.superview {
|
||||
themeFrame.addSubview(blurView, positioned: .below, relativeTo: contentView)
|
||||
} else {
|
||||
contentView.addSubview(blurView, positioned: .below, relativeTo: contentView.subviews.first)
|
||||
}
|
||||
|
||||
// Tint overlay on top of blur, still behind content
|
||||
if let color = tintColor {
|
||||
|
|
@ -62,7 +66,11 @@ enum WindowGlassEffect {
|
|||
tintOverlay.autoresizingMask = [.width, .height]
|
||||
tintOverlay.wantsLayer = true
|
||||
tintOverlay.layer?.backgroundColor = color.cgColor
|
||||
contentView.addSubview(tintOverlay, positioned: .above, relativeTo: blurView)
|
||||
if let themeFrame = contentView.superview {
|
||||
themeFrame.addSubview(tintOverlay, positioned: .above, relativeTo: blurView)
|
||||
} else {
|
||||
contentView.addSubview(tintOverlay, positioned: .above, relativeTo: blurView)
|
||||
}
|
||||
objc_setAssociatedObject(window, &tintOverlayKey, tintOverlay, .OBJC_ASSOCIATION_RETAIN)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue