Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ jobs:
- uses: actions/checkout@v5
- uses: swift-actions/setup-swift@v2
- uses: m-takuma/setup-swiftlint@1.0.0
with:
swiftlint-version: 0.61.0
- name: Print SwiftLint version
run: swiftlint --version
- name: Run SwiftLint
Expand Down
16 changes: 10 additions & 6 deletions Mist.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
398A13222B78BA6D00F96F7E /* LogView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398A13212B78BA6D00F96F7E /* LogView.swift */; };
398A13472B78F22A00F96F7E /* LogEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398A13462B78F22A00F96F7E /* LogEntry.swift */; };
398BE6B52B62450500FE0C29 /* FloatingAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398BE6B42B62450500FE0C29 /* FloatingAlert.swift */; };
399F36B82E82752400B61274 /* Mist.icon in Resources */ = {isa = PBXBuildFile; fileRef = 399F36B72E82752400B61274 /* Mist.icon */; };
39CA25E32941D8BB0030711E /* FileAttributesUpdater.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CA25E22941D8BB0030711E /* FileAttributesUpdater.swift */; };
39CB5E3D293F5C2E00CFDBB8 /* Catalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CB5E3C293F5C2E00CFDBB8 /* Catalog.swift */; };
39CB5E3F2941486D00CFDBB8 /* CatalogSeedType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39CB5E3E2941486D00CFDBB8 /* CatalogSeedType.swift */; };
Expand Down Expand Up @@ -265,6 +266,7 @@
398A13212B78BA6D00F96F7E /* LogView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogView.swift; sourceTree = "<group>"; };
398A13462B78F22A00F96F7E /* LogEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogEntry.swift; sourceTree = "<group>"; };
398BE6B42B62450500FE0C29 /* FloatingAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingAlert.swift; sourceTree = "<group>"; };
399F36B72E82752400B61274 /* Mist.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = Mist.icon; sourceTree = "<group>"; };
39CA25E22941D8BB0030711E /* FileAttributesUpdater.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileAttributesUpdater.swift; sourceTree = "<group>"; };
39CB5E3C293F5C2E00CFDBB8 /* Catalog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Catalog.swift; sourceTree = "<group>"; };
39CB5E3E2941486D00CFDBB8 /* CatalogSeedType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CatalogSeedType.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -372,6 +374,7 @@
39252A76285A849F00956C74 /* AppDelegate.swift */,
390451AD2856E1DA00E0B563 /* Assets.xcassets */,
39CF55A628614F8A006FB5D2 /* Info.plist */,
399F36B72E82752400B61274 /* Mist.icon */,
390451A92856E1D900E0B563 /* MistApp.swift */,
3935F47728643B1F00760AB0 /* UserNotificationCenterDelegate.swift */,
390451BD2856E32A00E0B563 /* Extensions */,
Expand Down Expand Up @@ -719,6 +722,7 @@
buildActionMask = 2147483647;
files = (
390451AE2856E1DA00E0B563 /* Assets.xcassets in Resources */,
399F36B82E82752400B61274 /* Mist.icon in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -1106,14 +1110,14 @@
390451B62856E1DA00E0B563 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon - Sequoia";
ASSETCATALOG_COMPILER_APPICON_NAME = Mist;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 0.20.1;
CURRENT_PROJECT_VERSION = 0.30;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = 7K3HVCLV7Z;
ENABLE_HARDENED_RUNTIME = YES;
Expand All @@ -1129,7 +1133,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 0.20.1;
MARKETING_VERSION = 0.30;
PRODUCT_BUNDLE_IDENTIFIER = com.ninxsoft.mist;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
Expand All @@ -1140,14 +1144,14 @@
390451B72856E1DA00E0B563 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon - Sequoia";
ASSETCATALOG_COMPILER_APPICON_NAME = Mist;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 0.20.1;
CURRENT_PROJECT_VERSION = 0.30;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = 7K3HVCLV7Z;
ENABLE_HARDENED_RUNTIME = YES;
Expand All @@ -1163,7 +1167,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 0.20.1;
MARKETING_VERSION = 0.30;
PRODUCT_BUNDLE_IDENTIFIER = com.ninxsoft.mist;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
Expand Down
18 changes: 9 additions & 9 deletions Mist/Assets.xcassets/AccentColor.colorset/Contents.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.773",
"green" : "0.416",
"red" : "0.012"
"blue" : "213",
"green" : "88",
"red" : "0"
}
},
"idiom" : "mac"
Expand All @@ -23,9 +23,9 @@
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.773",
"green" : "0.416",
"red" : "0.012"
"blue" : "213",
"green" : "88",
"red" : "0"
}
},
"idiom" : "mac"
Expand All @@ -41,9 +41,9 @@
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "0.796",
"green" : "0.522",
"red" : "0.008"
"blue" : "245",
"green" : "101",
"red" : "0"
}
},
"idiom" : "mac"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{
"images" : [
{
"filename" : "icon_16x16.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "16x16"
},
{
"filename" : "icon_16x16@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "16x16"
},
{
"filename" : "icon_32x32.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "32x32"
},
{
"filename" : "icon_32x32@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "32x32"
},
{
"filename" : "icon_128x128.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "128x128"
},
{
"filename" : "icon_128x128@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "128x128"
},
{
"filename" : "icon_256x256.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "256x256"
},
{
"filename" : "icon_256x256@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "256x256"
},
{
"filename" : "icon_512x512.png",
"idiom" : "mac",
"scale" : "1x",
"size" : "512x512"
},
{
"filename" : "icon_512x512@2x.png",
"idiom" : "mac",
"scale" : "2x",
"size" : "512x512"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "App Icon Preview - macOS Monterey.png",
"idiom" : "mac"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "App Icon Preview - macOS Sequoia.png",
"idiom" : "mac"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "App Icon Preview - Ventura.png",
"filename" : "App Icon Preview - macOS Sonoma.png",
"idiom" : "mac"
}
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "App Icon Preview - Monterey.png",
"filename" : "App Icon Preview - macOS Tahoe.png",
"idiom" : "mac"
}
],
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "App Icon Preview - macOS Ventura.png",
"idiom" : "mac"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "App Icon Preview - Sonoma.png",
"filename" : "Application - macOS Tahoe.png",
"idiom" : "mac"
}
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "App Icon Preview - Sequoia.png",
"filename" : "macOS Tahoe.png",
"idiom" : "mac"
}
],
Expand Down
12 changes: 8 additions & 4 deletions Mist/Helpers/InstallerCreator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,15 @@ enum InstallerCreator {

packageURL = URL(fileURLWithPath: "/Volumes/Install \(installer.name)").appendingPathComponent(package.filename.replacingOccurrences(of: ".dmg", with: ".pkg"))
} else {
guard let url: URL = URL(string: installer.distributionURL) else {
throw MistError.invalidURL(installer.distributionURL)
}
if installer.containsInstallAssistantPackage {
packageURL = URL(fileURLWithPath: cacheDirectory).appendingPathComponent(installer.id).appendingPathComponent("InstallAssistant.pkg")
} else {
guard let url: URL = URL(string: installer.distributionURL) else {
throw MistError.invalidURL(installer.distributionURL)
}

packageURL = URL(fileURLWithPath: cacheDirectory).appendingPathComponent(installer.id).appendingPathComponent(url.lastPathComponent)
packageURL = URL(fileURLWithPath: cacheDirectory).appendingPathComponent(installer.id).appendingPathComponent(url.lastPathComponent)
}
}

try await DirectoryRemover.remove(installer.temporaryInstallerURL)
Expand Down
Binary file added Mist/Mist.icon/Assets/Mist.png
27 changes: 27 additions & 0 deletions Mist/Mist.icon/icon.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"fill" : "automatic",
"groups" : [
{
"layers" : [
{
"glass" : false,
"image-name" : "Mist.png",
"name" : "Mist"
}
],
"shadow" : {
"kind" : "neutral",
"opacity" : 0.5
},
"translucency" : {
"enabled" : true,
"value" : 0.5
}
}
],
"supported-platforms" : {
"squares" : [
"macOS"
]
}
}
4 changes: 3 additions & 1 deletion Mist/MistApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ struct MistApp: App {
hideZoomButton()
}
.onAppear {
setAppIcon()
if #unavailable(macOS 26) {
setAppIcon()
}
}
}
.fixedWindow()
Expand Down
11 changes: 6 additions & 5 deletions Mist/Model/AppIcon.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@
import Foundation

enum AppIcon: String, CaseIterable, Identifiable {
case monterey = "Monterey"
case ventura = "Ventura"
case sonoma = "Sonoma"
case sequoia = "Sequoia"
case monterey = "macOS Monterey"
case ventura = "macOS Ventura"
case sonoma = "macOS Sonoma"
case sequoia = "macOS Sequoia"
case tahoe = "macOS Tahoe"

static let `default`: AppIcon = .sequoia
static let `default`: AppIcon = .tahoe

var id: String {
rawValue
Expand Down
2 changes: 1 addition & 1 deletion Mist/Model/Catalog.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ struct Catalog: Identifiable, Decodable, Equatable {
}

static var example: Catalog {
Catalog(type: .ventura, standard: true, customerSeed: false, developerSeed: false, publicSeed: false)
Catalog(type: .tahoe, standard: true, customerSeed: false, developerSeed: false, publicSeed: false)
}

var id: UUID = .init()
Expand Down
Loading