English | 简体中文
DeskMagnet 是一个 macOS Finder 桌面图标吸附工具。应用对外显示为“桌面清理大师”:点击清理后,它不删除、不重命名、不移动文件路径,只临时修改 Finder 桌面图标坐标,把桌面图标收纳到窗口投影内;关闭或恢复时再把图标和 Finder 桌面设置还原。
当前项目只支持 macOS。核心能力依赖 Finder AppleScript、macOS 桌面坐标系和 .app bundle,不支持 Windows 或 Linux。
- 读取 Finder 桌面图标与原始坐标。
- 临时关闭 Finder 桌面自动排列,确保图标可被移动。
- 按窗口位置计算隐藏投影区,把图标收纳到窗口背后。
- 拖动窗口时按图标数量分级同步,图标过多时降低实时频率并在松手后全量同步。
- 退出、关闭窗口或检测到未完成状态时恢复桌面。
DeskMagnet 只改 Finder 的桌面图标显示坐标和临时 Finder 桌面布局设置。它不会删除文件、不会重命名文件、不会移动文件系统路径。
首次运行真实清理流程时,macOS 会要求允许 DeskMagnet 控制 Finder。拒绝该权限时,应用会显示自动化权限错误;允许后可在“系统设置 -> 隐私与安全性 -> 自动化”里管理。
应用默认跟随系统语言,也可以在 macOS 菜单栏的“语言”菜单里切换:English、简体中文、日本語、繁體中文、Español、Français、Português、한국어、Deutsch、हिन्दी。
“一键清理”在菜单栏中是独立菜单,主应用菜单保留“还原桌面”和“退出”。如果清理后焦点被 Finder 抢走,应用会在流程结束后重新激活主窗口。
swift build --product DeskMagnetApp
swift test
Scripts/build-app.sh构建完成后,App 位于:
build/桌面清理大师.app
Scripts/build-app.sh 会执行 release 构建、组装 .app、写入 Info.plist、复制 .icns,然后用 ad-hoc 签名验证 bundle。它是本地和 CI 的唯一 App 打包入口。
从仓库根目录运行:
open "build/桌面清理大师.app"本地构建产物不是浏览器下载文件,通常不需要清除 quarantine。
当前下载包是 zip。解压后先把 桌面清理大师.app 拖入 Applications。由于应用使用 ad-hoc 签名,尚未经过 Apple Developer ID notarization,如果 macOS 提示 "Apple could not verify Desktop Cleaner is free of malware" 或同类安全提示,请运行:
xattr -dr com.apple.quarantine "/Applications/桌面清理大师.app"
open "/Applications/桌面清理大师.app"当前产物是 ad-hoc signed .app,不是 Apple Developer ID signed,也没有 notarization。公开分发时,用户首次打开可能仍需清除 quarantine。要进入正式分发,需要补 Developer ID 证书、hardened runtime、notarytool 上传与 stapler 验证。
- 当前只支持 macOS。
- 产物是 ad-hoc signed,没有 Developer ID 签名,也没有 notarization。
- 首次真实清理需要用户授予 Finder 自动化权限。
- 桌面图标很多时,窗口拖动同步会降频,松手后再做最终同步。
Assets/ App 图标资产
Scripts/ 本地与 CI 共用构建脚本
Sources/DeskMagnetApp/ macOS App 外壳、窗口与 SwiftUI UI
Sources/DeskMagnetCore/ Finder 自动化、坐标转换、布局、恢复状态
Sources/DeskMagnetCLI/ 命令行验证入口
Tests/ DeskMagnetCore 与 DeskMagnetApp 测试
docs/ 产品规格与参考资料
docs/win版桌面清理大师参考.mp4 是这个产品形态的创意参考视频。当前不知道原作者是谁;如果有人知道来源,欢迎提供线索或提交 PR 补充署名。
