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
6 changes: 3 additions & 3 deletions Loop/Core/LoopManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -318,10 +318,10 @@ extension LoopManager {
currentAction = lastAction
} else {
let currentFrame = targetWindow.frame
let currentBounds = currentScreen.safeScreenFrame

let usePadding = PaddingSettings.enablePadding && (Defaults[.paddingMinimumScreenSize] == 0 || currentScreen.diagonalSize > Defaults[.paddingMinimumScreenSize])
let adjustedBounds = usePadding ? PaddingSettings.padding.apply(on: currentBounds) : currentBounds
let adjustedBounds = PaddingSettings
.configuredPadding(for: currentScreen)
.apply(onScreenFrame: currentScreen.safeScreenFrame)

let proportionalSize = CGRect(
x: (currentFrame.minX - adjustedBounds.minX) / adjustedBounds.width,
Expand Down
2 changes: 1 addition & 1 deletion Loop/Extensions/Defaults+Extensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ extension Defaults.Keys {
static let ignoreFullscreen = Key<Bool>("ignoreFullscreen", default: false, iCloud: true)
static let hideUntilDirectionIsChosen = Key<Bool>("hideUntilDirectionIsChosen", default: false, iCloud: true)
static let hapticFeedback = Defaults.Key<Bool>("hapticFeedback", default: true, iCloud: true)
static let enableRadialMenuCustomization = Defaults.Key<Bool>("enableRadialMenuCustomization", default: true, iCloud: true)
static let enableRadialMenuCustomization = Defaults.Key<Bool>("enableRadialMenuCustomization", default: false, iCloud: true)

// About
static let includeDevelopmentVersions = Key<Bool>("includeDevelopmentVersions", default: false, iCloud: true)
Expand Down
6 changes: 5 additions & 1 deletion Loop/Stashing/StashManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,11 @@ extension StashManager {

if resetFrame {
let action = WindowAction(.initialFrame)
let center = action.getFrame(window: window.window, bounds: window.screen.safeScreenFrame)
let center = action.getFrame(
window: window.window,
bounds: window.screen.safeScreenFrame,
screen: window.screen
)

window.window.setFrame(center, animate: resetFrameAnimated)
}
Expand Down
2 changes: 1 addition & 1 deletion Loop/Utilities/PaddingModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ struct PaddingModel: Codable, Defaults.Serializable, Hashable {
window == top && window == bottom && window == right && window == left
}

func apply(on initial: CGRect) -> CGRect {
func apply(onScreenFrame initial: CGRect) -> CGRect {
initial
.padding(.leading, left)
.padding(.trailing, right)
Expand Down
23 changes: 13 additions & 10 deletions Loop/Utilities/PaddingSettings.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,16 @@
// Created by Kai Azim on 2025-08-29.
//

import AppKit
import Defaults
import Foundation

enum PaddingSettings {
static var enablePadding: Bool {
static func configuredPadding(for screen: NSScreen?) -> PaddingModel {
if #available(macOS 15, *), Defaults[.useSystemWindowManagerWhenAvailable] {
SystemWindowManager.MoveAndResize.enablePadding
} else {
Defaults[.enablePadding]
}
}
guard SystemWindowManager.MoveAndResize.enablePadding else {
return .zero
}

static var padding: PaddingModel {
if #available(macOS 15, *), Defaults[.useSystemWindowManagerWhenAvailable] {
let padding = SystemWindowManager.MoveAndResize.padding

return PaddingModel(
Expand All @@ -31,7 +27,14 @@ enum PaddingSettings {
configureScreenPadding: false
)
} else {
return Defaults[.padding]
let respectsPaddingThreshold = if let screen {
Defaults[.paddingMinimumScreenSize] == 0 || screen.diagonalSize > Defaults[.paddingMinimumScreenSize]
} else {
true
}
let enablePadding = Defaults[.enablePadding] && respectsPaddingThreshold

return enablePadding ? Defaults[.padding] : .zero
}
}
}
Loading