diff --git a/macos/Ghostty.xcodeproj/project.pbxproj b/macos/Ghostty.xcodeproj/project.pbxproj index c7f5157e0..c9afa0d38 100644 --- a/macos/Ghostty.xcodeproj/project.pbxproj +++ b/macos/Ghostty.xcodeproj/project.pbxproj @@ -15,10 +15,7 @@ 8F3A9B4C2FA6B88000A18D13 /* Ghostty.sdef in Resources */ = {isa = PBXBuildFile; fileRef = 8F3A9B4B2FA6B88000A18D13 /* Ghostty.sdef */; }; 9351BE8E3D22937F003B3499 /* nvim in Resources */ = {isa = PBXBuildFile; fileRef = 9351BE8E2D22937F003B3499 /* nvim */; }; A51BFC272B30F1B800E92F16 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = A51BFC262B30F1B800E92F16 /* Sparkle */; }; - A53D0C8E2B53B0EA00305CE6 /* GhosttyKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A5D495A1299BEC7E00DD1313 /* GhosttyKit.xcframework */; }; - A53D0C952B53B4D800305CE6 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A5B30538299BEAAB0047F10C /* Assets.xcassets */; }; A546F1142D7B68D7003B11A0 /* locale in Resources */ = {isa = PBXBuildFile; fileRef = A546F1132D7B68D7003B11A0 /* locale */; }; - A553F4132E06EB1600257779 /* Ghostty.icon in Resources */ = {isa = PBXBuildFile; fileRef = A553F4122E06EB1600257779 /* Ghostty.icon */; }; A553F4142E06EB1600257779 /* Ghostty.icon in Resources */ = {isa = PBXBuildFile; fileRef = A553F4122E06EB1600257779 /* Ghostty.icon */; }; A56B880B2A840447007A0E29 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A56B880A2A840447007A0E29 /* Carbon.framework */; }; A571AB1D2A206FCF00248498 /* GhosttyKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A5D495A1299BEC7E00DD1313 /* GhosttyKit.xcframework */; }; @@ -89,7 +86,6 @@ A5B30531299BEAAA0047F10C /* Ghostty.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ghostty.app; sourceTree = BUILT_PRODUCTS_DIR; }; A5B30538299BEAAB0047F10C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; A5B3053D299BEAAB0047F10C /* Ghostty.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Ghostty.entitlements; sourceTree = ""; }; - A5D4499D2B53AE7B000F5B83 /* Ghostty-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Ghostty-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; A5D495A1299BEC7E00DD1313 /* GhosttyKit.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = GhosttyKit.xcframework; sourceTree = ""; }; FC5218F92D10FFC7004C93E0 /* zsh */ = {isa = PBXFileReference; lastKnownFileType = folder; name = zsh; path = "../zig-out/share/zsh"; sourceTree = ""; }; FC9ABA9B2D0F538D0020D4C8 /* bash-completion */ = {isa = PBXFileReference; lastKnownFileType = folder; name = "bash-completion"; path = "../zig-out/share/bash-completion"; sourceTree = ""; }; @@ -113,156 +109,9 @@ ); target = 8193244C2F24E6C000A9ED8F /* DockTilePlugin */; }; - 81F82CB02E8281F5001EDFA7 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - App/macOS/AppDelegate.swift, - "App/macOS/AppDelegate+Ghostty.swift", - App/macOS/CommandLineOpenFileFilter.swift, - App/macOS/main.swift, - App/macOS/MainMenu.xib, - Features/About/About.xib, - Features/About/AboutController.swift, - Features/About/AboutView.swift, - Features/About/AboutViewModel.swift, - Features/About/CyclingIconView.swift, - "Features/App Intents/CloseTerminalIntent.swift", - "Features/App Intents/CommandPaletteIntent.swift", - "Features/App Intents/Entities/CommandEntity.swift", - "Features/App Intents/Entities/TerminalEntity.swift", - "Features/App Intents/FocusTerminalIntent.swift", - "Features/App Intents/GetTerminalDetailsIntent.swift", - "Features/App Intents/GhosttyIntentError.swift", - "Features/App Intents/InputIntent.swift", - "Features/App Intents/IntentPermission.swift", - "Features/App Intents/KeybindIntent.swift", - "Features/App Intents/NewTerminalIntent.swift", - "Features/App Intents/QuickTerminalIntent.swift", - "Features/AppleScript/AppDelegate+AppleScript.swift", - "Features/AppleScript/Ghostty.Input.Mods+AppleScript.swift", - Features/AppleScript/ScriptInputTextCommand.swift, - Features/AppleScript/ScriptKeyEventCommand.swift, - Features/AppleScript/ScriptMouseButtonCommand.swift, - Features/AppleScript/ScriptMousePosCommand.swift, - Features/AppleScript/ScriptMouseScrollCommand.swift, - Features/AppleScript/ScriptRecord.swift, - Features/AppleScript/ScriptSurfaceConfiguration.swift, - Features/AppleScript/ScriptTab.swift, - Features/AppleScript/ScriptTerminal.swift, - Features/AppleScript/ScriptWindow.swift, - Features/ClipboardConfirmation/ClipboardConfirmation.xib, - Features/ClipboardConfirmation/ClipboardConfirmationController.swift, - Features/ClipboardConfirmation/ClipboardConfirmationView.swift, - "Features/Command Palette/CommandPalette.swift", - "Features/Command Palette/TerminalCommandPalette.swift", - "Features/Custom App Icon/AppIcon.swift", - "Features/Custom App Icon/ColorizedGhosttyIcon.swift", - "Features/Custom App Icon/ColorizedGhosttyIconImage.swift", - "Features/Custom App Icon/ColorizedGhosttyIconView.swift", - "Features/Custom App Icon/DockTilePlugin.swift", - "Features/Custom App Icon/Extensions/Notification+AppIcon.swift", - "Features/Custom App Icon/Extensions/UserDefaults+AppIcon.swift", - "Features/Global Keybinds/GlobalEventTap.swift", - Features/QuickTerminal/QuickTerminal.xib, - Features/QuickTerminal/QuickTerminalController.swift, - Features/QuickTerminal/QuickTerminalPosition.swift, - Features/QuickTerminal/QuickTerminalRestorableState.swift, - Features/QuickTerminal/QuickTerminalScreen.swift, - Features/QuickTerminal/QuickTerminalScreenStateCache.swift, - Features/QuickTerminal/QuickTerminalSize.swift, - Features/QuickTerminal/QuickTerminalSpaceBehavior.swift, - Features/QuickTerminal/QuickTerminalWindow.swift, - "Features/Secure Input/SecureInput.swift", - "Features/Secure Input/SecureInputOverlay.swift", - Features/Services/ServiceProvider.swift, - Features/Settings/ConfigurationErrors.xib, - Features/Settings/ConfigurationErrorsController.swift, - Features/Settings/ConfigurationErrorsView.swift, - Features/Settings/SettingsView.swift, - Features/Splits/SplitTree.swift, - Features/Splits/SplitView.Divider.swift, - Features/Splits/SplitView.swift, - Features/Splits/TerminalSplitTreeView.swift, - Features/Terminal/BaseTerminalController.swift, - Features/Terminal/ErrorView.swift, - Features/Terminal/TerminalController.swift, - Features/Terminal/TerminalRestorable.swift, - "Features/Terminal/TerminalRestorableState+InteralState.swift", - Features/Terminal/TerminalTabColor.swift, - Features/Terminal/TerminalView.swift, - Features/Terminal/TerminalViewContainer.swift, - "Features/Terminal/Window Styles/HiddenTitlebarTerminalWindow.swift", - "Features/Terminal/Window Styles/Terminal.xib", - "Features/Terminal/Window Styles/TerminalHiddenTitlebar.xib", - "Features/Terminal/Window Styles/TerminalTabsTitlebarTahoe.xib", - "Features/Terminal/Window Styles/TerminalTabsTitlebarVentura.xib", - "Features/Terminal/Window Styles/TerminalTransparentTitlebar.xib", - "Features/Terminal/Window Styles/TerminalWindow.swift", - "Features/Terminal/Window Styles/TitlebarTabsTahoeTerminalWindow.swift", - "Features/Terminal/Window Styles/TitlebarTabsVenturaTerminalWindow.swift", - "Features/Terminal/Window Styles/TransparentTitlebarTerminalWindow.swift", - Features/Update/UpdateBadge.swift, - Features/Update/UpdateController.swift, - Features/Update/UpdateDelegate.swift, - Features/Update/UpdateDriver.swift, - Features/Update/UpdatePill.swift, - Features/Update/UpdatePopoverView.swift, - Features/Update/UpdateSimulator.swift, - Features/Update/UpdateViewModel.swift, - "Ghostty/FullscreenMode+Extension.swift", - Ghostty/Ghostty.Error.swift, - Ghostty/Ghostty.Event.swift, - Ghostty/Ghostty.Input.swift, - Ghostty/Ghostty.MenuShortcutManager.swift, - Ghostty/Ghostty.Surface.swift, - "Ghostty/NSEvent+Extension.swift", - "Ghostty/Surface View/InspectorView.swift", - "Ghostty/Surface View/SurfaceDragSource.swift", - "Ghostty/Surface View/SurfaceGrabHandle.swift", - "Ghostty/Surface View/SurfaceScrollView.swift", - "Ghostty/Surface View/SurfaceView_AppKit.swift", - Helpers/AppInfo.swift, - Helpers/CodableBridge.swift, - Helpers/Cursor.swift, - Helpers/ExpiringUndoManager.swift, - "Helpers/Extensions/Double+Extension.swift", - "Helpers/Extensions/EventModifiers+Extension.swift", - "Helpers/Extensions/FileHandle+Extension.swift", - "Helpers/Extensions/KeyboardShortcut+Extension.swift", - "Helpers/Extensions/NSAppearance+Extension.swift", - "Helpers/Extensions/NSApplication+Extension.swift", - "Helpers/Extensions/NSColor+Extension.swift", - "Helpers/Extensions/NSImage+Extension.swift", - "Helpers/Extensions/NSMenu+Extension.swift", - "Helpers/Extensions/NSMenuItem+Extension.swift", - "Helpers/Extensions/NSPasteboard+Extension.swift", - "Helpers/Extensions/NSScreen+Extension.swift", - "Helpers/Extensions/NSView+Extension.swift", - "Helpers/Extensions/NSWindow+Extension.swift", - "Helpers/Extensions/NSWorkspace+Extension.swift", - "Helpers/Extensions/Transferable+Extension.swift", - "Helpers/Extensions/UndoManager+Extension.swift", - "Helpers/Extensions/View+Extension.swift", - Helpers/Fullscreen.swift, - Helpers/HostingWindow.swift, - Helpers/KeyboardLayout.swift, - Helpers/LastWindowPosition.swift, - Helpers/MetalView.swift, - Helpers/NonDraggableHostingView.swift, - Helpers/ObjCExceptionCatcher.m, - Helpers/PermissionRequest.swift, - Helpers/Private/CGS.swift, - Helpers/Private/Dock.swift, - Helpers/TabGroupCloseCoordinator.swift, - Helpers/TabTitleEditor.swift, - Helpers/VibrantLayer.m, - ); - target = A5D4499C2B53AE7B000F5B83 /* Ghostty-iOS */; - }; 81F82CB12E8281F9001EDFA7 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( - App/iOS/iOSApp.swift, "Features/Custom App Icon/DockTilePlugin.swift", "Ghostty/Surface View/SurfaceView_UIKit.swift", ); @@ -272,7 +121,7 @@ /* Begin PBXFileSystemSynchronizedRootGroup section */ 810ACCA02E9D3302004F8F92 /* GhosttyUITests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = GhosttyUITests; sourceTree = ""; }; - 81F82BC72E82815D001EDFA7 /* Sources */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (81F82CB12E8281F9001EDFA7 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, 81F82CB02E8281F5001EDFA7 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, 8193245D2F24E80800A9ED8F /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = Sources; sourceTree = ""; }; + 81F82BC72E82815D001EDFA7 /* Sources */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (81F82CB12E8281F9001EDFA7 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, 8193245D2F24E80800A9ED8F /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = Sources; sourceTree = ""; }; A54F45F42E1F047A0046BD5C /* Tests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = Tests; sourceTree = ""; }; /* End PBXFileSystemSynchronizedRootGroup section */ @@ -308,14 +157,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A5D4499A2B53AE7B000F5B83 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A53D0C8E2B53B0EA00305CE6 /* GhosttyKit.xcframework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -359,7 +200,6 @@ isa = PBXGroup; children = ( A5B30531299BEAAA0047F10C /* Ghostty.app */, - A5D4499D2B53AE7B000F5B83 /* Ghostty-iOS.app */, A54F45F32E1F047A0046BD5C /* GhosttyTests.xctest */, 810ACC9F2E9D3301004F8F92 /* GhosttyUITests.xctest */, 8193244D2F24E6C000A9ED8F /* DockTilePlugin.plugin */, @@ -470,26 +310,6 @@ productReference = A5B30531299BEAAA0047F10C /* Ghostty.app */; productType = "com.apple.product-type.application"; }; - A5D4499C2B53AE7B000F5B83 /* Ghostty-iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = A5D449AB2B53AE7B000F5B83 /* Build configuration list for PBXNativeTarget "Ghostty-iOS" */; - buildPhases = ( - A5D449992B53AE7B000F5B83 /* Sources */, - A5D4499A2B53AE7B000F5B83 /* Frameworks */, - A5D4499B2B53AE7B000F5B83 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - fileSystemSynchronizedGroups = ( - 81F82BC72E82815D001EDFA7 /* Sources */, - ); - name = "Ghostty-iOS"; - productName = "Ghostty-iOS"; - productReference = A5D4499D2B53AE7B000F5B83 /* Ghostty-iOS.app */; - productType = "com.apple.product-type.application"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -515,9 +335,6 @@ CreatedOnToolsVersion = 14.2; LastSwiftMigration = 1510; }; - A5D4499C2B53AE7B000F5B83 = { - CreatedOnToolsVersion = 15.2; - }; }; }; buildConfigurationList = A5B3052C299BEAAA0047F10C /* Build configuration list for PBXProject "Ghostty" */; @@ -537,7 +354,6 @@ projectRoot = ""; targets = ( A5B30530299BEAAA0047F10C /* Ghostty */, - A5D4499C2B53AE7B000F5B83 /* Ghostty-iOS */, 8193244C2F24E6C000A9ED8F /* DockTilePlugin */, A54F45F22E1F047A0046BD5C /* GhosttyTests */, 810ACC9E2E9D3301004F8F92 /* GhosttyUITests */, @@ -588,15 +404,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A5D4499B2B53AE7B000F5B83 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A53D0C952B53B4D800305CE6 /* Assets.xcassets in Resources */, - A553F4132E06EB1600257779 /* Ghostty.icon in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -651,13 +458,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A5D449992B53AE7B000F5B83 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -1241,123 +1041,6 @@ }; name = Release; }; - A5D449A82B53AE7B000F5B83 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = Ghostty; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = ""; - ENABLE_PREVIEWS = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_CFBundleDisplayName = Ghostty; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 0.1; - "OTHER_LDFLAGS[arch=*]" = "-lstdc++"; - PRODUCT_BUNDLE_IDENTIFIER = "com.mitchellh.ghostty-ios"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - A5D449A92B53AE7B000F5B83 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = Ghostty; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = ""; - ENABLE_PREVIEWS = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_CFBundleDisplayName = Ghostty; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 0.1; - "OTHER_LDFLAGS[arch=*]" = "-lstdc++"; - PRODUCT_BUNDLE_IDENTIFIER = "com.mitchellh.ghostty-ios"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - A5D449AA2B53AE7B000F5B83 /* ReleaseLocal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = Ghostty; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_ASSET_PATHS = ""; - DEVELOPMENT_TEAM = ""; - ENABLE_PREVIEWS = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_CFBundleDisplayName = Ghostty; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; - INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 17.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MARKETING_VERSION = 0.1; - "OTHER_LDFLAGS[arch=*]" = "-lstdc++"; - PRODUCT_BUNDLE_IDENTIFIER = "com.mitchellh.ghostty-ios"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = ReleaseLocal; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1411,16 +1094,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = ReleaseLocal; }; - A5D449AB2B53AE7B000F5B83 /* Build configuration list for PBXNativeTarget "Ghostty-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A5D449A82B53AE7B000F5B83 /* Debug */, - A5D449A92B53AE7B000F5B83 /* Release */, - A5D449AA2B53AE7B000F5B83 /* ReleaseLocal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = ReleaseLocal; - }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ diff --git a/macos/Sources/App/iOS/iOSApp.swift b/macos/Sources/App/iOS/iOSApp.swift deleted file mode 100644 index a1aafcc7d..000000000 --- a/macos/Sources/App/iOS/iOSApp.swift +++ /dev/null @@ -1,50 +0,0 @@ -import SwiftUI -import GhosttyKit - -@main -struct Ghostty_iOSApp: App { - @StateObject private var ghostty_app: Ghostty.App - - init() { - if ghostty_init(UInt(CommandLine.argc), CommandLine.unsafeArgv) != GHOSTTY_SUCCESS { - preconditionFailure("Initialize ghostty backend failed") - } - _ghostty_app = StateObject(wrappedValue: Ghostty.App()) - } - - var body: some Scene { - WindowGroup { - iOS_GhosttyTerminal() - .environmentObject(ghostty_app) - } - } -} - -struct iOS_GhosttyTerminal: View { - @EnvironmentObject private var ghostty_app: Ghostty.App - - var body: some View { - ZStack { - // Make sure that our background color extends to all parts of the screen - Color(ghostty_app.config.backgroundColor).ignoresSafeArea() - - Ghostty.Terminal() - } - } -} - -struct iOS_GhosttyInitView: View { - @EnvironmentObject private var ghostty_app: Ghostty.App - - var body: some View { - VStack { - Image("AppIconImage") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(maxHeight: 96) - Text("Ghostty") - Text("State: \(ghostty_app.readiness.rawValue)") - } - .padding() - } -} diff --git a/macos/Sources/Ghostty/Surface View/SurfaceView.swift b/macos/Sources/Ghostty/Surface View/SurfaceView.swift index aa153f404..3e3deb398 100644 --- a/macos/Sources/Ghostty/Surface View/SurfaceView.swift +++ b/macos/Sources/Ghostty/Surface View/SurfaceView.swift @@ -4,35 +4,6 @@ import GhosttyKit import System extension Ghostty { - /// Render a terminal for the active app in the environment. - struct Terminal: View { - @EnvironmentObject private var ghostty: Ghostty.App - - var body: some View { - if let app = self.ghostty.app { - SurfaceForApp(app) { surfaceView in - SurfaceWrapper(surfaceView: surfaceView) - } - } - } - } - - /// Yields a SurfaceView for a ghostty app that can then be used however you want. - struct SurfaceForApp: View { - let content: ((SurfaceView) -> Content) - - @StateObject private var surfaceView: SurfaceView - - init(_ app: ghostty_app_t, @ViewBuilder content: @escaping ((SurfaceView) -> Content)) { - _surfaceView = StateObject(wrappedValue: SurfaceView(app)) - self.content = content - } - - var body: some View { - content(surfaceView) - } - } - struct SurfaceWrapper: View { // The surface to create a view for. This must be created upstream. As long as this // remains the same, the surface that is being rendered remains the same.