Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,909 changes: 222 additions & 2,687 deletions Loop/Localizable.xcstrings

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Loop/Settings Window/Theming/PreviewConfiguration.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ struct PreviewConfigurationView: View {
}
)
) {
Text("Animate window resize")
Text("Show preview when looping")
.padding(.trailing, 4)
.luminarePopover(attachedTo: .topTrailing, hidden: previewVisibility) {
Text("Window snapping will still use the preview.")
Expand Down
18 changes: 18 additions & 0 deletions Loop/Window Action Indicators/ActivePanel.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// ActivePanel.swift
// Loop
//
// Created by Kai Azim on 2025-09-16.
//

import AppKit

final class ActivePanel: NSPanel {
@objc dynamic var hasKeyAppearance: Bool {
true
}

@objc dynamic var hasActiveAppearance: Bool {
true
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,7 @@ struct LuminarePreviewView: View {
GeometryReader { geo in
ZStack {
VisualEffectView(material: .hudWindow, blendingMode: .behindWindow)
.mask {
RoundedRectangle(cornerRadius: previewCornerRadius)
.foregroundColor(.white)
}
.clipShape(.rect(cornerRadius: previewCornerRadius))

RoundedRectangle(cornerRadius: previewCornerRadius)
.strokeBorder(.quinary, lineWidth: 1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ final class PreviewController {
return
}

let panel = NSPanel(
let panel = ActivePanel(
contentRect: .zero,
styleMask: [.borderless, .nonactivatingPanel],
backing: .buffered,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,7 @@ struct PreviewView: View {
GeometryReader { _ in
ZStack {
VisualEffectView(material: .hudWindow, blendingMode: .behindWindow)
.mask {
RoundedRectangle(cornerRadius: previewCornerRadius)
.foregroundColor(.white)
}
.clipShape(.rect(cornerRadius: previewCornerRadius))

RoundedRectangle(cornerRadius: previewCornerRadius)
.strokeBorder(.quinary, lineWidth: 1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ final class RadialMenuController {
let mouseY: CGFloat = position.y
let windowSize: CGFloat = 100 + 40

let panel = NSPanel(
let panel = ActivePanel(
contentRect: .zero,
styleMask: [.borderless, .nonactivatingPanel],
backing: .buffered,
Expand Down
10 changes: 9 additions & 1 deletion Loop/Window Action Indicators/Radial Menu/RadialMenuView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,15 @@ struct RadialMenuView: View {
ZStack {
ZStack {
// NSVisualEffect on background
VisualEffectView(material: .hudWindow, blendingMode: .behindWindow)
if #available(macOS 26.0, *) {
Color.clear
.glassEffect(
.regular,
in: .rect(cornerRadius: radialMenuCornerRadius)
)
} else {
VisualEffectView(material: .hudWindow, blendingMode: .behindWindow)
}

// This rectangle with a gradient is masked with the current direction radial menu view
Rectangle()
Expand Down