Trash

ゴミ箱をからにする

ゴミ箱をコマンドから空にするばあい
ゴミ箱の中に何が入っているか?が重要
『シンボリックリンク』がゴミ箱の中にある状態で
rm -Rf コマンドを使うと、意図しないファイルの削除が発生する場合がある
なので
対象の子要素にシンボリックリンクが無いことを確証できないないなら
フォルダレベルの削除に
rm -Rf を使うべきではない
また
macOS12以降
ゴミ箱に入れる
と ゴミ箱の中身をからにする
には
特別な意味を持つ場面があります
ファイルはできるだけ
rmで削除せずに
ゴミ箱いれて『empty the trash』が色々な意味で推奨できる方法になったって事かな

trash.bash

AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001/usr/bin/sudo -u SOME_USER /usr/bin/osascript -e 'tell application "Finder" to empty the trash without warns before emptying'
AppleScriptで生成しました

一番安全で
ただ
アクセシビリティへの許可と
初期設定でゴミ箱をからにするときの警告画面を出さないようにしておくことが必要

セカンドベストがfindコマンドを使う方法
find.bash
サンプルコード

サンプルソース(参考)
行番号ソース
001/usr/bin/sudo -u SOME_USER /usr/bin/find "/Users/SOME_USER/.Trash" -mindepth 1 -delete
AppleScriptで生成しました
だけれども
findでゴミ箱内を検索するには
フルディスクアクセスが必要

番外編としては
AutomatorのワークフローやAPPを作っておいて実行させるのも良い
また
Remote Desktop.appのワークフローを使うのも確実で安全
ちなみに
Remote Desktop.appのゴミ箱をからにするワークフローは
『empty the trash without warns before emptying』だったりする

|

[AppleScript 基本]ゴミ箱に入れる


サンプルコード

サンプルソース(参考)
行番号ソース
001
002#デスクトップの新規、空のテキストファイルを作成する
003tell application "Finder"
004  try
005    make new file at (path to desktop folder) with properties {name:"名称未設定.txt"}
006  end try
007end tell
008
009-->この時点でのファイル名は "名称未設定.txt"
010
011#2秒まって
012delay 1
013
014#ファイル名の変更
015tell application "Finder"
016  tell folder (path to desktop folder)
017    set name of file "名称未設定.txt" to "Untitled.txt"
018  end tell
019end tell
020
021#2秒まって
022delay 1
023
024
025#ゴミ箱に入れる
026tell application "Finder"
027  move file "Untitled.txt" of folder (path to desktop folder) to the trash
028end tell
AppleScriptで生成しました

|

[考察]$HOME/Library/Containers/以下のファイル操作(削除)

結論
1:基本的には『Finder』からmove aliaFilePath to the trashが最も安全
2:Bashを使う場合は必ずFindを使って削除する

$HOME/Library /Containersは
コンテナマネージャーが監視しているから
通常の方法では削除もゴミ箱にも入れられない
Objective-CのtrashItemAtURLやremoveItemAtURLはエラーになる
『ゴミ箱に入れることができませんでした。このファイルへのアクセス権がありません。』
また
bashの場合mvコマンドに対してアクセス権がないのでゴミ箱に入れられない
うっかりrm -Rf すると
内部にシンボリックリンクがあるのでユーザーのライブラリーをゴッソリ削除することになり
取り返しがつかない事になる

1:基本的には『Finder』からmove aliaFilePath to the trashが最も安全

あくまでも参考にしてください

サンプルソース(参考)
行番号ソース
001tell application "Finder"
002move aliasChkDirPath to the trash
003end tell
AppleScriptで生成しました

2:Bashを使う場合は必ずFindを使って削除する

あくまでも参考にしてください

サンプルソース(参考)
行番号ソース
001#! /usr/bin/env bash
002
003/usr/bin/find "$HOME/Library/Containers/バンドルID" -type f -delete
004/usr/bin/find "$HOME/Library/Containers/バンドルID" -type d -empty -delete
AppleScriptで生成しました

|

[メンテナンス] Containers 配下の全てのCachesをゴミ箱に入れる


【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
##自分環境がos12なので2.8にしているだけです
use AppleScript version "2.8"
use framework "Foundation"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application


set appFileManager to refMe's NSFileManager's defaultManager()
set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSUserDomainMask))
set ocidLibraryDirURL to ocidURLsArray's firstObject()
set ocidContainersDirPathURL to ocidLibraryDirURL's URLByAppendingPathComponent:("Containers")

