20260503

[com.apple.finder]SlicesRootAttributes zshスクリプトでの設定例

[com.apple.finder]SlicesRootAttributes zshでの設定例

NOTE記事一覧ですnote.com
SlicesRootAttributes.zsh

サンプルコード

サンプルソース(参考)
行番号ソース
001#!/bin/zsh
002# coding: utf-8
003# set -x
004# export PATH=/usr/bin:/bin:/usr/sbin:/sbin
005# com.cocolog-nifty.quicktimer.icefloe
006# defaults readの場合
007# com_から始まるキーは  "com_apple_ats_name_family"で登録
008# kMD から始めるキーは kMDItemLastUsedDate で登録 クオテーションが違う
009
010LIST_KEY=(
011"kMDItemKind"
012"kMDItemLastUsedDate"
013"kMDItemFSContentChangeDate"
014"kMDItemContentCreationDate"
015"kMDItemDisplayName"
016"kMDItemTextContent"
017"com_apple_ats_name_family"
018"com_apple_ats_name_fond"
019"com_apple_ats_name_full"
020"com_apple_ats_name_postscript"
021"com_apple_ats_name_style"
022"kMDItemFonts"
023"kMDItemFonts.ShortName"
024"kMDItemXMPCredit"
025"kMDItemXMPDigitalSourceType"
026"kMDItemFinderComment"
027"kMDItemComment"
028"kMDItemContentModificationDate"
029"kMDItemMediaTypes"
030"kMDItemUserTags"
031"kMDItemEmailAddresses"
032"com_apple_FileExtensionAttribute"
033"kMDItemFSInvisible"
034"kMDItemFSNodeCount"
035"kMDItemFSCreationDate"
036"kMDItemFSName"
037"kMDItemFSSize"
038"kMDItemFSLabel"
039"kMDItemColorSpace"
040"kMDItemLayerNames"
041"kMDItemPixelCount"
042"kMDItemPixelWidth"
043"kMDItemPixelHeight"
044"kMDItemPageHeight"
045"kMDItemPageWidth"
046"kMDItemOrientation"
047"kMDItemDurationSeconds"
048"kMDItemBitsPerSample"
049)
050 #現在の設定
051STAT_USR=$(/usr/bin/stat -f%Su /dev/console)
052PATH_PLIST="/Users/${STAT_USR}/Library/Preferences/com.apple.finder.plist"
053STR_STDOUT=$(/usr/libexec/PlistBuddy -c "PRINT:SlicesRootAttributes" "${PATH_PLIST}")
054/bin/echo "${STR_STDOUT}"
055
056
057#設定値がなければ追加
058for ITEM_KEY in "${LIST_KEY[@]}"; do
059/bin/echo "${STR_STDOUT}" | /usr/bin/grep -q "${ITEM_KEY}"
060if [ $? -eq 0 ]; then
061/bin/echo "既に存在: ${ITEM_KEY}"
062else
063/bin/echo "新規追加: ${ITEM_KEY}"
064/usr/libexec/PlistBuddy -c "Add:SlicesRootAttributes: string ${ITEM_KEY}" "${PATH_PLIST}"
065fi
066done
067
068#プロセス再起動
069STR_PID=$(/bin/ps -lax | grep cfprefsd | grep $(id -u)| grep -v grep|awk '{print $2}')
070/bin/echo "${STR_PID}"
071/bin/kill -HUP "${STR_PID}"
072sleep 3
073#登録結果
074STR_STDOUT=$(/usr/libexec/PlistBuddy -c "PRINT:SlicesRootAttributes" "${PATH_PLIST}")
075/bin/echo "${STR_STDOUT}"
076
077exit 0
078
079
080
081
AppleScriptで生成しました