Releases: Shell-human/Touch-Tab
Release list
2.0.1
本次更新专注于新系统适配与启动体验优化:
- 支持 macOS 27 Golden Gate:原生适配最新 macOS 27 SDK 与 Apple Silicon 架构,升级打包指令并摒弃对 Intel (x86_64) 的支持(v2.0.0 为最后一个支持 Intel 的版本)。
- 移除开机自启弹窗:通过检测系统开机启动事件,避免应用在用户登录系统并自动拉起时弹出首选项设置界面。
This update focuses on new system adaptation and startup experience optimizations:
- Support macOS 27 Golden Gate: Natively compiled for the latest macOS 27 SDK and Apple Silicon, upgrading packaging commands and dropping support for Intel (x86_64) architectures (v2.0.0 remains the last version to support Intel).
- Remove Auto-start Popup: Detects system login launch events to prevent the Preferences window from opening automatically upon startup.
2.0
本次更新专注于核心功能扩展、高帧率手势连续性优化与代码的极致打磨:
- 新增手势加速调节:在首选项中添加滑块,支持用户自由调整 0.0x 至 5.0x 的动态手势加速倍率。
- 新增隐藏菜单栏图标:支持在偏好设置中关闭状态栏图标,使应用完全在后台静默运行。
- 手势追踪连续性优化:重构了触发切换后的触摸状态保留逻辑,修复了连续滑动时的速度突变与死帧问题,120Hz 屏幕滑动更丝滑。
- 拦截后台窗口滚动:在触发应用切换期间拦截并过滤多余的滚动事件,避免误触后台窗口内容。
- 状态栏图标深色模式适配:将状态栏图标改为系统模板图像(Template Image),并适配 Control Center 自动隐藏策略,完美融入 macOS 状态栏。
- 全新高动态图标设计:按照 macOS HIG 规范重新绘制 3D 拟物化 Squircle 应用图标,并全新绘制了 22x22 像素对齐的视网膜状态栏图标。
- 极致性能与内存优化:将轨迹追踪的字典 Key 优化为
AnyHashable指针,彻底消灭了高频滑动时产生的大量 String 临时堆内存分配。 - 构建管道与工程化验证:在构建脚本中集成了 Developer ID 签名与 Apple 公证机制,开启
-warnings-as-errors编译选项,并新增资源与签名自动验证。
This update focuses on core feature additions, gesture continuity optimizations for high-refresh-rate displays, and deep performance refinements:
- Gesture Acceleration Option: Added a slider in Preferences, enabling users to adjust the dynamic gesture acceleration multiplier from 0.0x to 5.0x.
- Hide Menu Bar Icon: Added a preference to toggle menu bar icon visibility, allowing the app to run completely in the background.
- Continuous Gesture Tracking: Refactored touch-state retention during trigger phases, resolving velocity drops and frame jitter for a smoother experience on 120Hz displays.
- Background Scroll Interception: Intercepts accidental scroll events dispatched to background windows during app switching.
- Dark Mode Template Tinting: Re-declared status bar items as template images and adapted to macOS Control Center auto-hide rules for seamless system integration.
- Premium Icon Redesign: Redesigned the main app icon following macOS HIG squircle guidelines with 3D depth, alongside pixel-aligned 22x22pt menu bar templates.
- Performance & Memory Refinements: Migrated tracking hash keys to
AnyHashablepointers, eliminating high-frequency String heap allocations during rapid swiping. - Build Pipeline & Verification: Integrated Developer ID signing and Apple notarization paths, enabled strict compilation warnings-as-errors, and added automatic post-build integrity checks.
Touch-Tab v1.3
本次更新专注于体验细节打磨与底层代码质量提升:
- 修复三指手势无响应:修复了三指滑动时由于事件顺序错误导致速度始终计算为 0 的严重缺陷,完美恢复并优化了手势响应度。
- 动态手势加速:手势切换速度现可根据滑动力度自适应调整,轻扫慢速切换,快速一扫直接跳转,操控更直觉。
- 精简首选项界面:移除多余的版权标签与冗余控件,界面更整洁,底部间距经过精心校准,「退出」按钮始终完整显示。
- 完善中文本地化:偏好设置界面全部文案现已支持中文,包括滑块标签、按钮、开关等 15 处文本,不再有英文残留。
- 修复崩溃问题:修复了首选项窗口在特定布局约束下触发的 layout constraint loop 崩溃。
- 代码架构优化:修正 Settings 初始化顺序,简化历史版本数据迁移逻辑,提取常量、消除强制解包、清理过时代码。
- 工程配置修正:更新 Bundle Identifier 以正确重置 macOS 状态栏缓存,确保图标状态一致。
This update focuses on experience refinements and underlying code quality improvements:
- Fixed Gesture Unresponsiveness: Resolved a critical issue where the three-finger swipe velocity was always calculated as zero due to an incorrect calling sequence, restoring fluid gesture detection.
- Dynamic Gesture Acceleration: Switching speed now adapts to swipe intensity — a slow swipe steps one tab at a time, while a fast swipe jumps further, for a more intuitive feel.
- Cleaner Preferences UI: Removed redundant copyright labels and unnecessary controls. Bottom spacing is precisely calibrated to ensure the Quit button is always fully visible.
- Complete Chinese Localization: All 15 UI strings in the Preferences window (slider labels, buttons, toggles) now properly display in Chinese on Chinese-language systems.
- Crash Fix: Fixed a layout constraint loop crash that could occur in the Preferences window under certain layout conditions.
- Code Architecture Improvements: Fixed Settings initialization order, simplified legacy data migration, extracted constants, eliminated force-unwraps, and cleaned up obsolete code.
- Project Configuration Fix: Updated Bundle Identifier to correctly reset the macOS status bar cache and ensure consistent icon state.
Touch-Tab v1.2
本次更新对底层架构进行了优化,支持 Universal Binary 并添加了多语言本地化支持:
- 支持 Universal Binary(通用二进制):原生支持 Intel 和 Apple Silicon (M1/M2/M3) 芯片,无需 Rosetta 2 转译。
- 添加中/英本地化支持:界面、偏好设置关于窗口和状态栏菜单现在可根据系统语言自动切换中英文。
- 改进权限引导:在无法获取辅助功能(Accessibility)权限时,将提供弹窗提示与设置引导。
- 底层架构重构:恢复使用 Swift 6 与 Observation 框架(最低系统要求 macOS 14.0)。
- 清理工程配置:清理了
.xcodeproj配置文件中已删除文件的残留引用,并修正了编译脚本。
This update optimizes the underlying architecture, supports Universal Binary, and adds multilingual localization support:
- Universal Binary Support: Native support for Intel and Apple Silicon (M1/M2/M3) chips without needing Rosetta 2 translation.
- Multilingual Support: The UI, Preferences/About window, and status bar menu now automatically switch between English and Simplified Chinese based on system language.
- Improved Permission Flow: Provides popup alerts and direct settings guidance when Accessibility permissions are missing.
- Underlying Architecture Refactor: Restores Swift 6 and the Observation framework (Minimum macOS 14.0).
- Project Configuration Clean-up: Removed stale file references from the
.xcodeprojfile and updated build scripts.
Touch-Tab v1.1
在 macOS 上用触控板三指轻扫快速切换应用程序。此版本为精心打磨后的增强版,提供了多项功能优化与稳定性修复:
- 三指滚动拦截:彻底解决了原版切换应用时,横扫手势会导致后台页面跟着滚动的 Bug,手势轻扫时静默拦截滚动。
- 首选项自动弹出与恢复:首次打开软件自动打开首选项;在设置中隐藏菜单栏图标后,再次双击运行软件即可重新唤醒首选项窗口。
- 状态栏图标隐藏:支持在设置中一键隐藏菜单栏图标,隐藏后应用在后台静默且常驻运行。
- 实时权限警告横幅:首选项界面中加入了实时的辅助功能(Accessibility)授权提示横幅,并支持一键直达系统设置进行授权。
- 开机自启动支持:在首选项中一键开关开机自动运行。
- 极简现代架构:重构并精简合并为 3 个 Swift 6 + SwiftUI 文件,完全原生且无额外依赖。
Switch apps with trackpad on macOS. This is an enhanced and polished version of Touch-Tab, introducing several enhancements and stability fixes:
- Background Scroll Guard: Swallows horizontal 3-finger scroll events during switching so background windows/pages do not scroll.
- Auto-Open & Reopen Recovery: Preferences window pops up on launch and automatically reopens when launching the app again (even if the menu bar icon is hidden).
- Hide Menu Bar Icon: Toggle status icon visibility directly in settings; the app continues to run silently in the background.
- Real-time Accessibility Banner: Added an interactive warning banner inside Preferences when permission is missing, with a button to open System Settings.
- Launch at Login: Easily toggle autostart directly in Preferences.
- Modern Architecture: Consolidated into a clean 3-file codebase using Swift 6 and SwiftUI.