回答:
Path Finderは、「NSFileViewer」設定を変更しているように見えます。これを手動でターミナルからForkLiftを指すように設定できます(私はこれを試しましたが、うまくいくようです):
defaults write -g NSFileViewer -string com.binarynights.ForkLift2
(この-g
設定は、すべてのアプリケーションに対してグローバルに設定されます。)
ただし、Path Finder Webサイトには、DockやFirefoxなど、この設定を尊重しない一部のアプリケーションがリストされていることに注意してください。
defaults delete -g NSFileViewer
。
defaults write -g NSFileViewer -string com.binarynights.ForkLift-3
フォークリフトの公式ドキュメントから:
SetappのForkLiftを使用している場合は、代わりに次のコマンドを貼り付けます。
defaults write -g NSFileViewer -string com.binarynights.forklift-setapp; defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add '{LSHandlerContentType="public.folder";LSHandlerRoleAll="com.binarynights.ForkLift-3";}'
このようにデフォルトのファイルマネージャを変更できますが、ForkLiftまたはTransmitが期待どおりに機能せず、Path Finderのみが機能します
#!/usr/bin/python2.6
from LaunchServices import LSSetDefaultRoleHandlerForContentType, kLSRolesViewer, LSSetDefaultHandlerForURLScheme
from CoreFoundation import CFPreferencesCopyApplicationList, kCFPreferencesCurrentUser, kCFPreferencesAnyHost, CFPreferencesSetAppValue, CFPreferencesAppSynchronize
applicationBundleIdentifier = "com.cocoatech.PathFinder" #"com.panic.Transmit" #"com.binarynights.forklift2"
LSSetDefaultRoleHandlerForContentType("public.folder", kLSRolesViewer, applicationBundleIdentifier)
LSSetDefaultHandlerForURLScheme("file:///", applicationBundleIdentifier)
applicationIDs = CFPreferencesCopyApplicationList(kCFPreferencesCurrentUser, kCFPreferencesAnyHost)
for app_id in applicationIDs:
CFPreferencesSetAppValue("NSFileViewer", applicationBundleIdentifier, app_id);
CFPreferencesAppSynchronize(app_id);
-g
フラグと等価ですNSGlobalDomain
。特定のドメインではなく、グローバルドメインに設定を書き込むだけです。