An open API service indexing awesome lists of open source software.

https://github.com/aitiotekt/dock-cleat

An app to help lock your Mac's Dock to your main screen. As the Dock can sometimes appear on secondary screens or move unexpectedly when multiscreens.
https://github.com/aitiotekt/dock-cleat

dock lock mac macos multiscreen screens swift

Last synced: 5 months ago
JSON representation

An app to help lock your Mac's Dock to your main screen. As the Dock can sometimes appear on secondary screens or move unexpectedly when multiscreens.

Awesome Lists containing this project

README

          

# DockCleat

DockCleat 图标

**将 Mac 的 Dock 锁定到指定屏幕和位置**

[![CI](https://github.com/aitiotekt/dock-cleat/workflows/Build%20and%20Release/badge.svg)](https://github.com/aitiotekt/dock-cleat/actions) [![版本](https://img.shields.io/github/v/release/aitiotekt/dock-cleat?label=版本)](https://github.com/aitiotekt/dock-cleat/releases) [![Swift](https://img.shields.io/badge/Swift-orange.svg?logo=swift)](https://swift.org) [![macOS](https://img.shields.io/badge/macOS-14.0+-lightgrey.svg)](https://www.apple.com/macos) [![许可证](https://img.shields.io/badge/许可证-MIT-green.svg)](LICENSE)

[中文](README-zh.md) | [English](README.md)

---

DockCleat 是一款 macOS 实用工具,帮助您将 Dock 锁定到指定的屏幕和位置。在使用多显示器时,Dock 有时会出现在次要屏幕上或意外移动。DockCleat 会自动监控并强制执行您首选的 Dock 配置。

## ✨ 功能特性

- 🔒 **Dock 锁定**:将 Dock 锁定到指定的屏幕和位置
- 📍 **位置控制**:选择底部、左侧或右侧位置
- 🖥️ **多显示器支持**:选择显示 Dock 的屏幕
- 🛡️ **实时事件阻塞**:自动防止 Dock 移动尝试
- 🎨 **主题与本地化**:支持浅色/深色主题和英语/中文
- 🚀 **登录启动**:可选择在登录时自动启动应用
- 📊 **菜单栏集成**:从菜单栏快速访问控制

## 📸 截图

### 主窗口
主窗口

### 通用设置
通用设置

### 菜单栏上下文菜单
菜单栏上下文菜单

## 📋 系统要求

- macOS 14.0 (Sonoma) 或更高版本
- 辅助功能权限(事件阻塞所需)

## 🚀 安装

### 一般用户

1. 前往 [Releases](https://github.com/aitiotekt/dock-cleat/releases)
2. 下载最新的 `DockCleat-v*.zip` 文件
3. 解压 ZIP 文件,将 `DockCleat.app` 移动到应用程序文件夹
4. 从应用程序中启动 DockCleat

### 开发者

1. 克隆仓库:
```bash
git clone https://github.com/aitiotekt/dock-cleat.git
cd dock-cleat
```

2. 在 Xcode 中打开 `DockCleat.xcodeproj`

3. 构建项目 (⌘R) 或使用命令行:
```bash
xcodebuild -scheme DockCleat -configuration Release
```

4. 构建好的应用位于 `build/Build/Products/Release/DockCleat.app`

## 📖 使用说明

### 主窗口

主窗口通过两个标签页提供所有设置:

- **Dock 设置**:启用锁定、选择位置(底部/左侧/右侧)、选择目标屏幕、切换自动隐藏
- **通用设置**:语言、主题、可见性选项、登录启动、权限和状态

### 菜单栏

点击菜单栏图标可快速切换锁定、更改设置和打开主窗口。

### 首次启动

1. 启动 DockCleat 并在提示时授予辅助功能权限
2. 配置您首选的 Dock 位置和目标屏幕
3. 启用 Dock 锁定以开始监控

## 🔧 工作原理

DockCleat 使用 Core Graphics 事件拦截来拦截鼠标事件并防止 Dock 移动尝试。它还使用 AppleScript 控制 Dock 设置,并监控屏幕配置变化以自动恢复您的首选设置。

## 🔐 隐私

DockCleat 需要辅助功能权限来拦截鼠标事件。此权限仅在本地使用,不会收集或传输任何数据。

## 🐛 故障排除

- **Dock 未锁定**:确保"启用 Dock 锁定"已打开并授予了辅助功能权限
- **CPU 使用率过高**:Dock 锁定经过优化,在禁用时使用最少的资源
- **菜单栏未显示**:检查"通用设置"中的"在菜单栏中显示"

## 📝 许可证

MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。

## 👤 作者

[@aitiotekt](https://github.com/aitiotekt)

## 🙏 致谢

- 部分参考了 [DockAnchor](https://github.com/bwya77/DockAnchor)
- 使用 SwiftUI 和 Core Graphics 构建
- 本项目在 AI 辅助下开发