【macOS】重置Finder窗口位置信息 & 大小信息

✨重置Finder窗口位置信息

重置Finder窗口位置信息的shell脚本如下

使用如下命令新建reset-window-position.sh文件 并使用vim编辑

touch reset-window-position.sh
vim reset-window-position.sh

reset-window-position.sh中写入以下内容

#!/bin/zsh

# 输入应用名称
echo "请输入应用程序的名称(如:Safari):"
read appName

# 获取输入的 bundle identifier
bundleId=$(osascript -e "id of app \"$appName\"")

# 检查 bundle identifier 是否获取成功
if [ -z "$bundleId" ]; then
    echo "无法获取应用的 bundle identifier。"
    exit 1
fi

echo "应用的 bundle identifier 是:$bundleId"

# 查找窗口位置信息
# 尝试在两个可能的位置查找 plist 文件
plistPaths=("$HOME/Library/Containers/$bundleId/Data/Library/Preferences/$bundleId.plist" "$HOME/Library/Preferences/$bundleId.plist")
foundPlist=""

for plistPath in "${plistPaths[@]}"; do
    if [ -f "$plistPath" ]; then
        echo "找到 plist 文件:$plistPath"
        foundPlist=$plistPath
        break
    fi
done

if [ -z "$foundPlist" ]; then
    echo "未找到 plist 文件。"
    exit 1
fi

# 使用 plutil 和 grep 查找窗口位置信息
windowFrames=$(plutil -p "$foundPlist" | grep NSWindow | grep Frame)

if [ -z "$windowFrames" ]; then
    echo "未找到窗口位置信息。"
    exit 1
fi

echo "找到的窗口位置信息如下:"
echo "$windowFrames"

# 选择要删除的窗口信息字段
echo "请输入您想要删除的窗口信息字段(例如:NSWindow Frame MainWindow):"
read frameKey

# 删除选中的字段
defaults delete "$bundleId" "$frameKey"

echo "已删除指定的窗口位置信息。"

赋予执行权限后 运行shell脚本即可

chmod +x reset-window-position.sh
sh reset-window-position.sh

✨重置Finder窗口大小信息

通过阅读以上shell脚本可知Finder的窗口存储在~/Library/Preferences/com.apple.finder.plist文件中

我们输出plist文件内容到json

plutil -p ~/Library/Preferences/com.apple.finder.plist >> ~/Desktop/temp.json

使用VS Code打开阅读可知实际上窗口大小信息存放在WindowBounds键值中

image-20240409214122285

如果需要删除某个位置的窗口大小信息需要根据WindowBounds字段找到对应key

例如上图key为TrashViewSettings

实际上存放了废纸篓的窗口状态


阅读如上shell脚本先使用如下命令获取Finder的bundleId

osascript -e "id of app \"Finder\""

使用default命令重置窗口大小信息

defaults delete $bundleId $frameKey

例如上图应该执行命令为

defaults delete com.apple.finder TrashViewSettings

但是由于实际上plist文件中可能存在很多个WindowBounds字段

或者也可以先备份Finder设置

截个图保存自定义设置

然后直接删除com.apple.finder.plist文件

rm ~/Library/Preferences/com.apple.finder.plist && killall Finder

✨参考及引用

https://sspai.com/prime/story/reset-macos-window-position


⭐转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/18124956

版权所有,如需转载请注明出处。

posted @ 2024-04-09 22:02  双份浓缩馥芮白  阅读(80)  评论(0编辑  收藏  举报