WebDesigner's Memorandumウェブデザイナーの備忘録

Keyboard Maestroで「Path Finderで選択したファイルを特定アプリで開く」プラグインを作成する方法

Keyboard Maestroで、Finderで選択したファイルを特定アプリで開きたいときは「Open the Finder Selection」アクションを使うと簡単に実現できます。

しかし、Path Finderを使っている人は変数を使ったり条件分岐やAppleScriptを組み合わせてようやく実現できます。

マクロが長くなってしまうと見通しが悪くなってしまいますし、時間が経ってから見返したときに、何をやっているのか分からなくて混乱してしまいます。

そこで、Third Party Plug InsでPath Finderで選択したファイルを特定アプリで開けるようにしてみました。

Third Party Plug Insについて

Third Party Plug Insの作り方や必要ファイルは過去に紹介したので、そちらをご覧ください。

Keyboard Maestro Action.plist

入力欄ではTokenStringを使用して、アプリ名を入力するようにします。

本当は「Open the Finder Selection」アクションと同じように、アプリ一覧が表示されるセレクトボックスを表示させられると良いのですが、Third Party Plug Insでは用意されていませんでした。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Name</key>
    <string>Open the Path Finder Selection</string>
    <key>Script</key>
    <string>Action.scpt</string>
    <key>Icon</key>
    <string>Icon.png</string>
    <key>Title</key>
    <string>Open Path Finder Selection '%Param%Open Path Finder selection with%'</string>
    <key>Parameters</key>
    <array>
        <dict>
            <key>Label</key>
            <string>Open Path Finder selection with</string>
            <key>Type</key>
            <string>TokenString</string>
        </dict>
    </array>
</dict>
</plist>

Action.scpt

入力欄の「Open Path Finder selection with」の値を取得したいので、「set appName to system attribute “KMPARAM_Open_Path_Finder_selection_with”」でappName変数に入力した値を入れています。

あとは、appNameをもとにアプリを取得して、Path Finderで選択しているファイルを開くだけです。

set finderSelection to ""
set theTarget to ""
set appName to system attribute "KMPARAM_Open_Path_Finder_selection_with"
set appPath to path to application appName
set defaultTarget to (path to home folder as alias)
tell application "Path Finder"
    set theTarget to {}
    repeat with pfItem in (get selection)
        set the end of theTarget to POSIX path of pfItem
    end repeat
end tell
tell application appName
    open theTarget
end tell

使い方

使うときはThird Party Plug Insに追加されている「Open the Path Finder Selection」をマクロに追加して、入力欄にアプリ名を入力すればOKです(正確に入力する必要があります)。

まとめ

やっていることは、今まで使っていたAppleScriptを外部ファイル化して、Keyboard Maestroの入力欄と繋げているだけなので、コードの関数化に近いです。

今まで複数のアクションを使っていたことが1つにまとめられて、管理もしやすくなりました。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね