From 1777eac0d68807f27e26cd2a63b84b5295fe45b3 Mon Sep 17 00:00:00 2001 From: Harvey Zuccon Date: Fri, 27 Feb 2026 23:03:03 +1100 Subject: [PATCH] Start terminal with -l so user's config is imported --- Downterm/Downterm.xcodeproj/project.pbxproj | 9 +- .../UserInterfaceState.xcuserstate | Bin 24178 -> 30171 bytes .../xcshareddata/xcschemes/Downterm.xcscheme | 78 ++++++++++++++++++ .../xcschemes/Release-Downterm.xcscheme | 78 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 13 +++ .../Downterm/Models/TerminalSession.swift | 13 ++- 6 files changed, 187 insertions(+), 4 deletions(-) create mode 100644 Downterm/Downterm.xcodeproj/xcshareddata/xcschemes/Downterm.xcscheme create mode 100644 Downterm/Downterm.xcodeproj/xcshareddata/xcschemes/Release-Downterm.xcscheme diff --git a/Downterm/Downterm.xcodeproj/project.pbxproj b/Downterm/Downterm.xcodeproj/project.pbxproj index 93e17ed..52acea9 100644 --- a/Downterm/Downterm.xcodeproj/project.pbxproj +++ b/Downterm/Downterm.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 77; + objectVersion = 63; objects = { /* Begin PBXBuildFile section */ @@ -206,7 +206,6 @@ packageReferences = ( 80F03B77566BF59C9941EAD4 /* XCRemoteSwiftPackageReference "SwiftTerm" */, ); - preferredProjectObjectVersion = 77; projectDirPath = ""; projectRoot = ""; targets = ( @@ -251,8 +250,11 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_USE_OPTIMIZATION_PROFILE = YES; CODE_SIGN_ENTITLEMENTS = Downterm/Resources/Downterm.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; COMBINE_HIDPI_IMAGES = YES; + "DEVELOPMENT_TEAM[sdk=macosx*]" = G698BP272N; INFOPLIST_FILE = Downterm/Resources/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -332,8 +334,11 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_USE_OPTIMIZATION_PROFILE = YES; CODE_SIGN_ENTITLEMENTS = Downterm/Resources/Downterm.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; COMBINE_HIDPI_IMAGES = YES; + "DEVELOPMENT_TEAM[sdk=macosx*]" = G698BP272N; INFOPLIST_FILE = Downterm/Resources/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/Downterm/Downterm.xcodeproj/project.xcworkspace/xcuserdata/harvmaster.xcuserdatad/UserInterfaceState.xcuserstate b/Downterm/Downterm.xcodeproj/project.xcworkspace/xcuserdata/harvmaster.xcuserdatad/UserInterfaceState.xcuserstate index 3a96b67f6035e56db395151f461dd6100425138b..de94b2f30c628ee798d0a28a9db918435e28adf7 100644 GIT binary patch delta 17191 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 UaTP@WlNA5MoUwlQKI`27A4n-|NdN!< delta 12702 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Downterm/Downterm.xcodeproj/xcshareddata/xcschemes/Release-Downterm.xcscheme b/Downterm/Downterm.xcodeproj/xcshareddata/xcschemes/Release-Downterm.xcscheme new file mode 100644 index 0000000..a329a7f --- /dev/null +++ b/Downterm/Downterm.xcodeproj/xcshareddata/xcschemes/Release-Downterm.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Downterm/Downterm.xcodeproj/xcuserdata/harvmaster.xcuserdatad/xcschemes/xcschememanagement.plist b/Downterm/Downterm.xcodeproj/xcuserdata/harvmaster.xcuserdatad/xcschemes/xcschememanagement.plist index 14a7c50..b64e539 100644 --- a/Downterm/Downterm.xcodeproj/xcuserdata/harvmaster.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Downterm/Downterm.xcodeproj/xcuserdata/harvmaster.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,6 +9,19 @@ orderHint 0 + Release-Downterm.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 1485207FA11756EC2DF4F08B + + primary + + diff --git a/Downterm/Downterm/Models/TerminalSession.swift b/Downterm/Downterm/Models/TerminalSession.swift index 483495e..5bdbfac 100644 --- a/Downterm/Downterm/Models/TerminalSession.swift +++ b/Downterm/Downterm/Models/TerminalSession.swift @@ -36,11 +36,20 @@ class TerminalSession: NSObject, ObservableObject, LocalProcessDelegate, Termina private func startShell() { let shellPath = resolveShell() + let shellName = (shellPath as NSString).lastPathComponent + let loginExecName = "-\(shellName)" + FileManager.default.changeCurrentDirectoryPath(NSHomeDirectory()) let proc = LocalProcess(delegate: self) - proc.startProcess(executable: shellPath) + // Launch as a login shell so user startup files initialize PATH/tools. + proc.startProcess( + executable: shellPath, + args: ["-l"], + environment: nil, + execName: loginExecName + ) process = proc - title = (shellPath as NSString).lastPathComponent + title = shellName } private func resolveShell() -> String {