gitextract_klfaytgz/ ├── .bundle/ │ └── config ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── DISCUSSION_TEMPLATE/ │ │ └── potential-bugs.yml │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ └── new-issue.yml │ ├── gh-actions-runner-xcode-select.sh │ ├── pull_request_template.md │ └── workflows/ │ ├── build.yml │ └── close-third-party-issues.yml ├── .gitignore ├── .swift-version ├── .swiftformat ├── .swiftlint.yml ├── AeroSpace.xcodeproj/ │ ├── project.pbxproj │ └── project.xcworkspace/ │ └── contents.xcworkspacedata ├── CONTRIBUTING.md ├── Gemfile ├── LICENSE.txt ├── Package.resolved ├── Package.swift ├── README.md ├── ShellParserGenerated/ │ ├── .gitignore │ ├── Package.swift │ └── Sources/ │ └── ShellParserGenerated/ │ ├── ShellLexer.swift │ └── ShellParser.swift ├── Sources/ │ ├── AeroSpaceApp/ │ │ └── AeroSpaceApp.swift │ ├── AppBundle/ │ │ ├── GlobalObserver.swift │ │ ├── command/ │ │ │ ├── CmdEnv.swift │ │ │ ├── CmdIo.swift │ │ │ ├── Command.swift │ │ │ ├── cmdManifest.swift │ │ │ ├── cmdResolveTargetOrReportError.swift │ │ │ ├── format.swift │ │ │ ├── formatToJson.swift │ │ │ ├── impl/ │ │ │ │ ├── BalanceSizesCommand.swift │ │ │ │ ├── CloseAllWindowsButCurrentCommand.swift │ │ │ │ ├── CloseCommand.swift │ │ │ │ ├── ConfigCommand.swift │ │ │ │ ├── DebugWindowsCommand.swift │ │ │ │ ├── EnableCommand.swift │ │ │ │ ├── ExecAndForgetCommand.swift │ │ │ │ ├── FlattenWorkspaceTreeCommand.swift │ │ │ │ ├── FocusBackAndForthCommand.swift │ │ │ │ ├── FocusCommand.swift │ │ │ │ ├── FocusMonitorCommand.swift │ │ │ │ ├── FullscreenCommand.swift │ │ │ │ ├── JoinWithCommand.swift │ │ │ │ ├── LayoutCommand.swift │ │ │ │ ├── ListAppsCommand.swift │ │ │ │ ├── ListExecEnvVarsCommand.swift │ │ │ │ ├── ListModesCommand.swift │ │ │ │ ├── ListMonitorsCommand.swift │ │ │ │ ├── ListWindowsCommand.swift │ │ │ │ ├── ListWorkspacesCommand.swift │ │ │ │ ├── MacosNativeFullscreenCommand.swift │ │ │ │ ├── MacosNativeMinimizeCommand.swift │ │ │ │ ├── ModeCommand.swift │ │ │ │ ├── MoveCommand.swift │ │ │ │ ├── MoveMouseCommand.swift │ │ │ │ ├── MoveNodeToMonitorCommand.swift │ │ │ │ ├── MoveNodeToWorkspaceCommand.swift │ │ │ │ ├── MoveWorkspaceToMonitorCommand.swift │ │ │ │ ├── ReloadConfigCommand.swift │ │ │ │ ├── ResizeCommand.swift │ │ │ │ ├── SplitCommand.swift │ │ │ │ ├── SummonWorkspaceCommand.swift │ │ │ │ ├── SwapCommand.swift │ │ │ │ ├── TriggerBindingCommand.swift │ │ │ │ ├── VolumeCommand.swift │ │ │ │ ├── WorkspaceBackAndForthCommand.swift │ │ │ │ └── WorkspaceCommand.swift │ │ │ └── parseCommand.swift │ │ ├── config/ │ │ │ ├── Config.swift │ │ │ ├── ConfigFile.swift │ │ │ ├── ConfigFileWatcher.swift │ │ │ ├── DynamicConfigValue.swift │ │ │ ├── HotkeyBinding.swift │ │ │ ├── Mode.swift │ │ │ ├── keysMap.swift │ │ │ ├── parseConfig.swift │ │ │ ├── parseExecEnvVariables.swift │ │ │ ├── parseGaps.swift │ │ │ ├── parseKeyMapping.swift │ │ │ ├── parseOnWindowDetected.swift │ │ │ ├── parseWorkspaceToMonitorAssignment.swift │ │ │ └── startAtLogin.swift │ │ ├── focus.swift │ │ ├── focusCache.swift │ │ ├── getNativeFocusedWindow.swift │ │ ├── initAppBundle.swift │ │ ├── layout/ │ │ │ ├── layoutRecursive.swift │ │ │ └── refresh.swift │ │ ├── model/ │ │ │ ├── AxUiElementWindowType.swift │ │ │ ├── Json.swift │ │ │ ├── KnownBundleId.swift │ │ │ ├── Monitor.swift │ │ │ ├── MonitorDescriptionEx.swift │ │ │ ├── MonitorEx.swift │ │ │ ├── Rect.swift │ │ │ └── ServerEvent.swift │ │ ├── mouse/ │ │ │ ├── mouse.swift │ │ │ ├── moveWithMouse.swift │ │ │ └── resizeWithMouse.swift │ │ ├── normalizeLayoutReason.swift │ │ ├── runLoop.swift │ │ ├── server.swift │ │ ├── shell/ │ │ │ └── Shell.swift │ │ ├── subscriptions.swift │ │ ├── tree/ │ │ │ ├── AbstractApp.swift │ │ │ ├── MacApp.swift │ │ │ ├── MacWindow.swift │ │ │ ├── MacosUnconventionalWindowsContainer.swift │ │ │ ├── TilingContainer.swift │ │ │ ├── TreeNode.swift │ │ │ ├── TreeNodeCases.swift │ │ │ ├── TreeNodeEx.swift │ │ │ ├── Window.swift │ │ │ ├── Workspace.swift │ │ │ ├── WorkspaceEx.swift │ │ │ ├── frozen/ │ │ │ │ ├── FrozenTreeNode.swift │ │ │ │ ├── FrozenWorld.swift │ │ │ │ └── closedWindowsCache.swift │ │ │ └── normalizeContainers.swift │ │ ├── ui/ │ │ │ ├── AppearanceTheme.swift │ │ │ ├── ExperimentalUISettings.swift │ │ │ ├── MenuBar.swift │ │ │ ├── MenuBarLabel.swift │ │ │ ├── MessageView.swift │ │ │ ├── NSPanelHud.swift │ │ │ ├── SecureInputView.swift │ │ │ ├── TrayMenuModel.swift │ │ │ └── VolumeView.swift │ │ ├── util/ │ │ │ ├── ArrayEx.swift │ │ │ ├── AwaitableOneTimeBroadcastLatch.swift │ │ │ ├── AxSubscription.swift │ │ │ ├── AxUiElementMock.swift │ │ │ ├── LazySequenceProtocolEx.swift │ │ │ ├── MruStack.swift │ │ │ ├── NSRunningApplicationEx.swift │ │ │ ├── NsApplicationEx.swift │ │ │ ├── SetEx.swift │ │ │ ├── ThreadGuardedValue.swift │ │ │ ├── UniqueToken.swift │ │ │ ├── accessibility.swift │ │ │ ├── appBundleUtil.swift │ │ │ ├── axTrustedCheckOptionPrompt.swift │ │ │ └── dumpAxRecursive.swift │ │ └── windowLevelCache.swift │ ├── AppBundleTests/ │ │ ├── AxUiElementWindowTypeTest.swift │ │ ├── assert.swift │ │ ├── command/ │ │ │ ├── BalanceSizesCommandTest.swift │ │ │ ├── CloseCommandTest.swift │ │ │ ├── ExecCommandTest.swift │ │ │ ├── FlattenWorkspaceTreeCommandTest.swift │ │ │ ├── FocusCommandTest.swift │ │ │ ├── JoinWithCommandTest.swift │ │ │ ├── ListAppsTest.swift │ │ │ ├── ListModesTest.swift │ │ │ ├── ListMonitorsTest.swift │ │ │ ├── ListWindowsTest.swift │ │ │ ├── ListWorkspacesTest.swift │ │ │ ├── MoveCommandTest.swift │ │ │ ├── MoveNodeToMonitorCommandTest.swift │ │ │ ├── MoveNodeToWorkspaceCommandTest.swift │ │ │ ├── ResizeCommandTest.swift │ │ │ ├── SplitCommandTest.swift │ │ │ ├── SubscribeCmdArgsTest.swift │ │ │ ├── SummonWorkspaceCommandTest.swift │ │ │ ├── SwapCommandTest.swift │ │ │ └── WorkspaceCommandTest.swift │ │ ├── config/ │ │ │ ├── ConfigTest.swift │ │ │ ├── ParseEnvVariablesTest.swift │ │ │ └── SplitArgsTest.swift │ │ ├── model/ │ │ │ └── ClientServerTest.swift │ │ ├── shell/ │ │ │ └── ShellTest.swift │ │ ├── testExtensions.swift │ │ ├── testUtil.swift │ │ └── tree/ │ │ ├── TestApp.swift │ │ ├── TestWindow.swift │ │ ├── TilingContainer.swift │ │ └── TreeNodeTest.swift │ ├── Cli/ │ │ ├── _main.swift │ │ ├── cliUtil.swift │ │ └── subcommandDescriptionsGenerated.swift │ ├── Common/ │ │ ├── appMetadata.swift │ │ ├── cmdArgs/ │ │ │ ├── ArgParser.swift │ │ │ ├── ArgParserInput.swift │ │ │ ├── SubArgParser.swift │ │ │ ├── cmdArgsManifest.swift │ │ │ ├── impl/ │ │ │ │ ├── BalanceSizesCmdArgs.swift │ │ │ │ ├── CloseAllWindowsButCurrentCmdArgs.swift │ │ │ │ ├── CloseCmdArgs.swift │ │ │ │ ├── ConfigCmdArgs.swift │ │ │ │ ├── DebugWindowsCmdArgs.swift │ │ │ │ ├── EnableCmdArgs.swift │ │ │ │ ├── ExecAndForgetCmdArgs.swift │ │ │ │ ├── FlattenWorkspaceTreeCmdArgs.swift │ │ │ │ ├── FocusBackAndForthCmdArgs.swift │ │ │ │ ├── FocusCmdArgs.swift │ │ │ │ ├── FocusMonitorCmdArgs.swift │ │ │ │ ├── FullscreenCmdArgs.swift │ │ │ │ ├── JoinWithCmdArgs.swift │ │ │ │ ├── LayoutCmdArgs.swift │ │ │ │ ├── ListAppsCmdArgs.swift │ │ │ │ ├── ListExecEnvVarsCmdArgs.swift │ │ │ │ ├── ListModesCmdArgs.swift │ │ │ │ ├── ListMonitorsCmdArgs.swift │ │ │ │ ├── ListWindowsCmdArgs.swift │ │ │ │ ├── ListWorkspacesCmdArgs.swift │ │ │ │ ├── MacosNativeFullscreenCmdArgs.swift │ │ │ │ ├── MacosNativeMinimizeCmdArgs.swift │ │ │ │ ├── ModeCmdArgs.swift │ │ │ │ ├── MoveCmdArgs.swift │ │ │ │ ├── MoveMouseCmdArgs.swift │ │ │ │ ├── MoveNodeToMonitorCmdArgs.swift │ │ │ │ ├── MoveNodeToWorkspaceCmdArgs.swift │ │ │ │ ├── MoveWorkpsaceToMonitorCmdArgs.swift │ │ │ │ ├── ReloadConfigCmdArgs.swift │ │ │ │ ├── ResizeCmdArgs.swift │ │ │ │ ├── SplitCmdArgs.swift │ │ │ │ ├── SubscribeCmdArgs.swift │ │ │ │ ├── SummonWorkspaceCmdArgs.swift │ │ │ │ ├── SwapCmdArgs.swift │ │ │ │ ├── TriggerBindingCmdArgs.swift │ │ │ │ ├── VolumeCmdArgs.swift │ │ │ │ ├── WorkspaceBackAndForthCmdArgs.swift │ │ │ │ └── WorkspaceCmdArgs.swift │ │ │ ├── parseCmdArgs.swift │ │ │ ├── parseSpecificCmdArgs.swift │ │ │ ├── splitArgs.swift │ │ │ └── subcommandParsers.swift │ │ ├── cmdHelpGenerated.swift │ │ ├── gitHashGenerated.swift │ │ ├── model/ │ │ │ ├── AeroSpaceEnvVars.swift │ │ │ ├── AxAppThreadToken.swift │ │ │ ├── CardinalDirection.swift │ │ │ ├── CardinalOrDfsDirection.swift │ │ │ ├── DfsNextPrev.swift │ │ │ ├── Init.swift │ │ │ ├── MonitorDescription.swift │ │ │ ├── NextPrev.swift │ │ │ ├── Orientation.swift │ │ │ ├── WorkspaceName.swift │ │ │ ├── clientServer.swift │ │ │ └── sponsorshipPrompts.swift │ │ ├── util/ │ │ │ ├── AeroAny.swift │ │ │ ├── ArrSlice.swift │ │ │ ├── BoolEx.swift │ │ │ ├── CollectionEx.swift │ │ │ ├── ComparableEx.swift │ │ │ ├── ConvenienceCopyable.swift │ │ │ ├── DictionaryEx.swift │ │ │ ├── EquatableNoop.swift │ │ │ ├── JsonEncoderEx.swift │ │ │ ├── Lateinit.swift │ │ │ ├── MainActorEx.swift │ │ │ ├── NWConnectionEx.swift │ │ │ ├── Nullable.swift │ │ │ ├── OptionalEx.swift │ │ │ ├── ResultEx.swift │ │ │ ├── SequenceEx.swift │ │ │ ├── StringEx.swift │ │ │ ├── StringLogicalSegments.swift │ │ │ ├── commonUtil.swift │ │ │ └── showMessageInGui.swift │ │ └── versionGenerated.swift │ └── PrivateApi/ │ └── include/ │ ├── module.modulemap │ ├── private.h │ └── private.m ├── axDumps/ │ ├── 1password.json5 │ ├── 1password_large_type_window.json5 │ ├── 1password_mini_window.json5 │ ├── about_this_mac.json5 │ ├── alacritty_decorations_buttonless.json5 │ ├── apple_calendar.json5 │ ├── apple_calendar_settings.json5 │ ├── apple_followup_sign_in_to_a_new_device_confirmation.json5 │ ├── apple_mail.json5 │ ├── apple_mail_new_email.json5 │ ├── apple_mail_settings.json5 │ ├── archiveutility.json5 │ ├── brave.json5 │ ├── brave_pip.json5 │ ├── calculator.json5 │ ├── choose_1_5_0.json5 │ ├── chrome.json5 │ ├── chrome_choose_what_to_share_popup.json5 │ ├── chrome_extensions_popup.json5 │ ├── chrome_find_in_page.json5 │ ├── chrome_pip.json5 │ ├── chrome_sharing_is_in_progress_popup.json5 │ ├── cleanshotx_monitor_1.json5 │ ├── cleanshotx_monitor_2.json5 │ ├── drracket.json5 │ ├── finder.json5 │ ├── finder_quick_look.json5 │ ├── firefox.json5 │ ├── firefox_extensions_popup.json5 │ ├── firefox_mouse_hover_over_extensions_button.json5 │ ├── firefox_mouse_hover_over_tab.json5 │ ├── firefox_non_native_fullscreen.json5 │ ├── firefox_normal_window_when_non_native_fullscreen_in_background.json5 │ ├── firefox_pinterest_sign_in_with_google.json5 │ ├── firefox_pip.json5 │ ├── ghostty.json5 │ ├── ghostty_about.json5 │ ├── ghostty_check_for_updates_1_dialog.json5 │ ├── ghostty_check_for_updates_2_alert.json5 │ ├── ghostty_config_error.json5 │ ├── ghostty_quick_terminal.json5 │ ├── ghostty_window_decorations_false.json5 │ ├── intellij.json5 │ ├── intellij_background_tasks.json5 │ ├── intellij_context_menu.json5 │ ├── intellij_native_open_window.json5 │ ├── intellij_quick_doc_popup.json5 │ ├── intellij_rebase_dialog.json5 │ ├── iphonesimulator.json5 │ ├── iterm2.json5 │ ├── iterm2_hotkey_window.json5 │ ├── iterm2_no_title_bar.json5 │ ├── jetbrains_toolbox.json5 │ ├── karabiner_event_viewer.json5 │ ├── karabiner_settings.json5 │ ├── kitty_quick_access.json5 │ ├── macos_capslock_popup_safari.json5 │ ├── macos_capslock_popup_textedit.json5 │ ├── macos_join_network.json5 │ ├── macos_share_window_purple_pill_sublime.json5 │ ├── marta.json5 │ ├── microsoft_edge.json5 │ ├── microsoft_edge_pip.json5 │ ├── mpv_fullscreen.json5 │ ├── mpv_windowed.json5 │ ├── nomachine_session_1.json5 │ ├── nomachine_session_2.json5 │ ├── nomachine_welcome_window_1.json5 │ ├── nomachine_welcome_window_2.json5 │ ├── qutebrowser.json5 │ ├── qutebrowser_context_menu.json5 │ ├── qutebrowser_hide_decoration.json5 │ ├── raycast.json5 │ ├── raycast_settings.json5 │ ├── safari.json5 │ ├── safari_pinterest_sign_in_with_google.json5 │ ├── scenario_firefox_google_meet_share_window/ │ │ ├── 01_firefox.json5 │ │ ├── 02_firefox.json5 │ │ ├── 03_firefox.json5 │ │ ├── 04_firefox.json5 │ │ ├── 05_apple_controlcenter.json5 │ │ ├── 06_firefox.json5 │ │ ├── 07_firefox.json5 │ │ └── README.md │ ├── slack.json5 │ ├── slack_chat_in_a_separate_window.json5 │ ├── slack_huddle_share_screen_draw_on_screen_fake_window.json5 │ ├── slack_huddle_share_screen_floating_popup.json5 │ ├── slack_huddle_share_screen_target_picker.json5 │ ├── spotify.json5 │ ├── spotify_miniplayer.json5 │ ├── steam_1.json5 │ ├── steam_2.json5 │ ├── sublime_text_4.json5 │ ├── system_settings.json5 │ ├── telegram.json5 │ ├── telegram_image_viewer.json5 │ ├── terminal_app.json5 │ ├── transmission.json5 │ ├── transmission_torrent_inspector.json5 │ ├── vlc_empty.json5 │ ├── vlc_fullscreen.json5 │ ├── vlc_video_playing.json5 │ ├── vs_code.json5 │ ├── vs_code_nativeFullScreen_false.json5 │ ├── vs_codium.json5 │ ├── vs_codium_nativeFullScreen_false.json5 │ ├── xcode.json5 │ ├── xcode_build_succeeded_popup.json5 │ ├── xcode_installing_system_components.json5 │ ├── xcode_open_quickly.json5 │ ├── xcode_quick_actions.json5 │ ├── xcode_settings.json5 │ ├── xcode_welcome_window.json5 │ ├── zebar.json5 │ ├── zed.json5 │ ├── zen_browser.json5 │ └── zen_browser_pip.json5 ├── build-debug.sh ├── build-docs.sh ├── build-release.sh ├── build-shell-completion.sh ├── dev-docs/ │ ├── architecture.md │ └── development.md ├── docs/ │ ├── aerospace-balance-sizes.adoc │ ├── aerospace-close-all-windows-but-current.adoc │ ├── aerospace-close.adoc │ ├── aerospace-config.adoc │ ├── aerospace-debug-windows.adoc │ ├── aerospace-enable.adoc │ ├── aerospace-exec-and-forget.adoc │ ├── aerospace-flatten-workspace-tree.adoc │ ├── aerospace-focus-back-and-forth.adoc │ ├── aerospace-focus-monitor.adoc │ ├── aerospace-focus.adoc │ ├── aerospace-fullscreen.adoc │ ├── aerospace-join-with.adoc │ ├── aerospace-layout.adoc │ ├── aerospace-list-apps.adoc │ ├── aerospace-list-exec-env-vars.adoc │ ├── aerospace-list-modes.adoc │ ├── aerospace-list-monitors.adoc │ ├── aerospace-list-windows.adoc │ ├── aerospace-list-workspaces.adoc │ ├── aerospace-macos-native-fullscreen.adoc │ ├── aerospace-macos-native-minimize.adoc │ ├── aerospace-mode.adoc │ ├── aerospace-move-mouse.adoc │ ├── aerospace-move-node-to-monitor.adoc │ ├── aerospace-move-node-to-workspace.adoc │ ├── aerospace-move-workspace-to-monitor.adoc │ ├── aerospace-move.adoc │ ├── aerospace-reload-config.adoc │ ├── aerospace-resize.adoc │ ├── aerospace-split.adoc │ ├── aerospace-subscribe.adoc │ ├── aerospace-summon-workspace.adoc │ ├── aerospace-swap.adoc │ ├── aerospace-trigger-binding.adoc │ ├── aerospace-volume.adoc │ ├── aerospace-workspace-back-and-forth.adoc │ ├── aerospace-workspace.adoc │ ├── aerospace.adoc │ ├── commands.adoc │ ├── config-examples/ │ │ ├── default-config.toml │ │ └── i3-like-config-example.toml │ ├── goodies.adoc │ ├── guide.adoc │ ├── index.html │ └── util/ │ ├── all-monitors-option.adoc │ ├── conditional-arguments-header.adoc │ ├── conditional-examples-header.adoc │ ├── conditional-exit-code-header.adoc │ ├── conditional-options-header.adoc │ ├── conditional-output-format-header.adoc │ ├── header.adoc │ ├── man-attributes.adoc │ ├── man-footer.adoc │ ├── monitor-option.adoc │ ├── site-attributes.adoc │ ├── window-id-flag-desc.adoc │ └── workspace-flag-desc.adoc ├── format.sh ├── generate-shell-parser.sh ├── generate.sh ├── grammar/ │ ├── ShellLexer.g4 │ ├── ShellParser.g4 │ └── commands-bnf-grammar.txt ├── install-from-sources.sh ├── legal/ │ ├── README.md │ └── third-party-license/ │ ├── LICENSE-HotKey.txt │ ├── LICENSE-ISSoundAdditions.txt │ ├── LICENSE-TOMLKIT.txt │ ├── LICENSE-antlr.txt │ ├── LICENSE-swift-collections.txt │ └── LICENSE-tomlplusplus.txt ├── lint.sh ├── makefile ├── project.yml ├── resources/ │ ├── AeroSpace.entitlements │ └── Assets.xcassets/ │ ├── AccentColor.colorset/ │ │ └── Contents.json │ ├── AppIcon.appiconset/ │ │ └── Contents.json │ └── Contents.json ├── run-cli.sh ├── run-debug.sh ├── run-swift-test.sh ├── run-tests.sh └── script/ ├── build-brew-cask.sh ├── check-uncommitted-files.sh ├── clean-project.sh ├── clean-xcode.sh ├── generate-cmd-help.sh ├── install-dep.sh ├── publish-release.sh ├── reset-accessibility-permission-for-debug.sh └── setup.sh