set ocidOption to refMe's NSDirectoryEnumerationSkipsHiddenFiles
set ocidKeyArray to refMe's NSArray's arrayWithArray:({(refMe's NSURLPathKey), (refMe's NSURLIsDirectoryKey), (refMe's NSURLIsSymbolicLinkKey)})
set listSubPathResult to (appFileManager's contentsOfDirectoryAtURL:(ocidContainersDirPathURL) includingPropertiesForKeys:(ocidKeyArray) options:(ocidOption) |error|:(reference))
set ocidSubPathURLArray to item 1 of listSubPathResult
repeat with itemSubPathURL in ocidSubPathURLArray
  set ocidCachesDirPathURL to (itemSubPathURL's URLByAppendingPathComponent:("Data/Library/Caches"))
  ###【1】シンボリックリンクか?判定
  set litsBoolIsSymLink to (ocidCachesDirPathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsSymbolicLinkKey) |error|:(reference))
  if (item 2 of litsBoolIsSymLink) = (refMe's NSNumber's numberWithBool:true) then
    log "シンボリックリンクなので処理しない"
  else if (item 2 of litsBoolIsSymLink) = (refMe's NSNumber's numberWithBool:false) then
    ###【2】ディレクトリか?判定
    set litsBoolIsDir to (ocidCachesDirPathURL's getResourceValue:(reference) forKey:(refMe's NSURLIsDirectoryKey) |error|:(reference))
    if (item 2 of litsBoolIsDir) = (refMe's NSNumber's numberWithBool:false) then
      log "フォルダでは無いなら処理しない"
    else
      ###【3】ディレクトリの中のコンテンツの取得
      set listCachesDirPathResult to (appFileManager's contentsOfDirectoryAtURL:(ocidCachesDirPathURL) includingPropertiesForKeys:(ocidKeyArray) options:(ocidOption) |error|:(reference))
      set ocidCachesDirPathResultArray to item 1 of listCachesDirPathResult
      ###【3】で取得したコンテンツの結果があるならゴミ箱に入れる
      if ocidCachesDirPathResultArray ≠ (missing value) then
repeat with itemCachesDirPathURL in ocidCachesDirPathResultArray
##log itemachesDirPath's |path|() as text
##ゴミ箱に入れる
set listResult to (appFileManager's trashItemAtURL:(itemCachesDirPathURL) resultingItemURL:(itemCachesDirPathURL) |error|:(reference))
end repeat
      else
log "3のディレクトリの中身が空なので処理するものがない"
      end if
    end if
  end if
end repeat

|

[Finder 設定]ゴミ箱を空にする時の警告の有無

フルディスクアクセスの設定が必要です

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application


###警告を出さないようにする
tell application "Finder"
  set boolWarns to (trash's warns before emptying) as boolean
  if boolWarns is true then
    set trash's warns before emptying to false
  end if
  set boolWarns to (trash's warns before emptying) as boolean
end tell


###警告出すようにする
tell application "Finder"
  set boolWarns to (trash's warns before emptying) as boolean
  if boolWarns is false then
    set trash's warns before emptying to true
  end if
  set boolWarns to (trash's warns before emptying) as boolean
end tell



######警告出すようにする
set strFilePath to "~/Library/Preferences/com.apple.finder.plist"
set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
set ocidFilePathURL to refMe's NSURL's fileURLWithPath:(ocidFilePath)
### 読み込み
set ocidPlistDict to refMe's NSMutableDictionary's alloc()'s initWithContentsOfURL:(ocidFilePathURL)
### 値確認
set boolValue to ocidPlistDict's valueForKey:("WarnOnEmptyTrash")
if boolValue = (refMe's NSNumber's numberWithBool:false) then
ocidPlistDict's setValue:(refMe's NSNumber's numberWithBool:true) forKey:("WarnOnEmptyTrash")
  ####保存
  set boolDone to ocidPlistDict's writeToURL:(ocidFilePathURL) atomically:true
end if

###警告を出さないようにする
set strFilePath to "~/Library/Preferences/com.apple.finder.plist"
set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
set ocidFilePathURL to refMe's NSURL's fileURLWithPath:(ocidFilePath)
### 読み込み
set ocidPlistDict to refMe's NSMutableDictionary's alloc()'s initWithContentsOfURL:(ocidFilePathURL)
### 値確認
set boolValue to ocidPlistDict's valueForKey:("WarnOnEmptyTrash")
if boolValue = (refMe's NSNumber's numberWithBool:true) then
ocidPlistDict's setValue:(refMe's NSNumber's numberWithBool:false) forKey:("WarnOnEmptyTrash")
  ####保存
  set boolDone to ocidPlistDict's writeToURL:(ocidFilePathURL) atomically:true
end if




###警告を出さないようにする
set strCommandText to ("/usr/libexec/PlistBuddy -c \"Print:WarnOnEmptyTrash\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
set strBoolWarns to (do shell script strCommandText) as text
if strBoolWarns is "true" then
  ##値の変更 BOOL
  set strCommandText to ("/usr/libexec/PlistBuddy -c \"Set:WarnOnEmptyTrash bool false\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
  do shell script strCommandText
  ##確認
  set strCommandText to ("/usr/libexec/PlistBuddy -c \"Print:WarnOnEmptyTrash\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
  do shell script strCommandText
  ##保存
  set strCommandText to ("/usr/libexec/PlistBuddy -c \"Save\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
  do shell script strCommandText
end if


###警告出すようにする
set strCommandText to ("/usr/libexec/PlistBuddy -c \"Print:WarnOnEmptyTrash\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
set strBoolWarns to (do shell script strCommandText) as text
if strBoolWarns is "false" then
  ##値の変更 BOOL
  set strCommandText to ("/usr/libexec/PlistBuddy -c \"Set:WarnOnEmptyTrash bool true\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
  do shell script strCommandText
  ##確認
  set strCommandText to ("/usr/libexec/PlistBuddy -c \"Print:WarnOnEmptyTrash\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
  do shell script strCommandText
  ##保存
  set strCommandText to ("/usr/libexec/PlistBuddy -c \"Save\" \"$HOME/Library/Preferences/com.apple.finder.plist\"") as text
  do shell script strCommandText
end if

###警告出すようにする
set strCommandText to ("/usr/bin/defaults read com.apple.finder WarnOnEmptyTrash") as text
set strBoolWarns to (do shell script strCommandText) as text
if strBoolWarns is "0" then
  set boolWarns to false as boolean
  set strCommandText to ("/usr/bin/defaults write com.apple.finder WarnOnEmptyTrash -boolean true") as text
  do shell script strCommandText
end if
set strCommandText to ("/usr/bin/defaults read com.apple.finder WarnOnEmptyTrash") as text
set strBoolWarns to (do shell script strCommandText) as text

###警告を出さないようにする
set strCommandText to ("/usr/bin/defaults read com.apple.finder WarnOnEmptyTrash") as text
set strBoolWarns to (do shell script strCommandText) as text
if strBoolWarns is "1" then
  set boolWarns to false as boolean
  set strCommandText to ("/usr/bin/defaults write com.apple.finder WarnOnEmptyTrash -boolean false") as text
  do shell script strCommandText
end if
set strCommandText to ("/usr/bin/defaults read com.apple.finder WarnOnEmptyTrash") as text
set strBoolWarns to (do shell script strCommandText) as text



|

[bash]全てのローカルアカウントのゴミ箱を空にする 少し修正(警告出ないようにした)

フルディスクアクセスの設定が必要です

【スクリプトエディタで開く】|

#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
# 要管理者権限
########################################
###管理者インストールしているか?チェック
USER_WHOAMI=$(/usr/bin/whoami)
/bin/echo "実行したユーザーは:$USER_WHOAMI"
if [ "$USER_WHOAMI" != "root" ]; then
  /bin/echo "このスクリプトを実行するには管理者権限が必要です。"
  /bin/echo "sudo で実行してください"
  ### path to me
  SCRIPT_PATH="${BASH_SOURCE[0]}"
  /bin/echo "/usr/bin/sudo \"$SCRIPT_PATH\""
  /bin/echo "↑を実行してください"
  exit 1
else
  ###実行しているユーザー名
  SUDO_USER=$(/bin/echo "$HOME" | /usr/bin/awk -F'/' '{print $NF}')
  /bin/echo "実行ユーザー:" "$SUDO_USER"
fi

###コンソールユーザーにのみ処理する
CONSOLE_USER=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/ { print $3 }')
/bin/echo "CONSOLE_USER:$CONSOLE_USER"
if [ -z "$CONSOLE_USER" ]; then
  /bin/echo "コンソールユーザーが無い=電源入れてログインウィンドウ状態"
else
  /bin/echo "コンソールユーザーに対しての処理"
  ###エラーよけにゴミ箱に削除する物を作っておく
  /usr/bin/sudo -u "$CONSOLE_USER" /usr/bin/touch "/Users/$CONSOLE_USER/.Trash/ForEmptyTrash.tmp"
  ##この1秒がないとゴミ箱がすでに空の場合にエラーが出る
  /bin/sleep 1
  ###ゴミ箱を空に 警告無し
  /usr/bin/sudo -u "$CONSOLE_USER" /usr/bin/osascript -e "tell application id \"com.apple.Finder\" to empty the trash without warns before emptying"
fi

########################################
###ローカルのユーザーアカウントを取得
TEXT_RESULT=$(/usr/bin/dscl localhost -list /Local/Default/Users PrimaryGroupID | /usr/bin/awk '$2 == 20 { print $1 }')
###リストにする
read -d '\\n' -r -a LIST_USER <<<"$TEXT_RESULT"
###リスト内の項目数
NUM_CNT=${#LIST_USER[@]}
/bin/echo "ユーザー数:" "$NUM_CNT"
########################################
##リストの内容を順番に処理
for ITEM_LIST in "${LIST_USER[@]}"; do
  /bin/echo "LIST_USER:ユーザー名:" "${ITEM_LIST}"
  if [ "$SUDO_USER" == "root" ]; then
    ###ユーザーチェンジして
    /usr/bin/su - "${ITEM_LIST}"
  fi
  ###ゴミ箱パス
  TRASH_PATH="/Users/${ITEM_LIST}/.Trash"
  TRASH_CNT=$(/usr/bin/sudo -u "${ITEM_LIST}" /bin/ls "$TRASH_PATH" | wc -l)
  /bin/echo "削除前ゴミ箱の内包数:" "$TRASH_CNT"
  ##ゴミ箱の中を空にする
  /usr/bin/sudo -u "${ITEM_LIST}" /usr/bin/find "/Users/${ITEM_LIST}/.Trash" -mindepth 1 -delete
  TRASH_CNT=$(/usr/bin/sudo -u "${ITEM_LIST}" /bin/ls "$TRASH_PATH" | wc -l)
  /bin/echo "削除後ゴミ箱の内包数:" "$TRASH_CNT"
  ##ルートに戻す
  if [ "$SUDO_USER" == "root" ]; then
    ###ユーザーチェンジして
    /usr/bin/su - root
  fi

done

/bin/echo "処理終了しました"

exit 0


|

[bash]path to rash folder from user domain


【スクリプトエディタで開く】|

#!/bin/bash

ITEM_USER="user_name"

RASH_DIR=$(/usr/bin/sudo -u "${ITEM_USER}" /usr/bin/mktemp -d "/Users/${ITEM_USER}/.Trash/XXXXXXXX")
/bin/echo "$RASH_DIR"
## path to rash folder from user domain
exit 0


|

[bash]path to temporary items from user domain


【スクリプトエディタで開く】|

#!/bin/bash

ITEM_USER="user_name"

TMP_DIR=$(/usr/bin/sudo -u "$ITEM_USER" /usr/bin/mktemp -d)
/bin/echo "$TMP_DIR"
TMP_DIR_T=$(/usr/bin/dirname "$TMP_DIR")
TMP_FILE_NAME=$(/usr/bin/basename "$TMP_DIR")
/bin/echo "$TMP_DIR_T"
/bin/echo "$TMP_FILE_NAME"
TEMP_DIR_PATH="$TMP_DIR_T/TemporaryItems"
/bin/echo "$TEMP_DIR_PATH"
## path to temporary items from user domain
exit 0


|

[applescript]bashでのテンポラリー キャッシュ ゴミ箱 起動時に削除する項目


【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
##自分環境がos12なので2.8にしているだけです
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

set appFileManager to refMe's NSFileManager's defaultManager()

####テンポラリ
set ocidTemporaryDirPathURL to appFileManager's temporaryDirectory
log ocidTemporaryDirPathURL as text
log className() of ocidTemporaryDirPathURL as text
###起動時に削除する項目
set ocidTemporaryItemsPathURL to ocidTemporaryDirPathURL's URLByAppendingPathExtension:"TemporaryItems"
###キャッシュ
set ocidContainerDirPathURL to ocidTemporaryDirPathURL's URLByDeletingLastPathComponent()
set ocidCachesPathURL to ocidContainerDirPathURL's URLByAppendingPathExtension:"C"

#####キャッシュ
set ocidUserCachesPathURLArray to (appFileManager's URLsForDirectory:(refMe's NSCachesDirectory) inDomains:(refMe's NSUserDomainMask))
log item 1 of ocidUserCachesPathURLArray as alias
log className() of ocidUserCachesPathURLArray as text

####ゴミ箱
set ocidUserTrashPathURLArray to (appFileManager's URLsForDirectory:(refMe's NSTrashDirectory) inDomains:(refMe's NSUserDomainMask))
log item 1 of ocidUserTrashPathURLArray as alias
log className() of ocidUserTrashPathURLArray as text

###旧記述
tell application "Finder"
  set aliasTemporaryItems to path to temporary items from local domain as alias with folder creation
  set aliasTemporaryDirPath to container of aliasTemporaryItems as alias
  
  set aliasTrash to path to trash folder from user domain as alias with folder creation
end tell




|

[Bash]bashでのテンポラリー キャッシュ ゴミ箱 起動時に削除する項目


【スクリプトエディタで開く】|

#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
########################################
# set -x
########################################
ITEM_USER=$(/usr/bin/whoami)

MKTEMP_DIR=$(/usr/bin/sudo -u "$ITEM_USER" /usr/bin/mktemp -d)
TEMP_DIR_T="$(/usr/bin/dirname "$MKTEMP_DIR")"
TEMP_DIR="$(/usr/bin/dirname "$TEMP_DIR_T")"
TEMP_DIR_C="$TEMP_DIR/C"
TEMP_DIR_0="$TEMP_DIR/0"
TEMP_DIR_CleanupAtStartup="$TEMP_DIR/Cleanup At Startup"
TEMP_DIR_TemporaryItems="$TEMP_DIR/TemporaryItems"

CHACHE_DIR="/Users/$ITEM_USER/Library/Caches"
USER_TRASH_DIR="/Users/$ITEM_USER/.Trash"

/usr/bin/sudo -u "$ITEM_USER" /bin/makdir -pm 777 "$TEMP_DIR_CleanupAtStartup"
/usr/bin/sudo -u "$ITEM_USER" /bin/makdir -pm 777 "$TEMP_DIR_TemporaryItems"

/bin/echo "TEMP_DIR:" "$TEMP_DIR"
/bin/echo "TEMP_DIR_C:" "$TEMP_DIR_C"
/bin/echo "TEMP_DIR_T:" "$TEMP_DIR_T"
/bin/echo "TEMP_DIR_0:" "$TEMP_DIR_0"
/bin/echo "TEMP_DIR_Cleanup:" "$TEMP_DIR_CleanupAtStartup"
/bin/echo "TEMP_DIR_TemporaryItems:" "$TEMP_DIR_TemporaryItems"

/bin/echo "CHACHE_DIR:" "$CHACHE_DIR"
/bin/echo "USER_TRASH_DIR:" "$USER_TRASH_DIR"

|

その他のカテゴリー

Accessibility Acrobat Acrobat 2020 Acrobat 2024 Acrobat AddOn Acrobat Annotation Acrobat AppleScript Acrobat ARMDC Acrobat AV2 Acrobat BookMark Acrobat Classic Acrobat DC Acrobat Dialog Acrobat Distiller Acrobat Form Acrobat GentechAI Acrobat JS Acrobat JS Word Search Acrobat Maintenance Acrobat Manifest Acrobat Menu Acrobat Merge Acrobat Open Acrobat PDFPage Acrobat Plugin Acrobat Preferences Acrobat Preflight Acrobat Print Acrobat Python Acrobat Reader Acrobat Reader Localized Acrobat Reference Acrobat Registered Products Acrobat SCA Acrobat SCA Updater Acrobat Sequ Acrobat Sign Acrobat Stamps Acrobat URL List Mac Acrobat URL List Windows Acrobat Watermark Acrobat Windows Acrobat Windows Reader Admin Admin Account Admin Apachectl Admin ConfigCode Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Mobileconfig Admin NetWork Admin Permission Admin Pkg Admin Power Management Admin Printer Admin Printer Basic Admin Printer Custompapers Admin SetUp Admin SMB Admin softwareupdate Admin Support Admin System Information Admin TCC Admin Tools Admin Umask Admin Users Admin Volumes Admin XProtect Adobe Adobe AUSST Adobe Bridge Adobe Documents Adobe FDKO Adobe Fonts Adobe Reference Adobe RemoteUpdateManager Adobe Sap Code AppKit Apple AppleScript AppleScript Duplicate AppleScript entire contents AppleScript List AppleScript ObjC AppleScript Osax AppleScript PDF AppleScript Pictures AppleScript record AppleScript Video Applications AppStore Archive Archive Keka Attributes Automator BackUp Barcode Barcode Decode Barcode QR Bash Basic Basic Path Bluetooth BOX Browser Calendar CD/DVD Choose Chrome Chromedriver CIImage CityCode CloudStorage Color Color NSColor Color NSColorList com.apple.LaunchServices.OpenWith Console Contacts CotEditor CURL current application Date&Time delimiters Desktop Desktop Position Device Diff Disk do shell script Dock Dock Launchpad DropBox Droplet eMail Encode % Encode Decode Encode HTML Entity Encode UTF8 Error EXIFData exiftool ffmpeg File File Name Finder Finder Window Firefox Folder FolderAction Font List FontCollections Fonts Fonts Asset_Font Fonts ATS Fonts Emoji Fonts Maintenance Fonts Morisawa Fonts Python Fonts Variable Foxit GIF github Guide HTML Icon Icon Assets.car Illustrator Image Events ImageOptim Input Dictionary iPhone iWork Javascript Jedit Ω Json Label Language Link locationd lsappinfo m3u8 Mail Map Math Media Media AVAsset Media AVconvert Media AVFoundation Media AVURLAsset Media Movie Media Music Memo Messages Microsoft Microsoft Edge Microsoft Excel Microsoft Fonts Microsoft Office Microsoft Office Link Microsoft OneDrive Microsoft Teams Mouse Music Node Notes NSArray NSArray Sort NSAttributedString NSBezierPath NSBitmapImageRep NSBundle NSCFBoolean NSCharacterSet NSData NSDecimalNumber NSDictionary NSError NSEvent NSFileAttributes NSFileManager NSFileManager enumeratorAtURL NSFont NSFontManager NSGraphicsContext NSGraphicsContext Crop NSImage NSIndex NSKeyedArchiver NSKeyedUnarchiver NSLocale NSMetadataItem NSMutableArray NSMutableDictionary NSMutableString NSNotFound NSNumber NSOpenPanel NSPasteboard NSpoint NSPredicate NSRange NSRect NSRegularExpression NSRunningApplication NSScreen NSSet NSSize NSString NSString stringByApplyingTransform NSStringCompareOptions NSTask NSTimeZone NSUbiquitous NSURL NSURL File NSURLBookmark NSURLComponents NSURLResourceKey NSURLSession NSUserDefaults NSUUID NSView NSWorkspace Numbers OAuth PDF PDF Image2PDF PDF MakePDF PDF nUP PDF Pymupdf PDF Pypdf PDFContext PDFDisplayBox PDFImageRep PDFKit PDFKit Annotation PDFKit AnnotationWidget PDFKit DocumentPermissions PDFKit OCR PDFKit Outline PDFKit Start PDFPage PDFPage Rotation PDFView perl Photoshop PlistBuddy pluginkit plutil postalcode PostScript PowerShell prefPane Preview Python Python eyed3 Python pip QuickLook QuickTime ReadMe Regular Expression Reminders ReName Repeat RTF Safari SaveFile ScreenCapture ScreenSaver Script Editor Script Menu SF Symbols character id SF Symbols Entity Shortcuts Shortcuts Events sips Skype Slack Sound Spotlight sqlite StandardAdditions StationSearch Subtitles LRC Subtitles SRT Subtitles VTT Swift swiftDialog System Events System Settings TemporaryItems Terminal Text Text CSV Text MD Text TSV TextEdit Tools Translate Trash Twitter Typography UI Unit Conversion UTType valueForKeyPath Video VisionKit Visual Studio Code VMware Fusion Wacom Weather webarchive webp Wifi Windows XML XML EPUB XML HTML XML LSSharedFileList XML LSSharedFileList sfl2 XML LSSharedFileList sfl3 XML objectsForXQuery XML OPML XML Plist XML Plist System Events XML RSS XML savedSearch XML SVG XML TTML XML webloc XML xmllint XML XMP YouTube Zero Padding zoom