有些插件作者不善美工或不拘小節,所以對於圖標這類與主要功能無關的細節常常忽略。有些插件雖然在系統設置中有設置項,卻沒有圖標,看起來有點突兀。我們看看除了寫郵件給作者反映問題以外,還有什麼能做的。
一、概述
插件如果在系統設置內有選項,通常他們是依賴於PreferenceLoader 的,根據Preferences的規范,會加載 //Library/PreferenceLoader/Preferences目錄下的.plist 文件,並根據文件內容形成系統設置項。
Tips:所以只需要將這些.plist文件的擴展名改掉,比如改成.plist0 這個設置項在系統設置內就隱藏了,但插件功能不受影響,如圖所示:
二、詳解
言歸正傳。打開插件在PreferenceLoader 目錄下的配置文件。可見其中的兩個字符串變量:icon 和 label 分別對應下圖以Safari Downloader 為例(上圖可見,他也是沒圖標的),其中的icon部分作者非常幽默地填了:MabyeIAddThisLater.png
我們隨便拷個58*58的圖標到//Library/PreferenceLoader/Preferences 並改名為MabyeIAddThisLater.png,看看效果。
文件名沒有@2x導致圖標按原尺寸顯示了,把.plist內的文件名和圖標文件名同時改成[email protected]就ok了。
當然,為了避免下次插件升級的時候需要再次更改,還是老實點,用29*29的圖標,文件名就不要改了。
需要注意的是,有些插件設置的圖標默認不是在這個目錄,而是在 /Library/PreferenceBundles 目錄下對應插件名稱的目錄裡。在調用的時候無需使用目錄全名,比如插件【 TransparentCameraBar】圖標名只寫著TCB.png 實際上他使用的是 /Library/PreferenceBundles/TransparentCameraBarSettings.bundle/TCB.png。這些設置有個特點,.plist文件內有bundle字符串,指定bundle文件夾名稱。