让 codex app 为你执行下面的内容::

# Hammerspoon 输入法控制迁移说明

这个迁移包包含 4 部分:

1. `Hammerspoon.app`

2. `.hammerspoon/init.lua`

3. `install-on-new-mac.sh`

4. 本说明文件

## 这包里已经处理好的内容

- `Hammerspoon.app` 是当前这台机器上可运行的 `1.1.1` 版本

- 它已经是可执行状态的 app bundle

- 当前配置里的目标输入法是:

```text

com.tencent.inputmethod.wetype.pinyin

## 迁移到新机器前提

- 目标机器需要是 macOS

- 目标机器上要安装并启用你想锁定的输入法

- 如果你仍然使用腾讯输入法拼音,这个 `wanted` 值大概率可以直接沿用

- 如果你换了别的输入法,需要改 `.hammerspoon/init.lua` 里的 `wanted`

## 推荐迁移方式

### 方式一:直接运行安装脚本

在解压后的目录里运行:

```zsh

chmod +x ./install-on-new-mac.sh

./install-on-new-mac.sh

脚本会做这些事:

- 备份目标机器上已有的 `Hammerspoon.app`

- 备份目标机器上已有的 `~/.hammerspoon/init.lua`

- 安装这个包里的 `Hammerspoon.app` 到 `/Applications`

- 覆盖 `~/.hammerspoon/init.lua`

- 启动 Hammerspoon

- 打开“辅助功能”权限页

### 方式二:手动安装

1. 把 `Hammerspoon.app` 拖到 `/Applications`

2. 把 `.hammerspoon/init.lua` 复制到目标机器的 `~/.hammerspoon/init.lua`

3. 启动 Hammerspoon

4. 在“系统设置 -> 隐私与安全性 -> 辅助功能”里允许 `Hammerspoon`

5. 重启一次 Hammerspoon

## 迁移后怎么验证

1. 切到你要固定的中文输入法

2. 按 `Ctrl + Option + Command + I`

3. 屏幕会显示并复制当前 `sourceID`

4. 如果显示值不是 `com.tencent.inputmethod.wetype.pinyin`,就修改 `init.lua` 里的 `wanted`

5. 切换几个 App,确认输入法会自动回到目标输入法

## 当前配置行为

- 切换 App 时,尝试把输入法切回 `wanted`

- 提供 `Ctrl + Option + Command + I` 用来读取当前 `sourceID`

- 提供 `Ctrl + Option + Command + L` 用来打印已启用输入源列表

- 开启了 `hs.autoLaunch(true)`,登录后会自动启动 Hammerspoon

## 注意事项

- 这套方案主要覆盖“切 App 时回到目标输入法”

- 它不是“任何输入框、任何场景都 100% 强制中文”

- 新机器如果没有装腾讯输入法,当前配置不会达到预期,需要先换成正确的 `sourceID`

脚本内容:

#!/bin/zsh

set -euo pipefail

SCRIPT_DIR=${0:A:h}

APP_SRC="$SCRIPT_DIR/Hammerspoon.app"

APP_DST="/Applications/Hammerspoon.app"

CONFIG_SRC="$SCRIPT_DIR/.hammerspoon/init.lua"

CONFIG_DIR="$HOME/.hammerspoon"

CONFIG_DST="$CONFIG_DIR/init.lua"

STAMP=$(date +"%Y%m%d-%H%M%S")

if [[ ! -d "$APP_SRC" ]]; then

echo "未找到 $APP_SRC"

exit 1

fi

if [[ ! -f "$CONFIG_SRC" ]]; then

echo "未找到 $CONFIG_SRC"

exit 1

fi

mkdir -p "$CONFIG_DIR"

if [[ -f "$CONFIG_DST" ]]; then

cp "$CONFIG_DST" "$CONFIG_DST.bak.$STAMP"

echo "已备份配置到 $CONFIG_DST.bak.$STAMP"

fi

if [[ -d "$APP_DST" ]]; then

mv "$APP_DST" "$APP_DST.bak.$STAMP"

echo "已备份现有 App 到 $APP_DST.bak.$STAMP"

fi

cp "$CONFIG_SRC" "$CONFIG_DST"

ditto "$APP_SRC" "$APP_DST"

xattr -dr com.apple.quarantine "$APP_DST" 2>/dev/null || true

open -na "$APP_DST"

open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility" 2>/dev/null || true

cat <

安装已完成。

下一步请手动做两件事:

1. 在系统设置里给 Hammerspoon 开启“辅助功能”

2. 完成后退出并重新打开一次 Hammerspoon

如果你不是用腾讯输入法拼音,请修改:

$CONFIG_DST

当前 wanted 值:

com.tencent.inputmethod.wetype.pinyin

EOF