diff --git a/macos/Ghostty.xcodeproj/project.pbxproj b/macos/Ghostty.xcodeproj/project.pbxproj index a80f3b4b7..8c8e327d4 100644 --- a/macos/Ghostty.xcodeproj/project.pbxproj +++ b/macos/Ghostty.xcodeproj/project.pbxproj @@ -65,8 +65,8 @@ A5E112952AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E112942AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift */; }; A5E112972AF7401B00C6E0C2 /* ClipboardConfirmationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E112962AF7401B00C6E0C2 /* ClipboardConfirmationView.swift */; }; A5FEB3002ABB69450068369E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5FEB2FF2ABB69450068369E /* main.swift */; }; - C159E81D2B66A06B00FDFE9C /* NSColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E81C2B66A06B00FDFE9C /* NSColor+Extension.swift */; }; - C159E8402B68EB0000FDFE9C /* UIColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E83F2B68EB0000FDFE9C /* UIColor+Extension.swift */; }; + C159E81D2B66A06B00FDFE9C /* OSColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */; }; + C159E89D2B69A2EF00FDFE9C /* OSColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -125,8 +125,7 @@ A5E112942AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClipboardConfirmationController.swift; sourceTree = ""; }; A5E112962AF7401B00C6E0C2 /* ClipboardConfirmationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClipboardConfirmationView.swift; sourceTree = ""; }; A5FEB2FF2ABB69450068369E /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; - C159E81C2B66A06B00FDFE9C /* NSColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSColor+Extension.swift"; sourceTree = ""; }; - C159E83F2B68EB0000FDFE9C /* UIColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extension.swift"; sourceTree = ""; }; + C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSColor+Extension.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -191,8 +190,7 @@ 8503D7C62A549C66006CFF3D /* FullScreenHandler.swift */, A59630962AEE163600D64628 /* HostingWindow.swift */, A59FB5D02AE0DEA7009128F3 /* MetalView.swift */, - C159E81C2B66A06B00FDFE9C /* NSColor+Extension.swift */, - C159E83F2B68EB0000FDFE9C /* UIColor+Extension.swift */, + C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */, A5CEAFDA29B8005900646FDA /* SplitView */, ); path = Helpers; @@ -495,7 +493,7 @@ A5E112952AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift in Sources */, 8503D7C72A549C66006CFF3D /* FullScreenHandler.swift in Sources */, A596309E2AEE1D6C00D64628 /* TerminalView.swift in Sources */, - C159E81D2B66A06B00FDFE9C /* NSColor+Extension.swift in Sources */, + C159E81D2B66A06B00FDFE9C /* OSColor+Extension.swift in Sources */, A5CEAFDE29B8058B00646FDA /* SplitView.Divider.swift in Sources */, A5E112972AF7401B00C6E0C2 /* ClipboardConfirmationView.swift in Sources */, A514C8D82B54DC6800493A16 /* Ghostty.App.swift in Sources */, @@ -509,12 +507,12 @@ A53D0C942B53B43700305CE6 /* iOSApp.swift in Sources */, A514C8D72B54A16400493A16 /* Ghostty.Config.swift in Sources */, A5333E232B5A219A008AEFF7 /* SurfaceView.swift in Sources */, - C159E8402B68EB0000FDFE9C /* UIColor+Extension.swift in Sources */, A5333E202B5A2111008AEFF7 /* SurfaceView_UIKit.swift in Sources */, A5333E1D2B5A1CE3008AEFF7 /* CrossKit.swift in Sources */, A53D0C9C2B543F7B00305CE6 /* Package.swift in Sources */, A53D0C9B2B543F3B00305CE6 /* Ghostty.App.swift in Sources */, A5333E242B5A22D9008AEFF7 /* Ghostty.Shell.swift in Sources */, + C159E89D2B69A2EF00FDFE9C /* OSColor+Extension.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/macos/Sources/Ghostty/Ghostty.Config.swift b/macos/Sources/Ghostty/Ghostty.Config.swift index 7cad80bc8..8b1146e14 100644 --- a/macos/Sources/Ghostty/Ghostty.Config.swift +++ b/macos/Sources/Ghostty/Ghostty.Config.swift @@ -262,17 +262,10 @@ extension Ghostty { // This isn't actually a configurable value currently but it could be done day. // We put it here because it is a color that changes depending on the configuration. var splitDividerColor: Color { - #if canImport(AppKit) - let backgroundColor = NSColor(backgroundColor) + let backgroundColor = OSColor(backgroundColor) let isLightBackground = backgroundColor.isLightColor - let newColor = isLightBackground ? backgroundColor.shadow(withLevel: 0.1) : backgroundColor.shadow(withLevel: 0.4) - return Color(nsColor: newColor ?? .gray.withAlphaComponent(0.5)) - #else - let backgroundColor = UIColor(backgroundColor) - let isLightBackground = backgroundColor.isLightColor - let newColor = isLightBackground ? backgroundColor.darken(by: 0.1) : backgroundColor.darken(by: 0.4) + let newColor = isLightBackground ? backgroundColor.darken(by: 0.08) : backgroundColor.darken(by: 0.4) return Color(newColor) - #endif } } } diff --git a/macos/Sources/Helpers/NSColor+Extension.swift b/macos/Sources/Helpers/NSColor+Extension.swift deleted file mode 100644 index a1f371f96..000000000 --- a/macos/Sources/Helpers/NSColor+Extension.swift +++ /dev/null @@ -1,14 +0,0 @@ -import AppKit - -extension NSColor { - var isLightColor: Bool { - var r: CGFloat = 0 - var g: CGFloat = 0 - var b: CGFloat = 0 - var a: CGFloat = 0 - - self.getRed(&r, green: &g, blue: &b, alpha: &a) - let luminance = (0.299 * r) + (0.587 * g) + (0.114 * b) - return luminance > 0.5 - } -} diff --git a/macos/Sources/Helpers/UIColor+Extension.swift b/macos/Sources/Helpers/OSColor+Extension.swift similarity index 75% rename from macos/Sources/Helpers/UIColor+Extension.swift rename to macos/Sources/Helpers/OSColor+Extension.swift index a839916ea..f8bfcd134 100644 --- a/macos/Sources/Helpers/UIColor+Extension.swift +++ b/macos/Sources/Helpers/OSColor+Extension.swift @@ -1,6 +1,6 @@ -import UIKit +import Foundation -extension UIColor { +extension OSColor { var isLightColor: Bool { var r: CGFloat = 0 var g: CGFloat = 0 @@ -12,9 +12,9 @@ extension UIColor { return luminance > 0.5 } - func darken(by amount: CGFloat) -> UIColor { + func darken(by amount: CGFloat) -> OSColor { var h: CGFloat = 0, s: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0 self.getHue(&h, saturation: &s, brightness: &b, alpha: &a) - return UIColor(hue: h, saturation: s, brightness: min(b * (1 - amount), 1), alpha: a) + return OSColor(hue: h, saturation: s, brightness: min(b * (1 - amount), 1), alpha: a) } }