Les gestionnaires de protocole sont enregistrés auprès d'OS X dans les paquets d'applications (plus précisément, dans le fichier info.plist du répertoire Contents
). Cela devrait être fait par l'application qui le supporte. En d'autres termes, vous devriez pouvoir exécuter directement la deuxième commande et faire en sorte qu'elle ouvre DEVONthink. Basé sur cette page on dirait que c'est comme ça que ça marche, mais vous dites que ce n'est pas le cas, donc il y a un moyen relativement facile de le faire pour n'importe quel programme.
Si ce n'est pas le cas, ou si vous voulez simplement enregistrer votre propre gestionnaire, voici quelques étapes (modifiées à partir de Lancement d'applications externes à l'aide de protocoles personnalisés sous OSX ).
Créez un fichier AppleScript qui contient les éléments suivants.
on open location this_URL
do shell script "open -a 'Applications/DEVONthink Pro.app' this_URL"
end open location
Sur la deuxième ligne, vous définissez ce qui doit se passer lorsque votre protocole est appelé. this_URL
sera l'URL complète saisie (sur la ligne de commande ou ailleurs), y compris le protocole. Dans votre cas, vous souhaitez transmettre l'URL complète, y compris le protocole. x-devonthink-item
dans DEVONthink. Si vous créez votre propre protocole, il se peut que vous ne souhaitiez transmettre qu'une partie de la chaîne de caractères, alors gardez cela à l'esprit.
Enregistrez l'AppleScript en tant que bundle d'application. Une fois enregistré, retrouvez-le sur le disque, faites un clic droit dessus et choisissez Afficher le contenu du paquet. Dans le dossier Contents, vous trouverez un fichier appelé info.plist. Ouvrez-le dans un éditeur de texte ( pas TextEdit, car il est presque certain que le format du fichier en sera altéré).
Au bas du fichier, il y aura
</dict>
</plist>
Directement au-dessus, ajoutez ce qui suit :
<key>CFBundleIdentifier</key>
<string>org.personal.dttrick</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Pass To DEVONthink</string>
<key>CFBundleURLSchemes</key>
<array>
<string>x-devonthink-item</string>
</array>
</dict>
</array>
Sauvegardez et double-cliquez sur votre application. Il ne devrait rien se passer, et c'est bien ainsi, mais en arrière-plan, le protocole a été enregistré auprès du système d'exploitation.
Enfin, de retour dans le Terminal, exécutez la commande de votre choix :
open "x-devonthink-item://2AD2E3D2-58B5-455F-99D4-C91D68C5F959"
DEVONthink devrait s'ouvrir avec l'élément spécifié. Je n'ai pas DEVONthink et je n'ai pas pu le tester ; je me fie à la commande que vous avez fournie initialement comme fonctionnant. Si ce n'est pas le cas, vous devrez modifier l'interpréteur de commandes script dans l'AppleScript pour refléter ce que la commande réelle doit être.