@@ -20,6 +20,7 @@ enum UpdateLocationStrategy {
2020 mainScreen: NSScreen ,
2121 activeScreen: NSScreen ,
2222 editor: AXUIElement ,
23+ hideCircularWidget: Bool = UserDefaults . shared. value ( for: \. hideCircularWidget) ,
2324 preferredInsideEditorMinWidth: Double = UserDefaults . shared
2425 . value ( for: \. preferWidgetToStayInsideEditorWhenWidthGreaterThan)
2526 ) -> WidgetLocation {
@@ -33,7 +34,8 @@ enum UpdateLocationStrategy {
3334 return FixedToBottom ( ) . framesForWindows (
3435 editorFrame: editorFrame,
3536 mainScreen: mainScreen,
36- activeScreen: activeScreen
37+ activeScreen: activeScreen,
38+ hideCircularWidget: hideCircularWidget
3739 )
3840 }
3941 var frame : CGRect = . zero
@@ -42,7 +44,8 @@ enum UpdateLocationStrategy {
4244 return FixedToBottom ( ) . framesForWindows (
4345 editorFrame: editorFrame,
4446 mainScreen: mainScreen,
45- activeScreen: activeScreen
47+ activeScreen: activeScreen,
48+ hideCircularWidget: hideCircularWidget
4649 )
4750 }
4851 return HorizontalMovable ( ) . framesForWindows (
@@ -51,7 +54,8 @@ enum UpdateLocationStrategy {
5154 editorFrame: editorFrame,
5255 mainScreen: mainScreen,
5356 activeScreen: activeScreen,
54- preferredInsideEditorMinWidth: preferredInsideEditorMinWidth
57+ preferredInsideEditorMinWidth: preferredInsideEditorMinWidth,
58+ hideCircularWidget: hideCircularWidget
5559 )
5660 }
5761 }
@@ -61,6 +65,7 @@ enum UpdateLocationStrategy {
6165 editorFrame: CGRect ,
6266 mainScreen: NSScreen ,
6367 activeScreen: NSScreen ,
68+ hideCircularWidget: Bool = UserDefaults . shared. value ( for: \. hideCircularWidget) ,
6469 preferredInsideEditorMinWidth: Double = UserDefaults . shared
6570 . value ( for: \. preferWidgetToStayInsideEditorWhenWidthGreaterThan)
6671 ) -> WidgetLocation {
@@ -70,7 +75,8 @@ enum UpdateLocationStrategy {
7075 editorFrame: editorFrame,
7176 mainScreen: mainScreen,
7277 activeScreen: activeScreen,
73- preferredInsideEditorMinWidth: preferredInsideEditorMinWidth
78+ preferredInsideEditorMinWidth: preferredInsideEditorMinWidth,
79+ hideCircularWidget: hideCircularWidget
7480 )
7581 }
7682 }
@@ -82,7 +88,8 @@ enum UpdateLocationStrategy {
8288 editorFrame: CGRect ,
8389 mainScreen: NSScreen ,
8490 activeScreen: NSScreen ,
85- preferredInsideEditorMinWidth: Double
91+ preferredInsideEditorMinWidth: Double ,
92+ hideCircularWidget: Bool = UserDefaults . shared. value ( for: \. hideCircularWidget)
8693 ) -> WidgetLocation {
8794 let maxY = max (
8895 y,
@@ -96,12 +103,23 @@ enum UpdateLocationStrategy {
96103 . widgetPadding
97104 )
98105
99- let proposedAnchorFrameOnTheRightSide = CGRect (
100- x: editorFrame. maxX - Style. widgetPadding - Style. widgetWidth,
101- y: y,
102- width: Style . widgetWidth,
103- height: Style . widgetHeight
104- )
106+ let proposedAnchorFrameOnTheRightSide = {
107+ if hideCircularWidget {
108+ return CGRect (
109+ x: editorFrame. maxX,
110+ y: y,
111+ width: 0 ,
112+ height: 0
113+ )
114+ } else {
115+ return CGRect (
116+ x: editorFrame. maxX - Style. widgetPadding - Style. widgetWidth,
117+ y: y,
118+ width: Style . widgetWidth,
119+ height: Style . widgetHeight
120+ )
121+ }
122+ } ( )
105123
106124 let proposedPanelX = proposedAnchorFrameOnTheRightSide. maxX + Style
107125 . widgetPadding * 2
@@ -139,12 +157,23 @@ enum UpdateLocationStrategy {
139157 suggestionPanelLocation: nil
140158 )
141159 } else {
142- let proposedAnchorFrameOnTheLeftSide = CGRect (
143- x: editorFrame. minX + Style. widgetPadding,
144- y: proposedAnchorFrameOnTheRightSide. origin. y,
145- width: Style . widgetWidth,
146- height: Style . widgetHeight
147- )
160+ let proposedAnchorFrameOnTheLeftSide = {
161+ if hideCircularWidget {
162+ return CGRect (
163+ x: editorFrame. minX,
164+ y: proposedAnchorFrameOnTheRightSide. origin. y,
165+ width: 0 ,
166+ height: 0
167+ )
168+ } else {
169+ return CGRect (
170+ x: editorFrame. minX + Style. widgetPadding,
171+ y: proposedAnchorFrameOnTheRightSide. origin. y,
172+ width: Style . widgetWidth,
173+ height: Style . widgetHeight
174+ )
175+ }
176+ } ( )
148177 let proposedPanelX = proposedAnchorFrameOnTheLeftSide. minX - Style
149178 . widgetPadding * 2 - Style. panelWidth
150179 let putAnchorToTheLeft = {
0 commit comments