From d6fb60c8c128566abab21c6e15b1fd7ce2761235 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Thu, 11 Jun 2026 16:00:03 +0800
Subject: [PATCH] Fix settings window height for stable tabs
---
src/Apptag/PreferencesView.swift | 12 +++++++-----
src/build.sh | 7 ++++---
src/CHANGELOG.md | 7 +++++++
src/Apptag/Info.plist | 4 ++--
src/Apptag/ApptagApp.swift | 4 ++--
5 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/src/Apptag/ApptagApp.swift b/src/Apptag/ApptagApp.swift
index 1612504..c88dc4a 100644
--- a/src/Apptag/ApptagApp.swift
+++ b/src/Apptag/ApptagApp.swift
@@ -17,7 +17,7 @@
Settings {
PreferencesView()
}
- .defaultSize(width: 1000, height: 480)
+ .defaultSize(width: 1000, height: 640)
.commands {
CommandGroup(replacing: .systemServices) { }
CommandGroup(replacing: .appVisibility) { }
@@ -42,7 +42,7 @@
private static let launcherOverlayLevel = NSWindow.Level(rawValue: NSWindow.Level.mainMenu.rawValue - 1)
private static let overlayDefaultLevel = launcherOverlayLevel
private static let overlayTextInputLevel = launcherOverlayLevel
- private static let settingsContentSize = NSSize(width: 1000, height: 480)
+ private static let settingsContentSize = NSSize(width: 1000, height: 640)
private var statusItem: NSStatusItem?
private var overlayKeyMonitor: Any?
diff --git a/src/Apptag/Info.plist b/src/Apptag/Info.plist
index 44b3ab3..173c742 100644
--- a/src/Apptag/Info.plist
+++ b/src/Apptag/Info.plist
@@ -19,9 +19,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>7.8.27</string>
+ <string>7.8.28</string>
<key>CFBundleVersion</key>
- <string>20260611.1548</string>
+ <string>20260611.1558</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
diff --git a/src/Apptag/PreferencesView.swift b/src/Apptag/PreferencesView.swift
index 7c4b398..d3f0002 100644
--- a/src/Apptag/PreferencesView.swift
+++ b/src/Apptag/PreferencesView.swift
@@ -38,6 +38,7 @@
struct PreferencesView: View {
private let settingsWindowWidth: CGFloat = 1000
+ private let settingsWindowHeight: CGFloat = 640
private let settingsContentWidth: CGFloat = 940
private let generalContentWidth: CGFloat = 720
private let generalLabelWidth: CGFloat = 190
@@ -528,12 +529,12 @@
}
private var settingsTabBar: some View {
- HStack(spacing: 18) {
+ HStack(spacing: 8) {
ForEach(SettingsTab.allCases) { tab in
settingsTabButton(tab)
}
}
- .frame(height: 104, alignment: .center)
+ .frame(height: 96, alignment: .center)
.frame(maxWidth: .infinity)
.background(Color(nsColor: .windowBackgroundColor))
}
@@ -550,11 +551,12 @@
.frame(width: 32, height: 32)
Text(tr(tab.titleKey))
.font(.system(size: 13, weight: .semibold))
- .lineLimit(1)
+ .lineLimit(2)
+ .multilineTextAlignment(.center)
.minimumScaleFactor(0.8)
}
.foregroundStyle(isSelected ? Color.accentColor : Color.secondary)
- .frame(width: 72, height: 70)
+ .frame(width: 108, height: 74)
.background(
RoundedRectangle(cornerRadius: 8, style: .continuous)
.fill(isSelected ? Color.accentColor.opacity(0.10) : Color.clear)
@@ -1031,7 +1033,7 @@
.transition(.opacity.combined(with: .move(edge: .bottom)))
}
}
- .frame(width: settingsWindowWidth, height: 480)
+ .frame(width: settingsWindowWidth, height: settingsWindowHeight)
.onAppear {
syncSelectedLanguage()
showPendingHotkeyWarningIfNeeded()
diff --git a/src/CHANGELOG.md b/src/CHANGELOG.md
index 1ebea7c..52ef406 100644
--- a/src/CHANGELOG.md
+++ b/src/CHANGELOG.md
@@ -1,5 +1,12 @@
# TagLauncher Changelog
+## [7.8.28] — 2026-06-11
+
+- 修复设置页改用自定义顶部导航后,内容区域高度不足导致 General 等 tab 默认出现纵向滚动/底部内容被截断的问题
+- 设置页窗口、SwiftUI 视图和 AppKit 手工窗口尺寸统一为稳定固定高度;顶部 tab button 放宽文字宽度并支持两行标题,避免英文标题被截断
+- 构建脚本优先使用仓库内已验证的 `icon-icns.icns`,避免当前系统 `iconutil` 对临时 AppIcon iconset 判定不稳定导致打包失败
+- 版本号更新为 `7.8.28`,Build 更新为 `20260611.1558`
+
## [7.8.27] — 2026-06-11
- 设置页顶部导航改为自定义稳定 tab bar,不再依赖 SwiftUI `TabView` 默认 macOS 样式,避免 macOS 14 与较新系统渲染成不同的工具栏/分段控件外观
diff --git a/src/build.sh b/src/build.sh
index 60dcda1..e91bfd2 100644
--- a/src/build.sh
+++ b/src/build.sh
@@ -77,7 +77,10 @@
echo "==> Copying AppIcon.icns..."
APPICON_SOURCE_DIR="$SWIFT_DIR/Assets.xcassets/AppIcon.appiconset"
-if [ -d "$APPICON_SOURCE_DIR" ]; then
+PREBUILT_APPICON="$PROJECT_DIR/icon-icns.icns"
+if [ -f "$PREBUILT_APPICON" ]; then
+ cp "$PREBUILT_APPICON" "$RESOURCES_DIR/AppIcon.icns"
+elif [ -d "$APPICON_SOURCE_DIR" ]; then
TMP_ICONSET_PARENT="$(mktemp -d -t taglauncher-appicon.XXXXXX)"
TMP_ICONSET="$TMP_ICONSET_PARENT/AppIcon.iconset"
mkdir -p "$TMP_ICONSET"
@@ -102,8 +105,6 @@
done
iconutil -c icns "$TMP_ICONSET" -o "$RESOURCES_DIR/AppIcon.icns"
rm -rf "$TMP_ICONSET_PARENT"
-elif [ -f "$PROJECT_DIR/icon-icns.icns" ]; then
- cp "$PROJECT_DIR/icon-icns.icns" "$RESOURCES_DIR/AppIcon.icns"
elif [ -f "$SWIFT_DIR/AppIcon.iconset/icon_512x512@2x.png" ]; then
iconutil -c icns "$SWIFT_DIR/AppIcon.iconset" -o "$RESOURCES_DIR/AppIcon.icns" 2>/dev/null
else
--
Gitblit v1.9.3