@@ -9,6 +9,7 @@ public struct WidgetLocation: Equatable {
99
1010 var widgetFrame : CGRect
1111 var tabFrame : CGRect
12+ var sharedPanelLocation : PanelLocation
1213 var defaultPanelLocation : PanelLocation
1314 var suggestionPanelLocation : PanelLocation ?
1415}
@@ -70,7 +71,7 @@ enum UpdateLocationStrategy {
7071 . value ( for: \. preferWidgetToStayInsideEditorWhenWidthGreaterThan) ,
7172 editorFrameExpendedSize: CGSize = . zero
7273 ) -> WidgetLocation {
73- return HorizontalMovable ( ) . framesForWindows (
74+ var frames = HorizontalMovable ( ) . framesForWindows (
7475 y: mainScreen. frame. height - editorFrame. maxY + Style. widgetPadding,
7576 alignPanelTopToAnchor: false ,
7677 editorFrame: editorFrame,
@@ -80,6 +81,16 @@ enum UpdateLocationStrategy {
8081 hideCircularWidget: hideCircularWidget,
8182 editorFrameExpendedSize: editorFrameExpendedSize
8283 )
84+
85+ frames. sharedPanelLocation. frame. size. height = max (
86+ frames. defaultPanelLocation. frame. height,
87+ editorFrame. height - Style. widgetHeight
88+ )
89+ frames. defaultPanelLocation. frame. size. height = max (
90+ frames. defaultPanelLocation. frame. height,
91+ ( editorFrame. height - Style. widgetHeight) / 2
92+ )
93+ return frames
8394 }
8495 }
8596
@@ -155,6 +166,10 @@ enum UpdateLocationStrategy {
155166 return . init(
156167 widgetFrame: widgetFrameOnTheRightSide,
157168 tabFrame: tabFrame,
169+ sharedPanelLocation: . init(
170+ frame: panelFrame,
171+ alignPanelTop: alignPanelTopToAnchor
172+ ) ,
158173 defaultPanelLocation: . init(
159174 frame: panelFrame,
160175 alignPanelTop: alignPanelTopToAnchor
@@ -214,6 +229,10 @@ enum UpdateLocationStrategy {
214229 return . init(
215230 widgetFrame: widgetFrameOnTheLeftSide,
216231 tabFrame: tabFrame,
232+ sharedPanelLocation: . init(
233+ frame: panelFrame,
234+ alignPanelTop: alignPanelTopToAnchor
235+ ) ,
217236 defaultPanelLocation: . init(
218237 frame: panelFrame,
219238 alignPanelTop: alignPanelTopToAnchor
@@ -241,6 +260,10 @@ enum UpdateLocationStrategy {
241260 return . init(
242261 widgetFrame: widgetFrameOnTheRightSide,
243262 tabFrame: tabFrame,
263+ sharedPanelLocation: . init(
264+ frame: panelFrame,
265+ alignPanelTop: alignPanelTopToAnchor
266+ ) ,
244267 defaultPanelLocation: . init(
245268 frame: panelFrame,
246269 alignPanelTop: alignPanelTopToAnchor
0 commit comments