[com.apple.finder]SlicesRootAttributes zshでの設定例
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 | |
|---|
| 010 | LIST_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 | #現在の設定 |
|---|
| 051 | STAT_USR=$(/usr/bin/stat -f%Su /dev/console) |
|---|
| 052 | PATH_PLIST="/Users/${STAT_USR}/Library/Preferences/com.apple.finder.plist" |
|---|
| 053 | STR_STDOUT=$(/usr/libexec/PlistBuddy -c "PRINT:SlicesRootAttributes" "${PATH_PLIST}") |
|---|
| 054 | /bin/echo "${STR_STDOUT}" |
|---|
| 055 | |
|---|
| 056 | |
|---|
| 057 | #設定値がなければ追加 |
|---|
| 058 | for ITEM_KEY in "${LIST_KEY[@]}"; do |
|---|
| 059 | /bin/echo "${STR_STDOUT}" | /usr/bin/grep -q "${ITEM_KEY}" |
|---|
| 060 | if [ $? -eq 0 ]; then |
|---|
| 061 | /bin/echo "既に存在: ${ITEM_KEY}" |
|---|
| 062 | else |
|---|
| 063 | /bin/echo "新規追加: ${ITEM_KEY}" |
|---|
| 064 | /usr/libexec/PlistBuddy -c "Add:SlicesRootAttributes: string ${ITEM_KEY}" "${PATH_PLIST}" |
|---|
| 065 | fi |
|---|
| 066 | done |
|---|
| 067 | |
|---|
| 068 | #プロセス再起動 |
|---|
| 069 | STR_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}" |
|---|
| 072 | sleep 3 |
|---|
| 073 | #登録結果 |
|---|
| 074 | STR_STDOUT=$(/usr/libexec/PlistBuddy -c "PRINT:SlicesRootAttributes" "${PATH_PLIST}") |
|---|
| 075 | /bin/echo "${STR_STDOUT}" |
|---|
| 076 | |
|---|
| 077 | exit 0 |
|---|
| 078 | |
|---|
| 079 | |
|---|
| 080 | |
|---|
| 081 | |
|---|
| AppleScriptで生成しました |
|---|