使用 Bash 脚本自定义 macOS 的 Dock
Customize macOS's Dock with a Bash script
我想使用 Bash 脚本(没有 AppleScript)自定义 macOS 的 Dock。
目前我有代码(从this answer获取和修改):
#!/bin/bash
defaults delete com.apple.dock persistent-apps
dock_item() {
printf '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>%s</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>', ""
}
defaults write com.apple.dock persistent-apps -array \
"$(dock_item /Applications/iTerm.app)" \
"$(dock_item /Applications/Visual\ Studio\ Code.app)" \
"$(dock_item /Applications/Slack.app)" \
"$(dock_item /Applications/Google\ Chrome.app)" \
"$(dock_item /System/Applications/Utilities/Screenshot.app)"
killall Dock
更改默认 Dock:
收件人:
但我还希望它删除垃圾箱旁边的下载文件夹和出现在 运行 应用程序的垂直线(在本例中仅 iTerm)之间的重复图标 kept/saved 在 Dock 中(垂直线的左侧)。像这样:
此外,在进行更改后通过代码更新 Dock 的方式是终止 Dock 进程,然后自动重新启动。我觉得应该有一种更快的方法来做到这一点,它不会让 Dock 下降动画,然后桌面变黑一会儿,打开任何最小化的应用程序,然后让 Dock 上升动画(recording)。
比较 defaults read com.apple.dock
从 Dock 中手动删除图标之前和之后打印的内容后,我注意到我只需要删除 recent-apps
(对于重复的图标)和 persistent-others
(对于文件夹)键也是:
defaults delete com.apple.dock recent-apps
defaults delete com.apple.dock persistent-others
我想使用 Bash 脚本(没有 AppleScript)自定义 macOS 的 Dock。
目前我有代码(从this answer获取和修改):
#!/bin/bash
defaults delete com.apple.dock persistent-apps
dock_item() {
printf '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>%s</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>', ""
}
defaults write com.apple.dock persistent-apps -array \
"$(dock_item /Applications/iTerm.app)" \
"$(dock_item /Applications/Visual\ Studio\ Code.app)" \
"$(dock_item /Applications/Slack.app)" \
"$(dock_item /Applications/Google\ Chrome.app)" \
"$(dock_item /System/Applications/Utilities/Screenshot.app)"
killall Dock
更改默认 Dock:
收件人:
但我还希望它删除垃圾箱旁边的下载文件夹和出现在 运行 应用程序的垂直线(在本例中仅 iTerm)之间的重复图标 kept/saved 在 Dock 中(垂直线的左侧)。像这样:
此外,在进行更改后通过代码更新 Dock 的方式是终止 Dock 进程,然后自动重新启动。我觉得应该有一种更快的方法来做到这一点,它不会让 Dock 下降动画,然后桌面变黑一会儿,打开任何最小化的应用程序,然后让 Dock 上升动画(recording)。
比较 defaults read com.apple.dock
从 Dock 中手动删除图标之前和之后打印的内容后,我注意到我只需要删除 recent-apps
(对于重复的图标)和 persistent-others
(对于文件夹)键也是:
defaults delete com.apple.dock recent-apps
defaults delete com.apple.dock persistent-others