@@ -971,6 +971,7 @@ final class AppModel: NSObject, ObservableObject {
971971 static var globalDismissSearchBubble : ( ( ) -> Void ) ? = nil
972972 static var globalRequestEnsureWindowSize : ( ( ) -> Void ) ? = nil
973973 static var globalRequestEnsureWindowSizeAnimated : ( ( ) -> Void ) ? = nil
974+ static var globalEnsureInitialWindowPosition : ( ( ) -> Void ) ? = nil
974975 static var allowBecomeKey : Bool = true
975976 static var globalEnsureWindowSize : ( ( ) -> Void ) ? = nil
976977 static var globalCycleProfile : ( ( ) -> Void ) ? = nil
@@ -1038,6 +1039,7 @@ final class AppModel: NSObject, ObservableObject {
10381039 AppModel . globalIsAwaitingKill = { [ weak self] in self ? . awaitingKillSelection ?? false }
10391040 AppModel . globalRequestEnsureWindowSize = { [ weak self] in self ? . requestEnsureWindowSize ( animated: false ) }
10401041 AppModel . globalRequestEnsureWindowSizeAnimated = { [ weak self] in self ? . requestEnsureWindowSize ( animated: true ) }
1042+ AppModel . globalEnsureInitialWindowPosition = { [ weak self] in self ? . ensureInitialWindowPosition ( ) }
10411043 AppModel . globalShowAuthPanel = { [ weak self] in
10421044 guard let self else { return }
10431045 Task { @MainActor in
@@ -7516,6 +7518,29 @@ Formatting Requirements:
75167518 self . updateWindowSizeForState ( animated: false )
75177519 }
75187520
7521+ func ensureInitialWindowPosition( ) {
7522+ guard let w = findMainPanelWindow ( ) ?? NSApp . windows. first ( where: { $0. isVisible } ) else { return }
7523+
7524+ // Normalize size
7525+ let targetWidth : CGFloat = 1000
7526+ let targetHeight : CGFloat = 680 // Standard height for initial launch
7527+
7528+ // Find screen center
7529+ let screen = w. screen ?? NSScreen . main ?? NSScreen . screens. first
7530+ if let screen = screen {
7531+ let visibleFrame = screen. visibleFrame
7532+ let x = visibleFrame. midX - ( targetWidth / 2 )
7533+ let y = visibleFrame. midY - ( targetHeight / 2 )
7534+
7535+ let newFrame = NSRect ( x: x, y: y, width: targetWidth, height: targetHeight)
7536+ w. setFrame ( newFrame, display: true )
7537+ } else {
7538+ // Fallback if no screen detected (unlikely)
7539+ w. setContentSize ( NSSize ( width: targetWidth, height: targetHeight) )
7540+ w. center ( )
7541+ }
7542+ }
7543+
75197544 private func setWindowHeight( _ height: CGFloat , animated: Bool ) {
75207545 guard let w = findMainPanelWindow ( ) ?? NSApp . windows. first ( where: { $0. isVisible } ) else { return }
75217546 // Skip if no meaningful height change
0 commit comments