-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp-restore.sh
More file actions
executable file
·45 lines (35 loc) · 1.08 KB
/
Copy pathapp-restore.sh
File metadata and controls
executable file
·45 lines (35 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
# mackup restore + 刷新 plist 缓存
# macOS 14+ 的 cfprefsd 会缓存 plist,restore 后需要 defaults import 才能生效
MACKUP_PREFS_DIR="$HOME/dotfiles/mackup/storage/Library/Preferences"
echo "🔄 恢复 mackup 应用配置..."
echo " 暂停运行中的应用..."
for app in "Alfred Preferences" "Alfred" "Moom" "AltTab" "PopClip" "ScreenBrush" "Ice" "Homerow"; do
killall "$app" 2>/dev/null
done
sleep 1
mackup restore --force
echo "✓ mackup restore 完成"
# 刷新所有 plist 配置到 cfprefsd 缓存
echo "🔄 刷新 plist 配置..."
for plist in "$MACKUP_PREFS_DIR"/*.plist; do
[ -f "$plist" ] || continue
domain=$(basename "$plist" .plist)
echo " ↻ defaults import $domain"
defaults import "$domain" "$plist"
done
echo "✓ plist 配置刷新完成"
echo "🔄 重启相关应用..."
start_app() {
local app_name="$1"
echo " ▶ 启动 $app_name"
open -a "$app_name"
}
start_app "Alfred 5"
start_app "Moom"
start_app "AltTab"
start_app "PopClip"
start_app "ScreenBrush"
start_app "Ice"
start_app "Homerow"
echo "✅ 应用配置恢复完成!"