diff --git a/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..ffba7d94d Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/BlueprintImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..eeedb7203 Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/ChalkboardImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Assets.xcassets/Alternate Icons/Contents.json b/macos/Assets.xcassets/Alternate Icons/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..99d704e27 Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/GlassImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..b31c9e973 Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/HolographicImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..add488d36 Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/MicrochipImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..fad8dc70b Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/PaperImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..02619e860 Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/RetroImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/Contents.json b/macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/Contents.json new file mode 100644 index 000000000..1c1b9b47e --- /dev/null +++ b/macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "macOS-AppIcon-1024px.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/macOS-AppIcon-1024px.png b/macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/macOS-AppIcon-1024px.png new file mode 100644 index 000000000..9e74a967c Binary files /dev/null and b/macos/Assets.xcassets/Alternate Icons/XrayImage.imageset/macOS-AppIcon-1024px.png differ diff --git a/macos/Sources/App/macOS/AppDelegate.swift b/macos/Sources/App/macOS/AppDelegate.swift index ccd890951..09a86de1f 100644 --- a/macos/Sources/App/macOS/AppDelegate.swift +++ b/macos/Sources/App/macOS/AppDelegate.swift @@ -563,6 +563,30 @@ class AppDelegate: NSObject, self.appIcon = nil break + case .blueprint: + self.appIcon = NSImage(named: "BlueprintImage")! + + case .chalkboard: + self.appIcon = NSImage(named: "ChalkboardImage")! + + case .glass: + self.appIcon = NSImage(named: "GlassImage")! + + case .holographic: + self.appIcon = NSImage(named: "HolographicImage")! + + case .microchip: + self.appIcon = NSImage(named: "MicrochipImage")! + + case .paper: + self.appIcon = NSImage(named: "PaperImage")! + + case .retro: + self.appIcon = NSImage(named: "RetroImage")! + + case .xray: + self.appIcon = NSImage(named: "XrayImage")! + case .customStyle: guard let ghostColor = config.macosIconGhostColor else { break } guard let screenColors = config.macosIconScreenColor else { break } diff --git a/macos/Sources/Ghostty/Package.swift b/macos/Sources/Ghostty/Package.swift index 71fac4a99..18ef3f3a7 100644 --- a/macos/Sources/Ghostty/Package.swift +++ b/macos/Sources/Ghostty/Package.swift @@ -198,6 +198,14 @@ extension Ghostty { /// macos-icon enum MacOSIcon: String { case official + case blueprint + case chalkboard + case glass + case holographic + case microchip + case paper + case retro + case xray case customStyle = "custom-style" } diff --git a/src/config/Config.zig b/src/config/Config.zig index 3010b87d1..802c77e2e 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -1972,6 +1972,9 @@ keybind: Keybinds = .{}, /// Valid values: /// /// * `official` - Use the official Ghostty icon. +/// * `blueprint`, `chalkboard`, `microchip`, `glass`, `holographic`, +/// `paper`, `retro`, `xray` - Official variants of the Ghostty icon +/// hand-created by artists (no AI). /// * `custom-style` - Use the official Ghostty icon but with custom /// styles applied to various layers. The custom styles must be /// specified using the additional `macos-icon`-prefixed configurations. @@ -5719,6 +5722,14 @@ pub const MacTitlebarProxyIcon = enum { /// format at all. pub const MacAppIcon = enum { official, + blueprint, + chalkboard, + microchip, + glass, + holographic, + paper, + retro, + xray, @"custom-style", };