diff --git a/Rectangle/AccessibilityElement.swift b/Rectangle/AccessibilityElement.swift index e0878769f..864a52fd9 100644 --- a/Rectangle/AccessibilityElement.swift +++ b/Rectangle/AccessibilityElement.swift @@ -138,7 +138,7 @@ class AccessibilityElement { return childElements?.filter { $0.role == role } } - fileprivate var windowId: CGWindowID? { + var windowId: CGWindowID? { wrappedElement.getWindowId() } @@ -193,7 +193,7 @@ class AccessibilityElement { applicationElement?.getElementValue(.focusedWindow) } - private var windowElements: [AccessibilityElement]? { + var windowElements: [AccessibilityElement]? { applicationElement?.getElementsValue(.windows) } @@ -292,11 +292,6 @@ extension AccessibilityElement { return nil } - static func getTodoWindowElement() -> AccessibilityElement? { - guard let bundleIdentifier = Defaults.todoApplication.value else { return nil } - return AccessibilityElement(bundleIdentifier)?.windowElements?.first - } - static func getWindowElement(_ windowId: CGWindowID) -> AccessibilityElement? { guard let pid = WindowUtil.getWindowList([windowId]).first?.pid else { return nil } return AccessibilityElement(pid).windowElements?.first { $0.windowId == windowId } @@ -322,7 +317,7 @@ class StageWindowAccessibilityElement: AccessibilityElement { return .init(origin: info.frame.origin, size: frame.size) } - override fileprivate var windowId: CGWindowID? { + override var windowId: CGWindowID? { _windowId } } diff --git a/Rectangle/AppDelegate.swift b/Rectangle/AppDelegate.swift index 19bc273ee..09786de26 100644 --- a/Rectangle/AppDelegate.swift +++ b/Rectangle/AppDelegate.swift @@ -398,12 +398,9 @@ extension AppDelegate: NSMenuDelegate { extension AppDelegate { func initializeTodo(_ bringToFront: Bool = true) { self.showHideTodoMenuItems() - guard Defaults.todo.userEnabled else { return } - TodoManager.registerToggleShortcut() - TodoManager.registerReflowShortcut() - if Defaults.todoMode.enabled { - TodoManager.moveAll(bringToFront) - } + TodoManager.registerUnregisterToggleShortcut() + TodoManager.registerUnregisterReflowShortcut() + TodoManager.moveAllIfNeeded(bringToFront) } enum TodoItem { @@ -459,19 +456,13 @@ extension AppDelegate { } @objc func toggleTodoMode(_ sender: NSMenuItem) { - if sender.state == .off { - Defaults.todoMode.enabled = true - TodoManager.moveAll() - } else { - Defaults.todoMode.enabled = false - } + let enabled = sender.state == .off + TodoManager.setTodoMode(enabled) } @objc func setTodoApp(_ sender: NSMenuItem) { applicationToggle.setTodoApp() - if Defaults.todoMode.enabled { - TodoManager.moveAll() - } + TodoManager.moveAllIfNeeded() } @objc func todoReflow(_ sender: NSMenuItem) { diff --git a/Rectangle/Base.lproj/Main.storyboard b/Rectangle/Base.lproj/Main.storyboard index 0ef5fd30a..ae391f350 100644 --- a/Rectangle/Base.lproj/Main.storyboard +++ b/Rectangle/Base.lproj/Main.storyboard @@ -2568,15 +2568,15 @@ - - + + - + - + - + @@ -2631,7 +2631,7 @@ - + - + - +