@@ -7,7 +7,9 @@ enum UpdateLocationStrategy {
77 editorFrame: CGRect ,
88 mainScreen: NSScreen ,
99 activeScreen: NSScreen ,
10- editor: AXUIElement
10+ editor: AXUIElement ,
11+ preferredInsideEditorMinWidth: Double = UserDefaults . shared
12+ . value ( for: \. preferWidgetToStayInsideEditorWhenWidthGreaterThan)
1113 ) -> (
1214 widgetFrame: CGRect ,
1315 panelFrame: CGRect ,
@@ -41,7 +43,8 @@ enum UpdateLocationStrategy {
4143 alignPanelTopToAnchor: nil ,
4244 editorFrame: editorFrame,
4345 mainScreen: mainScreen,
44- activeScreen: activeScreen
46+ activeScreen: activeScreen,
47+ preferredInsideEditorMinWidth: preferredInsideEditorMinWidth
4548 )
4649 }
4750 }
@@ -50,7 +53,9 @@ enum UpdateLocationStrategy {
5053 func framesForWindows(
5154 editorFrame: CGRect ,
5255 mainScreen: NSScreen ,
53- activeScreen: NSScreen
56+ activeScreen: NSScreen ,
57+ preferredInsideEditorMinWidth: Double = UserDefaults . shared
58+ . value ( for: \. preferWidgetToStayInsideEditorWhenWidthGreaterThan)
5459 ) -> (
5560 widgetFrame: CGRect ,
5661 panelFrame: CGRect ,
@@ -62,7 +67,8 @@ enum UpdateLocationStrategy {
6267 alignPanelTopToAnchor: false ,
6368 editorFrame: editorFrame,
6469 mainScreen: mainScreen,
65- activeScreen: activeScreen
70+ activeScreen: activeScreen,
71+ preferredInsideEditorMinWidth: preferredInsideEditorMinWidth
6672 )
6773 }
6874 }
@@ -73,16 +79,14 @@ enum UpdateLocationStrategy {
7379 alignPanelTopToAnchor fixedAlignment: Bool ? ,
7480 editorFrame: CGRect ,
7581 mainScreen: NSScreen ,
76- activeScreen: NSScreen
82+ activeScreen: NSScreen ,
83+ preferredInsideEditorMinWidth: Double
7784 ) -> (
7885 widgetFrame: CGRect ,
7986 panelFrame: CGRect ,
8087 tabFrame: CGRect ,
8188 alignPanelTopToAnchor: Bool
8289 ) {
83- let preferredInsideEditorMinWidth = UserDefaults . shared
84- . value ( for: \. preferWidgetToStayInsideEditorWhenWidthGreaterThan)
85-
8690 let maxY = max (
8791 y,
8892 mainScreen. frame. height - editorFrame. maxY + Style. widgetPadding,
0 commit comments