| Apptag/ApptagApp.swift | ●●●●● patch | view | raw | blame | history | |
| Scripts/window_logic_qa.sh | ●●●●● patch | view | raw | blame | history |
Apptag/ApptagApp.swift
@@ -949,8 +949,6 @@ for startIndex in tallWindows.indices { var union = tallWindows[startIndex].frame var lastMaxX = union.maxX var distinctOwners = Swift.Set<String>() distinctOwners.insert(tallWindows[startIndex].owner) for window in tallWindows.dropFirst(startIndex + 1) { let gap = window.frame.minX - lastMaxX @@ -959,13 +957,12 @@ } union = union.union(window.frame) lastMaxX = max(lastMaxX, window.frame.maxX) distinctOwners.insert(window.owner) let touchesLeft = abs(union.minX - screenFrame.minX) <= 32 let touchesRight = abs(union.maxX - screenFrame.maxX) <= 32 let coversWidth = union.width >= screenFrame.width * 0.92 let coversHeight = union.height >= screenFrame.height * 0.86 if distinctOwners.count >= 2 && touchesLeft && touchesRight && coversWidth && coversHeight { if touchesLeft && touchesRight && coversWidth && coversHeight { return true } } @@ -1432,7 +1429,10 @@ let preferredScreen = self.overlayWindow?.screen self.detachSettingsWindow(closingWindow) self.settingsWindow = nil self.refreshLauncherChromeState(activate: shouldRefocusOverlay) self.refreshLauncherChromeState( activate: shouldRefocusOverlay && !self.overlayAvoidsSpaceSwitch, avoidSpaceSwitch: self.overlayAvoidsSpaceSwitch ) guard shouldRefocusOverlay else { return } DispatchQueue.main.asyncAfter(deadline: .now() + 0.12) { [weak self] in self?.showOrFocusOverlay(preferredScreen: preferredScreen) Scripts/window_logic_qa.sh
@@ -621,6 +621,17 @@ let overlayX = dimension(overlayBounds, "X") let overlayY = dimension(overlayBounds, "Y") print("\(Int(round(overlayX + 120))) \(Int(round(overlayY + 160)))") case "fullscreen-target-center": guard let target = raw.first(where: { ($0[kCGWindowName as String] as? String) == "TagLauncherFullscreenQATargetFullscreen" }), let bounds = target[kCGWindowBounds as String] as? NSDictionary else { fputs("FAIL: could not find fullscreen target bounds\n", stderr) exit(1) } let x = dimension(bounds, "X") let y = dimension(bounds, "Y") let width = dimension(bounds, "Width") let height = dimension(bounds, "Height") print("\(Int(round(x + width / 2))) \(Int(round(y + height / 2)))") default: fputs("FAIL: unknown coords mode \(mode)\n", stderr) exit(1) @@ -786,6 +797,14 @@ return 1 } move_pointer_to_fullscreen_target() { local coords coords="$(swift "$coords_swift" fullscreen-target-center)" read -r x y <<<"$coords" move_xy "$x" "$y" sleep 0.2 } log "==> Building app" bash "$ROOT_DIR/build.sh" >/dev/null @@ -828,6 +847,7 @@ defaults write "$DEFAULTS_DOMAIN" showDockIcon -bool "$dock_value" prepare_isolated_app_instance start_fullscreen_qa_target move_pointer_to_fullscreen_target send_main_hotkey wait_swift_assert fullscreen-overlay assert_fullscreen_overlay_stable