diff --git a/Rime.icon/Assets/logo.svg b/Rime.icon/Assets/logo.svg
deleted file mode 100644
index 84bdc4d..0000000
--- a/Rime.icon/Assets/logo.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
diff --git a/Rime.icon/icon.json b/Rime.icon/icon.json
deleted file mode 100644
index ac81c9c..0000000
--- a/Rime.icon/icon.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "color-space-for-untagged-svg-colors" : "display-p3",
- "fill-specializations" : [
- {
- "value" : "system-light"
- },
- {
- "appearance" : "dark",
- "value" : "system-dark"
- }
- ],
- "groups" : [
- {
- "blur-material" : null,
- "layers" : [
- {
- "fill-specializations" : [
- {
- "appearance" : "dark",
- "value" : {
- "solid" : "gray:1.00000,1.00000"
- }
- },
- {
- "appearance" : "tinted",
- "value" : {
- "solid" : "extended-gray:1.00000,1.00000"
- }
- }
- ],
- "glass" : true,
- "image-name" : "logo.svg",
- "name" : "logo"
- }
- ],
- "shadow" : {
- "kind" : "neutral",
- "opacity" : 0.5
- },
- "specular" : true,
- "translucency" : {
- "enabled" : false,
- "value" : 0.5
- }
- }
- ],
- "supported-platforms" : {
- "squares" : [
- "macOS"
- ]
- }
-}
\ No newline at end of file
diff --git a/Squirrel.xcodeproj/project.pbxproj b/Squirrel.xcodeproj/project.pbxproj
index 923971f..7a7d0d3 100644
--- a/Squirrel.xcodeproj/project.pbxproj
+++ b/Squirrel.xcodeproj/project.pbxproj
@@ -101,7 +101,7 @@
B397712F2BEECBED0093A49B /* Main.swift in Sources */ = {isa = PBXBuildFile; fileRef = B397712E2BEECBED0093A49B /* Main.swift */; };
B39771312BEEE4540093A49B /* InfoPlist.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = B39771302BEEE4540093A49B /* InfoPlist.xcstrings */; };
B39771332BEEE4540093A49B /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = B39771322BEEE4540093A49B /* Localizable.xcstrings */; };
- B3EF08EA2F17125E00433A45 /* Rime.icon in Resources */ = {isa = PBXBuildFile; fileRef = B3EF08E92F17125E00433A45 /* Rime.icon */; };
+ B3EF08EC2F17125E00433A45 /* RimeIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = B3EF08EB2F17125E00433A45 /* RimeIcon.icns */; };
D26434552706A15100857391 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D26434542706A15100857391 /* QuartzCore.framework */; };
E93074B70A5C264700470842 /* InputMethodKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E93074B60A5C264700470842 /* InputMethodKit.framework */; };
F45E005F2B8CA81C00179B75 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F45E005E2B8CA81C00179B75 /* UserNotifications.framework */; };
@@ -337,7 +337,7 @@
B397712E2BEECBED0093A49B /* Main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Main.swift; path = sources/Main.swift; sourceTree = ""; };
B39771302BEEE4540093A49B /* InfoPlist.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = InfoPlist.xcstrings; path = resources/InfoPlist.xcstrings; sourceTree = ""; };
B39771322BEEE4540093A49B /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = Localizable.xcstrings; path = resources/Localizable.xcstrings; sourceTree = ""; };
- B3EF08E92F17125E00433A45 /* Rime.icon */ = {isa = PBXFileReference; lastKnownFileType = folder.iconcomposer.icon; path = Rime.icon; sourceTree = ""; };
+ B3EF08EB2F17125E00433A45 /* RimeIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = RimeIcon.icns; path = resources/RimeIcon.icns; sourceTree = ""; };
D26434542706A15100857391 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
E93074B60A5C264700470842 /* InputMethodKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InputMethodKit.framework; path = /System/Library/Frameworks/InputMethodKit.framework; sourceTree = ""; };
F45E005E2B8CA81C00179B75 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; };
@@ -435,7 +435,7 @@
B32B80772BE7FAA200FCF3BC /* Squirrel.entitlements */,
B39771302BEEE4540093A49B /* InfoPlist.xcstrings */,
446C01D61F767BD400A6C23E /* Assets.xcassets */,
- B3EF08E92F17125E00433A45 /* Rime.icon */,
+ B3EF08EB2F17125E00433A45 /* RimeIcon.icns */,
);
name = Resources;
sourceTree = "";
@@ -622,7 +622,7 @@
buildActionMask = 2147483647;
files = (
446C01D71F767BD400A6C23E /* Assets.xcassets in Resources */,
- B3EF08EA2F17125E00433A45 /* Rime.icon in Resources */,
+ B3EF08EC2F17125E00433A45 /* RimeIcon.icns in Resources */,
B39771312BEEE4540093A49B /* InfoPlist.xcstrings in Resources */,
44986A95184B421700B3278D /* LICENSE.txt in Resources */,
B39771332BEEE4540093A49B /* Localizable.xcstrings in Resources */,
@@ -658,7 +658,6 @@
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = Rime;
ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOL_FRAMEWORKS = AppKit;
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -715,7 +714,6 @@
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = Rime;
ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOL_FRAMEWORKS = AppKit;
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
@@ -770,7 +768,6 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_APPICON_NAME = RimeIcon;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
@@ -829,7 +826,6 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ASSETCATALOG_COMPILER_APPICON_NAME = RimeIcon;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
diff --git a/resources/RimeIcon.icns b/resources/RimeIcon.icns
new file mode 100644
index 0000000..b43609c
Binary files /dev/null and b/resources/RimeIcon.icns differ
diff --git a/settings/Sources/TriFectaSettings/Pages/AboutPage.swift b/settings/Sources/TriFectaSettings/Pages/AboutPage.swift
index 61be4c4..2d18dc7 100644
--- a/settings/Sources/TriFectaSettings/Pages/AboutPage.swift
+++ b/settings/Sources/TriFectaSettings/Pages/AboutPage.swift
@@ -59,9 +59,19 @@ struct AboutPage: View {
PageScroll(title: "关于", footer: "TriFecta:基于 Rime/Squirrel 的 macOS 中文输入法(GPL-3.0)") {
SettingCard {
VStack(spacing: 10) {
- Image(systemName: "character.book.closed.fill")
- .font(.system(size: 44))
- .foregroundColor(theme.accent)
+ Group {
+ if let iconURL = Bundle.main.url(forResource: "AppIcon", withExtension: "icns"),
+ let appIcon = NSImage(contentsOf: iconURL) {
+ Image(nsImage: appIcon)
+ .resizable()
+ .aspectRatio(contentMode: .fit)
+ .frame(width: 64, height: 64)
+ } else {
+ Image(systemName: "character.book.closed.fill")
+ .font(.system(size: 44))
+ .foregroundColor(theme.accent)
+ }
+ }
Text("TriFecta")
.font(.system(size: 22, weight: .semibold))
.foregroundColor(theme.accent)
diff --git a/settings/Sources/TriFectaSettings/Pages/InputPage.swift b/settings/Sources/TriFectaSettings/Pages/InputPage.swift
index 4aec9a9..600f1d2 100644
--- a/settings/Sources/TriFectaSettings/Pages/InputPage.swift
+++ b/settings/Sources/TriFectaSettings/Pages/InputPage.swift
@@ -168,9 +168,6 @@ struct InputPage: View {
VStack(alignment: .leading, spacing: 1) {
Text(schemaName(id))
.font(.system(size: 13, weight: isDefault ? .semibold : .regular))
- Text(id)
- .font(.system(size: 10, design: .monospaced))
- .foregroundColor(.secondary)
}
Spacer()
if isDefault {
@@ -347,9 +344,6 @@ struct AddSchemaSheet: View {
Text(schema.displayName)
.font(.system(size: 12, weight: .medium))
.foregroundColor(enabled ? .secondary : .primary)
- Text(schema.id)
- .font(.system(size: 9, design: .monospaced))
- .foregroundColor(.secondary)
}
Spacer()
if enabled {
diff --git a/settings/scripts/build-app.sh b/settings/scripts/build-app.sh
index 4c89ada..6cfeb78 100644
--- a/settings/scripts/build-app.sh
+++ b/settings/scripts/build-app.sh
@@ -38,7 +38,7 @@ BIN="$(swift build -c "$CONFIG" --scratch-path "$SCRATCH" --show-bin-path)/TriFe
cp "$BIN" "$STAGE/Contents/MacOS/TriFectaSettings"
cp "Sources/TriFectaSettings/Resources/Info.plist" "$STAGE/Contents/Info.plist"
-ICON_SRC="/Library/Input Methods/Squirrel.app/Contents/Resources/Rime.icns"
+ICON_SRC="/Library/Input Methods/Squirrel.app/Contents/Resources/RimeIcon.icns"
if [ -f "$ICON_SRC" ]; then
cp "$ICON_SRC" "$STAGE/Contents/Resources/AppIcon.icns"
else