# windows_style_bar **Repository Path**: liuweig/windows_style_bar ## Basic Information - **Project Name**: windows_style_bar - **Description**: 类似ubar,和ubar不同的是,可以让第二块屏幕的最大化窗口底部 不被任务栏遮挡 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-18 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Windows Style Taskbar for macOS 一个类似于ubar的Mac任务栏工具,让macOS的任务栏表现得像Windows一样 - 每个窗口都独立显示,不合并相同应用的窗口。 ## 功能特性 - ✅ **分离窗口显示**: 像Windows一样显示每个独立窗口,不合并相同应用 - ✅ **智能窗口标题**: - VSCode显示项目名 - 微信区分主窗口和朋友圈 - Chrome显示页面标题 - ✅ **多显示器支持**: 每个显示器都有独立的任务栏 - ✅ **窗口最大化限制**: 最大化窗口不会被任务栏遮挡 - ✅ **交互功能**: - 单击切换到窗口 - 双击最小化/恢复窗口 - 右键菜单操作 - ✅ **自动过滤**: 不显示后台应用(如VPN等无窗口应用) - ✅ **始终在前**: 任务栏始终显示在最前面 ## 系统要求 - macOS 10.15 (Catalina) 或更高版本 - 需要辅助功能权限 ## 安装和运行 ### 1. 编译应用程序 ```bash ./build.sh ``` ### 2. 运行应用程序 ```bash # 方法1: 使用启动脚本(推荐) ./run.sh # 方法2: 直接打开应用程序包 open build/WindowsStyleTaskbar.app # 方法3: 直接运行可执行文件 ./build/WindowsStyleTaskbar ``` ### 3. 授权辅助功能权限 ⚠️ **重要:** 首次运行时,系统会提示需要辅助功能权限,这是必需的! 1. 运行应用程序后,系统会弹出授权提示 2. 点击 "打开系统偏好设置" 3. 或者手动打开:**系统偏好设置** > **安全性与隐私** > **辅助功能** 4. 点击左下角的🔒锁图标并输入密码 5. 找到 "WindowsStyleTaskbar" 并☑️勾选启用 6. 重新启动应用程序 ```bash # 快速打开设置页面 open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility" ``` ### 4. 测试应用程序 ```bash # 运行测试脚本检查状态 ./test.sh # 停止应用程序 ./stop.sh ``` ## 文件结构 ``` windows_style/ ├── main.swift # 应用程序入口点 ├── WindowManager.swift # 窗口监听和管理 ├── TaskbarView.swift # 任务栏UI界面 ├── TaskbarController.swift # 任务栏控制器 ├── Info.plist # 应用程序配置 ├── build.sh # 编译脚本 ├── run.sh # 启动脚本 ├── stop.sh # 停止脚本 ├── test.sh # 测试脚本 ├── README.md # 说明文档 └── build/ # 编译输出目录 ├── WindowsStyleTaskbar # 可执行文件 └── WindowsStyleTaskbar.app/ # 应用程序包 ``` ## 工作原理 1. **窗口监听**: 使用macOS的Accessibility API监听所有应用程序的窗口变化 2. **多显示器检测**: 自动检测每个显示器并为其创建独立任务栏 3. **窗口识别**: 智能识别窗口类型并优化显示名称 4. **交互处理**: 处理单击、双击、右键等用户交互 5. **布局调整**: 监听窗口最大化事件并自动调整布局避免遮挡 ## 技术特点 - **Swift + SwiftUI**: 使用现代Swift技术栈构建 - **原生API**: 直接使用macOS原生API确保最佳性能 - **实时更新**: 实时监听窗口变化并更新任务栏 - **内存优化**: 高效的窗口监听和资源管理 ## 已知限制 - 某些系统应用可能无法完全控制 - 需要用户手动授权辅助功能权限 - 部分应用的窗口标题获取可能不准确 ## 故障排除 ### 应用无法启动 - 确保已授权辅助功能权限 - 检查macOS版本是否符合要求(10.15+) - 尝试重新编译:`./build.sh` ### 看不到任务栏 1. 运行测试脚本:`./test.sh` 2. 检查辅助功能权限是否已授权 3. 重新启动应用程序:`./stop.sh && ./run.sh` 4. 检查是否有其他应用程序窗口打开 ### 任务栏不显示某些窗口 - 某些应用可能使用特殊的窗口类型 - 后台应用(如VPN)不会显示窗口 - 检查应用是否真的有可见窗口 ### 编译错误 - 确保Xcode命令行工具已安装: `xcode-select --install` - 检查Swift版本: `swift --version` - 确保使用的是macOS 10.15+ ### 权限问题 ```bash # 快速打开辅助功能设置 open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility" # 检查应用程序是否在运行 ./test.sh # 重新启动应用程序 ./stop.sh && ./run.sh ``` ## 开发说明 这是一个原生macOS应用程序,使用Swift编写。如果需要修改或扩展功能: 1. 修改对应的Swift文件 2. 运行 `./build.sh` 重新编译 3. 测试功能是否正常 ## 许可证 本项目仅供学习和个人使用。