Skip to content

Commit 9f6119a

Browse files
committed
Correct the way we find the main window and active window
1 parent f0db6d4 commit 9f6119a

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

Core/Sources/SuggestionWidget/SuggestionWidgetController.swift

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -315,9 +315,11 @@ extension SuggestionWidgetController {
315315
}
316316
317317
self.updateWindowLocation(animated: false)
318-
panelWindow.orderFront(nil)
319-
widgetWindow.orderFront(nil)
320-
tabWindow.orderFront(nil)
318+
if UserDefaults.shared.value(for: \.forceOrderWidgetToFront) {
319+
panelWindow.orderFront(nil)
320+
widgetWindow.orderFront(nil)
321+
tabWindow.orderFront(nil)
322+
}
321323
}
322324
}
323325
}
@@ -389,8 +391,8 @@ extension SuggestionWidgetController {
389391
focusElement.description == "Source Editor",
390392
let parent = focusElement.parent,
391393
let frame = parent.rect,
392-
let screen = NSScreen.main,
393-
let firstScreen = NSScreen.screens.first
394+
let screen = NSScreen.screens.first(where: { $0.frame.origin == .zero }),
395+
let firstScreen = NSScreen.main
394396
{
395397
let mode = UserDefaults.shared.value(for: \.suggestionWidgetPositionMode)
396398
switch mode {

Core/Sources/SuggestionWidget/WidgetPositionStrategy.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ enum UpdateLocationStrategy {
3737
)
3838
}
3939
return HorizontalMovable().framesForWindows(
40-
y: activeScreen.frame.height - frame.maxY,
40+
y: mainScreen.frame.height - frame.maxY,
4141
alignPanelTopToAnchor: nil,
4242
editorFrame: editorFrame,
4343
mainScreen: mainScreen,
@@ -58,7 +58,7 @@ enum UpdateLocationStrategy {
5858
alignPanelTopToAnchor: Bool
5959
) {
6060
return HorizontalMovable().framesForWindows(
61-
y: activeScreen.frame.height - editorFrame.maxY + Style.widgetPadding,
61+
y: mainScreen.frame.height - editorFrame.maxY + Style.widgetPadding,
6262
alignPanelTopToAnchor: false,
6363
editorFrame: editorFrame,
6464
mainScreen: mainScreen,
@@ -82,13 +82,13 @@ enum UpdateLocationStrategy {
8282
) {
8383
let maxY = max(
8484
y,
85-
activeScreen.frame.height - editorFrame.maxY + Style.widgetPadding,
86-
4 + mainScreen.frame.minY
85+
mainScreen.frame.height - editorFrame.maxY + Style.widgetPadding,
86+
4 + activeScreen.frame.minY
8787
)
8888
let y = min(
8989
maxY,
90-
mainScreen.frame.maxY - 4,
91-
activeScreen.frame.height - editorFrame.minY - Style.widgetHeight - Style
90+
activeScreen.frame.maxY - 4,
91+
mainScreen.frame.height - editorFrame.minY - Style.widgetHeight - Style
9292
.widgetPadding
9393
)
9494

@@ -101,7 +101,7 @@ enum UpdateLocationStrategy {
101101

102102
let proposedPanelX = proposedAnchorFrameOnTheRightSide.maxX + Style
103103
.widgetPadding * 2
104-
let putPanelToTheRight = mainScreen.frame.maxX > proposedPanelX + Style.panelWidth
104+
let putPanelToTheRight = activeScreen.frame.maxX > proposedPanelX + Style.panelWidth
105105
let alignPanelTopToAnchor = fixedAlignment ?? (y > activeScreen.frame.midY)
106106

107107
if putPanelToTheRight {
@@ -132,7 +132,7 @@ enum UpdateLocationStrategy {
132132
)
133133
let proposedPanelX = proposedAnchorFrameOnTheLeftSide.minX - Style
134134
.widgetPadding * 2 - Style.panelWidth
135-
let putAnchorToTheLeft = proposedPanelX > mainScreen.frame.minX
135+
let putAnchorToTheLeft = proposedPanelX > activeScreen.frame.minX
136136

137137
if putAnchorToTheLeft {
138138
let anchorFrame = proposedAnchorFrameOnTheLeftSide

0 commit comments

Comments
 (0)