修复:分号加粗 + 设置面板可反复打开

- drawColon 圆点半径系数 0.06→0.12,分号分隔符明显加粗
- configureSheet 由“每次新建 controller”改为复用单个 lazy controller 的 window:
  屏幕保护框架会缓存首次 configureSheet 返回的窗口引用,每次新建会导致关闭后
  再次点击复用已隐藏的旧窗口而无反应(须重启“系统设置”才能再开);复用同一
  window 使缓存引用始终有效、可反复 beginSheet
This commit is contained in:
2026-08-06 10:23:10 +08:00
parent aa1bdef697
commit 65e5ec1716
+7 -9
View File
@@ -336,7 +336,7 @@ final class FlipClockSaverView: ScreenSaverView {
ctx.saveGState() ctx.saveGState()
ctx.setFillColor(textColor.cgColor) ctx.setFillColor(textColor.cgColor)
let cx = rect.midX let cx = rect.midX
let r = min(rect.width, rect.height) * 0.06 let r = min(rect.width, rect.height) * 0.12
for cy in [rect.minY + rect.height * 0.62, rect.minY + rect.height * 0.38] { for cy in [rect.minY + rect.height * 0.62, rect.minY + rect.height * 0.38] {
ctx.fillEllipse(in: CGRect(x: cx - r, y: cy - r, width: r * 2, height: r * 2)) ctx.fillEllipse(in: CGRect(x: cx - r, y: cy - r, width: r * 2, height: r * 2))
} }
@@ -410,15 +410,13 @@ final class FlipClockSaverView: ScreenSaverView {
// MARK: // MARK:
override var hasConfigureSheet: Bool { true } override var hasConfigureSheet: Bool { true }
// controllerNSControl.target // controller/window configureSheet
// controller / // window
private var configControllers: [FlipClockConfigController] = [] // endSheet
private lazy var configController: FlipClockConfigController = FlipClockConfigController()
override var configureSheet: NSWindow? { override var configureSheet: NSWindow? {
// configController.reloadValues()
let controller = FlipClockConfigController() return configController.window
controller.reloadValues()
configControllers.append(controller)
return controller.window
} }
@objc private func handleSettingsChanged(_ note: Notification) { @objc private func handleSettingsChanged(_ note: Notification) {