簡體   English   中英

使用 Bash 腳本自定義 macOS 的 Dock

[英]Customize macOS's Dock with a Bash script

我想使用 Bash 腳本(不帶 AppleScript)自定義 macOS 的 Dock。

目前我有代碼(從這個答案中獲取和修改):

#!/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>', "$1"
}

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)之間的重復圖標,這些圖標保存/保存在 Dock 中(在左側垂直線)。 像這樣:

預計碼頭


此外,在進行更改后,代碼更新 Dock 的方式是殺死 Dock 進程,然后自動重新啟動。 我覺得應該有一種更快的方法來做到這一點,它不會動畫 Dock 下降,然后桌面變黑一會兒,打開任何最小化的應用程序,然后動畫 Dock 上升(錄制)。

在比較了defaults read com.apple.dock在手動從 Dock 中刪除圖標之前和之后打印的默認值之后,我注意到我只需要刪除recent-apps (對於重復的圖標)和persistent-others (對於文件夾)鍵出色地:

defaults delete com.apple.dock recent-apps
defaults delete com.apple.dock persistent-others

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM