diff --git a/Sources/AppBundle/command/impl/DebugWindowsCommand.swift b/Sources/AppBundle/command/impl/DebugWindowsCommand.swift index 9de9a759..2c62ae49 100644 --- a/Sources/AppBundle/command/impl/DebugWindowsCommand.swift +++ b/Sources/AppBundle/command/impl/DebugWindowsCommand.swift @@ -42,7 +42,7 @@ struct DebugWindowsCommand: Command { switch debugWindowsState { case .recording: debugWindowsState = .notRecording - io.out(debugWindowsLog.values + ["\n"]) + io.out(debugWindowsLog.values.joined(separator: "\n\n") + "\n") io.out(disclaimer + "\n") io.out("Debug session finished" + "\n") debugWindowsLog = [:] diff --git a/Sources/AppBundle/tree/MacWindow.swift b/Sources/AppBundle/tree/MacWindow.swift index 797cccc9..7a916990 100644 --- a/Sources/AppBundle/tree/MacWindow.swift +++ b/Sources/AppBundle/tree/MacWindow.swift @@ -86,8 +86,11 @@ final class MacWindow: Window, CustomStringConvertible { case .tilingContainer, .workspace, .macosHiddenAppsWindowsContainer, .macosFullscreenWindowsContainer: let deadWindowFocus = deadWindowWorkspace.toLiveFocus() _ = setFocus(to: deadWindowFocus) + // Guard against "Apple Reminders popup" bug: https://github.com/nikitabobko/AeroSpace/issues/201 if focus.windowOrNil?.app != app { - deadWindowFocus.windowOrNil?.nativeFocus() // force focus + // Force focus to fix macOS annoyance with focused apps without windows. + // https://github.com/nikitabobko/AeroSpace/issues/65 + deadWindowFocus.windowOrNil?.nativeFocus() } case .macosPopupWindowsContainer, .macosMinimizedWindowsContainer: break // Don't switch back on popup destruction @@ -309,7 +312,7 @@ func isDialogHeuristic(_ axWindow: AXUIElement, _ app: MacApp) -> Bool { return true } // Firefox: Picture in Picture window doesn't have minimize button. - // todo. bug: when firefox shows non-native fullscreen, minimize button disables for all other windows + // todo. bug: when firefox shows non-native fullscreen, minimize button is disabled for all other windows if app.isFirefox() && axWindow.get(Ax.minimizeButtonAttr)?.get(Ax.enabledAttr) != true { return true } diff --git a/Sources/Common/cmdHelpGenerated.swift b/Sources/Common/cmdHelpGenerated.swift index 390bc6e1..431d5ff9 100644 --- a/Sources/Common/cmdHelpGenerated.swift +++ b/Sources/Common/cmdHelpGenerated.swift @@ -17,7 +17,7 @@ let config_help_generated = """ OR: config [-h|--help] --config-path """ let debug_windows_help_generated = """ - USAGE: debug-windows [-h|--help] + USAGE: debug-windows [-h|--help] [--window-id ] """ let enable_help_generated = """ USAGE: enable [-h|--help] toggle diff --git a/Sources/Common/util/commonUtil.swift b/Sources/Common/util/commonUtil.swift index 18d1d2e5..c45aba36 100644 --- a/Sources/Common/util/commonUtil.swift +++ b/Sources/Common/util/commonUtil.swift @@ -25,7 +25,7 @@ public func errorT( Message: \(_message) Version: \(aeroSpaceAppVersion) Git hash: \(gitHash) - Date: \(Date()) + Date: \(Date.now) macOS version: \(ProcessInfo().operatingSystemVersionString) Coordinate: \(file):\(line):\(column) \(function) recursionDetectorDuringFailure: \(recursionDetectorDuringFailure) diff --git a/docs/aerospace-debug-windows.adoc b/docs/aerospace-debug-windows.adoc index 342a705c..fd3fd582 100644 --- a/docs/aerospace-debug-windows.adoc +++ b/docs/aerospace-debug-windows.adoc @@ -9,7 +9,7 @@ include::util/man-attributes.adoc[] == Synopsis [verse] // tag::synopsis[] -aerospace debug-windows [-h|--help] +aerospace debug-windows [-h|--help] [--window-id ] // end::synopsis[] diff --git a/run-tests.sh b/run-tests.sh index 04c0a9fb..39168acd 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -2,11 +2,13 @@ cd "$(dirname "$0")" source ./script/setup.sh -# ./build-debug.sh || exit 125 # `git bisect run` compatible +./build-debug.sh swift test -./run-cli.sh -h -./run-cli.sh -v +./.debug/aerospace -h > /dev/null +./.debug/aerospace --help > /dev/null +./.debug/aerospace -v | grep -q "0.0.0-SNAPSHOT SNAPSHOT" +./.debug/aerospace --version | grep -q "0.0.0-SNAPSHOT SNAPSHOT" ./script/install-dep.sh --swiftlint ./.deps/swiftlint/swiftlint lint --quiet