From e1226e6ae5a75388fe5d1a0e1ed008f80fee25ed Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Sun, 17 May 2026 14:21:25 +0800 Subject: [PATCH] Release Apptag 6.0.5 build 610 --- CHANGELOG.md | 283 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 282 insertions(+), 1 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3cbd1a..873b152 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,287 @@ # Apptag Changelog +## [6.0.5] — 2026-05-16 + +- 修正应用分类编辑页的批量操作逻辑:添加模式只追加手动勾选的标签,移除模式会先自动勾选右侧已选 App 现有的标签合集,未命中的标签置灰不可点 +- 移除模式下,取消某个已有标签的勾选后,会在标签右侧显示鲜红删除图标;重新勾回后,删除图标立即消失 +- 优化移除模式的左侧提示文案,明确说明只有已有标签可取消勾选,出现红色删除图标的标签会在确认后被移除 +- 新增居中全屏反馈提示:点击「确认添加 / 确认移除」后,会复用“不常用 App”气泡矩形样式显示本次操作结果,并支持自动消失和右上角关闭 +- 反馈统计改为真实增减计数:逐个 App 计算实际新增/移除的标签关系数,避免把原本已存在或不存在的标签重复计入 +- 调整编辑页顶部排版:将本轮操作说明移到确认按钮同一行,并为长文案提供省略与悬浮完整提示;左侧“选择标签 / 拖动排序”提示改为与标签列表左边缘对齐 +- 将英文标题文案由 `This edit:` 收敛为更自然的 `Action:`,并同步检查、收紧其他语言的对应表述 +- 修复编辑分类页左侧 sidebar 被说明文字横向撑开的布局问题,固定左栏宽度并恢复右侧应用区紧贴分隔线展开 +- 左侧 `Select tags / Drag to reorder` 提示现在严格约束在标签列表宽度内,超长时换行,不再越出左侧标签列表边界 +- 去掉编辑分类页顶部居中的标题,把空间让给右侧模式说明;右侧说明现在会优先尽量完整显示,只有左右按钮区确实排不下时才从中间省略 +- 修复顶部模式说明使用无限宽度参与窗口约束计算时可能触发 AppKit 约束更新异常并闪退的问题 +- 修复新版 macOS 上 Safari 等系统 App 可能被扫描遗漏的问题:扫描器现在会识别搜索目录的直接 `.app` 子级、补充 Cryptex 系统应用目录,并用真实路径去重但保留稳定入口路径 +- 补齐编辑模式相关新增文案到全部语言文件,避免切换语言后出现缺失键 +- 版本号更新为 `6.0.5`,Build 更新为 `610` + +## [6.0.0] — 2026-05-16 + +- 新增“不常用”特殊系统标记:只在 App 分类编辑模式中显示,不作为普通分类出现在日常应用列表中 +- “不常用”不改变 App 原有分类归属;App 仍留在原分类中,只额外获得低频标记 +- 新增“不常用 App 气泡提示”开关,默认开启,放在设置页“数据”页签最上方 +- 对已标记为“不常用”的 App,在开关开启后 hover 显示大号 App 名称 Bubble;有用途备注时同步显示备注 +- 支持右键“不常用”App 编辑用途备忘,备注最多 80 个 Unicode 字符 +- 备注数据进入分类与布局 JSON,并与“不常用”标记状态解耦:移除“不常用”标记后备注仍保留 +- 编辑模式中的批量标签操作改为“添加标签 / 移除标签”双模式;右侧选中 App 不再自动反向勾选左侧标签,避免批量污染原有分类 +- 为编辑模式新增只读标签状态区:单选显示当前标签,多选显示共同标签,并提示其他标签可能不同 +- 新扫描到的 App 会自动标记为“不常用”,并开始统计从 TagLauncher 打开的次数;达到 100 次后,只有系统自动加上的“不常用”才会被自动移除 +- 为新增功能补齐全部 29 个语言版本文案 +- 版本号更新为 `6.0.0`,Build 更新为 `600` + +## [5.7.8] — 2026-05-15 + +- 修复 TagLauncher 浮层每次打开都会重复添加 Escape 键本地监听的问题,关闭浮层时会同步释放监听器,避免事件监听累积 +- 清理普通应用列表中标签拖动排序的旧兜底逻辑,移除可能吞掉下一次点击的鼠标监听器和不可达透明点击层 +- 菜单栏图标改为强制显示,移除设置页里的「显示菜单栏图标」开关,并从全部 29 个语言包同步删除该设置文案 +- 清理 macOS 应用主菜单中的 Services / Hide / Hide Others / Show All 默认项,新增「显示应用列表」菜单项 +- 顶部应用菜单和状态栏菜单的「显示应用列表」均使用全语言本地化文案,并用 `⌥⇧␣` 图形符号展示快捷键 +- 用 SwiftUI `CommandGroup` 从源头替换 macOS 默认 Services/Hide 菜单组,并增加延迟重试清理,避免系统菜单重建后恢复旧菜单项 +- 菜单栏状态项改为固定方形长度并强制 `isVisible`,降低图标被系统计算成不可见宽度的风险 +- 优化 Dock 显示设置刷新逻辑:只有 `showDockIcon` 变化时才更新系统 activation policy,避免无关设置变更触发全局刷新 +- 菜单栏图标改为代码自绘 template 图标,不再依赖 SF Symbol 加载,避免系统符号渲染失败导致图标不可见 +- 优化「通用」设置页排版:保留顶部三个开关横排,将应用列表样式改为两列选择块,并统一后续设置行的标签列、控件列和说明文字左边缘 +- 微调「应用列表样式」选择区:Flat 单独占满第一行,其余四个样式按两列两行排列,形成更稳定的视觉宽度关系 +- 收窄「应用列表样式」选项块高度,并为平铺、瀑布流容器、等高网格增加小图示,帮助用户快速区分布局类型 +- 在设置页的「语言」「数据」「关于」三个空白较多的页签增加 `⌥ + ⇧ + 空格键` 图形化快捷键提示,避免影响「通用」和「标签」页的主要设置/编辑区域 +- 版本号保持 `5.7.8`,Build 更新为 `583` +- 同步更新 `AppStore_Submission.md` 的版本信息和 What's New + +## [5.7.5] — 2026-05-14 + +- 新增「显示菜单栏图标」设置项,默认开启,并放在「在 Dock 中显示」之前 +- 修复菜单栏小图标不显示或被系统符号渲染不稳定的问题,改为自绘 template 状态栏图标 +- 修复全屏应用 Space 中打开设置时,设置窗口跑到其他窗口/屏幕的问题:设置窗口作为当前 TagLauncher overlay 的子窗口置顶显示 +- 优化设置窗口关闭后 overlay 的焦点恢复,减少设置窗口和主浮层之间的层级错乱 +- 为普通应用列表中的标签导航增加拖动排序退出兜底,尝试解决拖动后标签持续抖动的问题 +- 版本号更新为 `5.7.5`,Build 更新为 `575` + +## [5.7.0] — 2026-05-13 + +- 扩展语言支持到 29 个语言版本,新增法语、德语、巴西葡萄牙语、泰语、越南语、阿拉伯语、土耳其语、印尼语、捷克语、丹麦语、荷兰语、挪威语、马来语、波兰语、罗马尼亚语、瑞典语等 +- 中文保持简体/繁体支持,不增加广东话版本 +- 设置页「语言」页签改为两列纵向排版,适配语言数量增加后的空间压力 +- 优化语言自动匹配逻辑,支持更多系统语言代码映射 +- 修复状态栏菜单项在语言切换后的刷新逻辑,避免重复创建状态栏图标 +- 固定设置窗口尺寸为 880×460,减少不同页签之间的高度和宽度跳动 +- 版本号更新为 `5.7.0`,Build 更新为 `570` + +## [5.6.0] — 2026-05-13 + +- 修复编辑模式下左侧标签拖动排序失效的问题,改用自定义手势和几何位置检测实现实时排序 +- 标签拖动排序增加动态动画反馈,拖动时左侧标签顺序和右侧对应标签容器同步变化 +- 普通应用列表视图中的顶部/左侧/右侧标签导航支持长按拖动排序 +- 标签排序逻辑覆盖全部 5 种应用列表样式,保证标签导航顺序和应用分组布局一致 +- 修复导入/导出分类与布局功能,失败时显示明确错误提示 +- App Store 沙盒构建下隐藏 Launch at Login 控件,避免沙盒环境中不可用功能误导用户 +- 移除已弃用的应用启动 API,统一使用现代 `NSWorkspace.OpenConfiguration` +- 新增 App Store 沙盒 entitlements,支持 App Store 构建验证 +- 版本号更新为 `5.6.0`,Build 更新为 `560` + +## [5.5.0] — 2026-05-11 + +- 新增设置页第一个页签「语言」,原有「通用 / 标签 / 数据 / 关于」整体后移 +- 支持在设置页直接切换语言,菜单和设置面板实时同步刷新 +- 语言切换时增加 macOS 风格的全局刷新过渡图标,降低界面瞬间重建的突兀感 +- 设置窗口默认宽度扩展到 880pt,并在当前 TagLauncher 应用列表视图中央浮动置顶 +- 多屏使用时,设置窗口会优先居中显示在当前 TagLauncher overlay 所在屏幕 +- 数据页按钮文案由「导出 tag / 导入 tag」改为「导出分类与布局 / 导入分类与布局」,并同步所有已支持语言 +- 增加旧版非沙盒数据到 App Store 沙盒容器的数据迁移逻辑,降低更新后标签和排序丢失风险 +- 新增 App Store 提审资料文档,记录版本信息、隐私说明、截图建议和审核备注 +- 版本号更新为 `5.5.0`,Build 更新为 `550` + +## [5.2.0] — 2026-05-11 + +- 重做 App 拖动预览实现,改为 CALayer / AppKit 预览层方式,提升拖动过程的稳定性和跟手感 +- 优化拖动预览在 overlay 和全屏 Space 中的显示层级,减少拖动图标被遮挡或丢失的情况 +- 保持拖动投放逻辑与分类容器绑定,继续支持移动/复制到目标标签 +- 版本号更新为 `5.2.0`,Build 更新为 `520` + +## [5.1.12] — 2026-05-11 + +- 新增 `AppDragCoordinator`,集中管理 App 图标拖动预览、投放目标注册和拖放完成回调 +- 优化 App 图标网格项尺寸计算,减少隐藏/显示 App 名称时的布局抖动 +- 新增 `TagGroupView`,拆分标签分组容器视图逻辑,降低主视图复杂度 +- 优化标签数据库导入/导出和排序数据结构处理 +- 调整图标资源生成流程,删除旧 `AppIcon.iconset`,使用压缩后的 `icon-icns.icns` 降低包体体积 +- 补充应用描述相关本地化文案 +- 版本号更新为 `5.1.12`,Build 更新为 `512` + +## [4.0.7] — 2026-05-11 + +- 调整应用列表布局和 App 启动逻辑,修复部分网格容器视图下点击 App 后启动/关闭 overlay 不稳定的问题 +- 更新 9 个既有语言的视图名称和说明文案 +- 完善 `build.sh`,强化构建流程中的 bundle 结构、资源复制、权限设置、strip 和签名步骤 +- 新增 `make_dmg.sh`,支持生成 DMG 发布包 +- 版本号更新为 `4.0.7`,Build 更新为 `407` + +## [4.0.0] — 2026-05-10 + +- 新增「无色网格容器」和「彩色网格容器」两种 App 列表视图样式 +- 网格容器按标签顺序分行排列,每行 1/2/3 个等宽容器,同一行等高,容器内通过空白网格位保持图标对齐 +- 无色网格容器继承无色容器的持久填充/点击清除交互;彩色网格容器继承彩色容器的默认填色/hover 阴影交互 +- 补充 9 语种新增视图名称与说明文案 + +## [3.2.1] — 2026-05-10 + +- 固定「无色容器」交互逻辑:hover 标签或容器时保持标签色填充,再次点击标签或点击容器空白处清除填充 +- 保持「彩色容器」逻辑独立:默认标签色填充,hover 仅增加阴影凸起效果 + +## [3.2.0] — 2026-05-10 + +- 新增 App 列表显示样式「彩色容器」:所有容器默认填充标签色,鼠标 hover 容器时增加阴影凸起效果 +- 将原「分组 / Container」样式改名为「无色容器」,保留无填充容器布局 +- 补充 9 语种显示样式名称与说明文案 + +## [3.1.35] — 2026-05-10 + +- 修复 overlay 显示时打开设置窗口不可见的问题:设置窗口会强制浮动在 Apptag 列表之上,确保用户能实时预览设置效果 + +## [3.1.34] — 2026-05-10 + +- 优化 Container 模式标签 hover 交互:hover 标签后对应容器背景保持标签色填充,直到再次点击标签或点击容器空白处清除 + +## [3.1.33] — 2026-05-10 + +- 修复点击 App 图标后应用列表仍置顶停留的问题:App 启动路径改为强制关闭并释放 overlay,确保焦点及时转移到被打开的应用 + +## [3.1.32] — 2026-05-10 + +- 提升 overlay 到 CoreGraphics maximum window level,进一步避免被全屏应用窗口层遮挡 + +## [3.1.31] — 2026-05-10 + +- 强化全屏 Space 唤出逻辑:每次显示 overlay 都重新创建绑定当前 Space 的 NSPanel,避免复用旧窗口导致全屏空间迁移失败 + +## [3.1.30] — 2026-05-10 + +- 再次修复全屏 Space 唤出不可见问题:overlay 显示时移动到当前活跃 Space,并避免激活 App 导致窗口回到非全屏空间 + +## [3.1.29] — 2026-05-10 + +- 继续修复全屏 Space 唤出不可见问题:overlay 改为非激活 NSPanel,并加入 stationary/transient 全屏辅助行为,确保在当前全屏 Space 前置显示 + +## [3.1.28] — 2026-05-10 + +- 修复全屏 Space 下 Shift+Option+Space 唤出 Apptag 后 overlay 被全屏应用遮挡的问题:显示时刷新当前屏幕 frame,提升窗口层级并强制前置 + +## [3.1.27] — 2026-05-07 + +- 彻底移除 SMAppService,改用 LaunchAgent(~/Library/LaunchAgents)控制登录启动,零权限 + +## [3.1.26] — 2026-05-07 + +- 修复每次启动重复触发 App 管理权限弹窗:SMAppService.register() 只在首次调用 + +## [3.1.25] — 2026-05-07 + +- 首次启动自动 seed 7 个默认标签(设计/编程/写作/游戏/娱乐/系统优化/办公),9 语言适配 + +## [3.1.24] — 2026-05-07 + +- 关于页整体右移 100pt,视觉居中 + +## [3.1.23] — 2026-05-07 + +- 关于页:图标放大一倍 (128×128),签名档精简为两行 + +## [3.1.22] — 2026-05-07 + +- 关于页签新增签名档 + +## [3.1.21] — 2026-05-06 + +- 大幅缩减包体:4.1MB → 900KB(二进制 strip + icon 压缩) + +## [3.1.20] — 2026-05-06 + +- 修复设置页面切换 tab 时宽度跃变:固定宽度 660pt,高度可拖动调整 + +## [3.1.19] — 2026-05-06 + +- 修复默认组名不随语言切换的问题:存储语言中立 key "Other",显示时翻译 +- 移除 Sandbox entitlements(不再索要 App 管理权限) +- 移除 Accessibility 热键降级方案,保持纯 Carbon hotkey + 菜单栏 fallback +- 新增 App Store 提审资料文档 (AppStore_Submission.md) + 截图脚本 (screenshots.sh) +- 新增 App Store 1024×1024 图标 (AppStore_1024.png) + +## [3.1.16] — 2026-05-06 + +- 回滚所有快捷键设置功能(v3.1.13~v3.1.15),回到 v3.1.12 稳定状态 + +## [3.1.15] — 2026-05-06 + +- 修复 HotkeyHelper 崩溃:kVK 常量非连续编号,改用字典查表替代 switch range + +## [3.1.14] — 2026-05-06 + +- 快捷键设置独立为第 3 个页签(键盘图标),Data 恢复原样 + +## [3.1.13] — 2026-05-06 + +- 新增全局快捷键设置(Data 页签):点击按钮后按下新快捷键即可更改,支持任意组合键 +- 菜单栏「Show Apptag」右侧显示当前快捷键 +- HotkeyHelper:Carbon keycode → 人类可读字符串(⇧⌥Space, ⌘A, F1 等) + +## [3.1.12] — 2026-05-06 + +- General 标签页:放弃 Grid,回到逐行 HStack;4 个 Picker 统一 280pt 左对齐,描述文字左边缘与 Picker 严格对齐 +- "其他" 默认组改名为 "未分类",9 语种全部翻译;启动时自动迁移旧 "Other" 值 + +## [3.1.11] — 2026-05-06 + +- General 标签页:改用 Grid 布局替代固定 frame,标签列按内容宽度自动右对齐 +- 点击 Dock 图标现在等同于菜单栏 "Show Apptag",直接全屏显示 APP 列表 + +## [3.1.10] — 2026-05-06 + +- General 标签页:Toggle 行横向居中;标签-控件改为逐行 HStack(替代并行 VStack),消除垂直不对齐 +- 修复设置页面行为:打开偏好设置时不再隐藏 overlay,Settings 窗口提升至 overlay 上方供实时预览 +- Tags 标签页整体向右偏移 16px + +## [3.1.9] — 2026-05-06 + +- Grid 布局替换独立 HStack:标签列 + 控件列严格对齐,16pt 间距 + +## [3.1.8] — 2026-05-06 + +- 优化 General 标签页排版:标签文字右对齐、选项/说明左对齐、间距16pt + +## [3.1.7] — 2026-05-06 + +- 彻底清除 Finder 标签残留:移除 `migrateFromFinderIfNeeded()`, `readFinderTags()`, `Store.migrated`, `removeTag()` +- 移除 AppIcon.iconset 目录(build 已改用 icon-icns.icns) + +## [3.1.6] — 2026-05-06 + +- 完整国际化:Settings 所有页面、编辑模式、标签编辑器全部使用 tr() 翻译 +- 9 语种翻译补全(新增 settings.*, edit.*, tag.*, app.* 共 14 个 key) +- 新增 key:settings.launchAtLogin, settings.showInDock, edit.tags, app.name, app.description, app.version, app.build + +## [3.1.3] — 2026-05-06 + +- 清除 Re-index 功能:已脱离 Finder,每次 overlay 打开自动扫描新 app,无需手动触发 + +## [3.1.2] — 2026-05-06 + +- 修复 Show in Dock 不生效:监听 UserDefaults 变化动态切换 activationPolicy +- 新增 Launch at login(开机启动)开关,默认勾选,首次安装自动启用 + +## [3.1.1] — 2026-05-06 + +- 修复语言菜单勾选与实际语言不一致(`L10n.currentCode` 替代 UserDefaults) +- 修复 `setupMenuBar` 重复调用导致图标消失(先移除旧 statusItem) +- Preferences → General 新增「Show in Dock」Toggle + +## [3.1.0] — 2026-05-06 + +- 国际化:支持 9 种语言(英/简中/繁中/日/韩/俄/法/意/西) +- 菜单栏新增 Language 子菜单切换语言 +- 翻译文件独立存储在 `Apptag/Localization/*.json` +- `L10n.swift` 管理器 + `tr()` 辅助函数 + ## [3.0.11] — 2026-05-06 - 容器标题最小宽度优化:`.layoutPriority(1)` 让文字优先占空间,分隔线压缩,可显示约15字符 @@ -95,4 +377,3 @@ - Carbon 全局热键 Shift+Option+Space - Finder 标签读取、分组显示、全屏 overlay - 标签编辑(与 Finder xattr 同步) - -- Gitblit v1.9.3