From 0a64c8163445e27f5123fdcf083fb3a5449b5c49 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sat, 20 Jun 2026 03:43:08 +0800
Subject: [PATCH] Fix dark Space hover readability
---
C1.source/Sources/Aligner/AlignerApplicationDelegate.swift | 67 +++++++++++++++++++++++++++++++--
1 files changed, 63 insertions(+), 4 deletions(-)
diff --git a/C1.source/Sources/Aligner/AlignerApplicationDelegate.swift b/C1.source/Sources/Aligner/AlignerApplicationDelegate.swift
index ec6e5bf..89c2a16 100644
--- a/C1.source/Sources/Aligner/AlignerApplicationDelegate.swift
+++ b/C1.source/Sources/Aligner/AlignerApplicationDelegate.swift
@@ -481,6 +481,7 @@
windowCloseService: quickSwitchWindowCloseService(),
disableScreenshotRefresh: round1QuickSwitchOptions.disableScreenshotRefresh,
waterfallViewMode: quickSwitchWaterfallViewMode(),
+ theme: quickSwitchThemePreference(),
closeConfirmationRequired: quickSwitchConfirmBeforeClose,
onCloseConfirmationDisabled: { [weak self] in
self?.setQuickSwitchConfirmBeforeClose(false)
@@ -494,8 +495,11 @@
controller.onSnapshotUpdated = { [weak self] in
self?.writeQuickSwitchReportIfNeeded()
}
- controller.onOpenSettings = { [weak self] in
- self?.showSettingsFromQuickSwitch()
+ controller.onToggleWaterfallViewMode = { [weak self] in
+ self?.toggleQuickSwitchWaterfallViewModeFromQuickSwitch()
+ }
+ controller.onToggleTheme = { [weak self] in
+ self?.toggleQuickSwitchThemeFromQuickSwitch()
}
quickSwitchSessionController = controller
}
@@ -560,6 +564,7 @@
windowCloseService: quickSwitchWindowCloseService(),
disableScreenshotRefresh: round1QuickSwitchOptions.disableScreenshotRefresh,
waterfallViewMode: quickSwitchWaterfallViewMode(),
+ theme: quickSwitchThemePreference(),
closeConfirmationRequired: quickSwitchConfirmBeforeClose,
onCloseConfirmationDisabled: { [weak self] in
self?.setQuickSwitchConfirmBeforeClose(false)
@@ -573,8 +578,11 @@
controller.onSnapshotUpdated = { [weak self] in
self?.writeQuickSwitchReportIfNeeded()
}
- controller.onOpenSettings = { [weak self] in
- self?.showSettingsFromQuickSwitch()
+ controller.onToggleWaterfallViewMode = { [weak self] in
+ self?.toggleQuickSwitchWaterfallViewModeFromQuickSwitch()
+ }
+ controller.onToggleTheme = { [weak self] in
+ self?.toggleQuickSwitchThemeFromQuickSwitch()
}
quickSwitchSessionController = controller
}
@@ -607,6 +615,8 @@
let versionBuild = appVersionBuild()
report["preferenceWaterfallViewMode"] = preferenceStore.read().quickSwitchWaterfallViewMode.rawValue
report["resolvedWaterfallViewMode"] = quickSwitchWaterfallViewMode().rawValue
+ report["preferenceTheme"] = preferenceStore.read().theme.rawValue
+ report["resolvedQuickSwitchTheme"] = quickSwitchThemePreference().rawValue
report["aboutVersion"] = versionBuild.version
report["aboutBuild"] = versionBuild.build
report["statusMenu"] = statusMenuReportDictionary()
@@ -700,6 +710,11 @@
?? preferenceStore.read().quickSwitchWaterfallViewMode
}
+ private func quickSwitchThemePreference() -> ThemePreference {
+ let theme = preferenceStore.read().theme
+ return theme == .dark ? .dark : .light
+ }
+
private func quickSwitchSpaceActivationService() -> any SpaceActivationServiceProtocol {
if round1QuickSwitchOptions.debugWindowActivation {
return DebugSpaceActivationService()
@@ -749,6 +764,50 @@
])
}
+ private func toggleQuickSwitchWaterfallViewModeFromQuickSwitch() {
+ let currentMode = quickSwitchWaterfallViewMode()
+ let nextMode: QuickSwitchWaterfallViewMode = currentMode == .horizontalMasonry
+ ? .verticalColumns
+ : .horizontalMasonry
+ DevelopmentDiagnostics.log("app.quickSwitch.waterfallViewModeToggle", [
+ "currentMode": currentMode.rawValue,
+ "nextMode": nextMode.rawValue,
+ "quickSwitchVisible": quickSwitchSessionController?.isVisible ?? false
+ ])
+ setQuickSwitchWaterfallViewMode(nextMode)
+ }
+
+ private func setQuickSwitchThemePreference(_ theme: ThemePreference) {
+ let normalizedTheme: ThemePreference = theme == .dark ? .dark : .light
+ let preferences = preferenceStore.read()
+ let updatedPreferences = AlignerPreferences(
+ showMinimizedWindows: preferences.showMinimizedWindows,
+ showFullscreenWindows: preferences.showFullscreenWindows,
+ quickSwitchWaterfallViewMode: preferences.quickSwitchWaterfallViewMode,
+ theme: normalizedTheme,
+ language: preferences.language,
+ spaceDisplayStrategy: preferences.spaceDisplayStrategy
+ )
+ preferenceStore.write(updatedPreferences)
+ quickSwitchSessionController?.setTheme(normalizedTheme)
+ writeQuickSwitchReportIfNeeded()
+ DevelopmentDiagnostics.log("app.quickSwitch.themePreferenceChanged", [
+ "theme": normalizedTheme.rawValue,
+ "quickSwitchVisible": quickSwitchSessionController?.isVisible ?? false
+ ])
+ }
+
+ private func toggleQuickSwitchThemeFromQuickSwitch() {
+ let currentTheme = quickSwitchThemePreference()
+ let nextTheme: ThemePreference = currentTheme == .dark ? .light : .dark
+ DevelopmentDiagnostics.log("app.quickSwitch.themeToggle", [
+ "currentTheme": currentTheme.rawValue,
+ "nextTheme": nextTheme.rawValue,
+ "quickSwitchVisible": quickSwitchSessionController?.isVisible ?? false
+ ])
+ setQuickSwitchThemePreference(nextTheme)
+ }
+
private func appVersionBuild() -> (version: String, build: String) {
let info = Bundle.main.infoDictionary ?? [:]
let version = info["CFBundleShortVersionString"] as? String ?? "Unknown"
--
Gitblit v1.9.3