纯 SwiftUI 打造的 macOS 全屏应用启动器 — 搜索、点击、起飞。 超小安装包,无需修改任何配置,一键拥有原版启动台
- 全屏沉浸 — 磨砂玻璃背景,应用图标网格铺满屏幕,视觉干扰降到最低
- 极速搜索 — 键入应用名或首字母,毫秒级过滤,回车即启动
- 键盘优先 —
Esc隐藏窗口、Enter打开应用,手不离键盘 - 悬浮动效 — 鼠标划过图标时弹簧缩放 + 强调色高亮,触感反馈拉满
- 主题定制 — 浅色/深色/跟随系统 + 5 种强调色 + 图标大小调节
- 可调布局 — 列数(4–16)× 行数(2–12),窗口尺寸自动适配
- 零依赖 —
swiftc直接编译,不依赖 SwiftPM / Xcode 工程
| 操作 | 快捷键 / 方式 |
|---|---|
| 打开 | 启动 zdock.app |
| 🔍 搜索 | 直接输入(支持拼音首字母) |
点击图标 / 搜索后 Enter |
|
| 🙈 隐藏窗口 | Esc |
| ⚙️ 设置 | 点击顶栏 ⚙ 图标 |
Sources/zdock/
├── zdockApp.swift # @main 入口,Window 场景
├── ContentView.swift # 主界面:搜索栏 + 网格 + Esc 隐藏
├── Models/
│ └── AppInfo.swift # 应用信息模型(name / url / icon)
├── Services/
│ ├── AppService.swift # 扫描 /Applications 获取全部 App
│ └── Config.swift # 布局配置 + @Storage 属性包装器
├── ViewModels/
│ └── ViewModel.swift # @Published 状态管理
└── Views/
└── SettingsView.swift # 设置弹窗(列数 / 行数)
./build.sh
# 输出 → zdock.appswiftc编译所有 Swift 源文件 →.build/zdock- 创建
.app包结构,拷贝二进制 +Info.plist+ 图标 codesign本地签名
通过设置面板调整,持久化到 UserDefaults:
| 键 | 默认值 | 范围 | 说明 |
|---|---|---|---|
layout_columns |
8 |
4–16 | 每行应用数 |
layout_rows |
5 |
2–12 | 可见行数 |
theme_colorScheme |
0 |
0–2 | 配色方案(跟随系统 / 浅色 / 深色) |
theme_accentColor |
blue |
— | 强调色(blue/purple/green/orange/pink) |
theme_iconSize |
64 |
48–96 | 图标大小(步长 8) |
窗口尺寸自动计算:
windowWidth = 88 × columns + 20 × (columns - 1) + 64
windowHeight = 100 × rows + 20 × (rows - 1) + 120
| 能力 | 实现 |
|---|---|
| 磨砂背景 | NSViewRepresentable 桥接 NSVisualEffectView |
| 键盘事件 | SwiftUI onKeyPress(.escape) |
| 主题切换 | preferredColorScheme + @AppStorage 配色方案 |
| 应用扫描 | FileManager 递归遍历 3 个目录,去重 + 字母排序 |
| 持久化 | @AppStorage / 自定义 @Storage → UserDefaults |
| 打开应用 | NSWorkspace.shared.openApplication(at:configuration:) |
- 主题系统(浅色/深色/跟随系统 + 5 强调色)
- 图标大小调节
- 自定义图标包
- Alfred 风格 Actions(文件搜索、剪贴板…)
- 快捷键唤起 / 全局热键
- 插件系统
MIT © 2025
如果这个项目帮到你,欢迎请我喝杯咖啡。有问题也可以直接加微信。
| 微信支付 | 加我微信 |
|---|---|
![]() |
![]() |
- 发邮件可以发到 zz12hui@outlook.com 或 wws00123@qq.com。
- 加微信请直接扫码,备注一下来意。


