From a4af5d51e8fbb8a0e53f98aa9f9e238536aaba24 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Fri, 12 Jun 2026 21:08:39 +0800
Subject: [PATCH] Render split view spaces with ordered app halves

---
 C1.source/Sources/Aligner/QuickSwitchSessionController.swift |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/C1.source/Sources/Aligner/QuickSwitchSessionController.swift b/C1.source/Sources/Aligner/QuickSwitchSessionController.swift
index 5a406f5..645a35b 100644
--- a/C1.source/Sources/Aligner/QuickSwitchSessionController.swift
+++ b/C1.source/Sources/Aligner/QuickSwitchSessionController.swift
@@ -86,6 +86,7 @@
     private var lifecycleResidualOverlayWindows = 0
     private var lifecycleResidualVisibleOverlayWindows = 0
     var onSnapshotUpdated: (() -> Void)?
+    var onOpenSettings: (() -> Void)?
 
     private struct PendingCloseVerification {
         let request: QuickSwitchCloseRequest
@@ -211,6 +212,9 @@
         }
         view.onBackgroundClick = { [weak self] in
             self?.handleBackgroundClick() ?? false
+        }
+        view.onOpenSettings = { [weak self] in
+            self?.onOpenSettings?()
         }
         view.setSuppressEventInput(!debugMouseSequence.isEmpty || !debugKeySequence.isEmpty)
         view.onRequestClose = { [weak self] request in
@@ -840,12 +844,12 @@
                 "result": Self.closeResultString(result)
             ])
             if result == .requested {
-                suppressCloseTarget(request)
                 DevelopmentDiagnostics.log("quickSwitch.close.request.refreshAfterClose", [
                     "targetKind": request.kindDescription,
                     "appGroupIndex": request.appGroupIndex,
                     "appName": request.appName,
-                    "windowID": request.windowID
+                    "windowID": request.windowID,
+                    "optimisticRemove": false
                 ])
                 pendingCloseVerification = PendingCloseVerification(
                     request: request,
@@ -1474,6 +1478,7 @@
     let fixtureCandidateFiltering: Bool
     let fixtureActivation: Bool
     let fixtureSpaceFilter: Bool
+    let fixtureSplitView: Bool
     let debugHoveredAppGroupIndex: Int?
     let debugOverlayWidth: CGFloat?
     let debugKeySequence: [String]
@@ -1502,6 +1507,7 @@
             fixtureCandidateFiltering: arguments.contains("--round01-fixture-candidate-filtering"),
             fixtureActivation: arguments.contains("--round01-fixture-window-activation"),
             fixtureSpaceFilter: arguments.contains("--round01-fixture-space-filter"),
+            fixtureSplitView: arguments.contains("--round01-fixture-split-view"),
             debugHoveredAppGroupIndex: intValue(for: "--round01-debug-hover-app-index", in: arguments),
             debugOverlayWidth: cgFloatValue(for: "--round01-debug-overlay-width", in: arguments),
             debugKeySequence: stringListValue(for: "--round01-debug-key-sequence", in: arguments),

--
Gitblit v1.9.3