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

Keyboard MaestroのThird Party Plug Insの作り方

Keyboard MaestroのThird Party Plug Insの作り方

Keyboard MaestroでThird Party Plug Insを作ってみたかったので、作り方をまとめました。

基本の設定

必要ファイル

Keyboard MaestroのThird Party Plug Insに必要なファイルは下記の3つです。

ファイル入力内容
スクリプトファイルAppleScriptなら.scptファイル、シェルスクリプトなら.shを用意。
中にプラグインの処理を書く
Icon.pngアクションに表示されるアイコン画像(64px × 64pxがベスト)
Keyboard Maestro Action.plistアクションのタイトルや、入力項目を設定するファイル

この3つを用意します。

Keyboard Maestro Action.plistの最低限の記述

Keyboard Maestro Action.plistで、アクションのタイトルや項目などの設定を入力します。

書き方は、<key><string>(もしくは<array>)がセットになっていて、<key>で項目を設定して、次の行の<string>で値を入力します。

<?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>アクションの名前</string>
    <key>Script</key>
    <string>Action.scpt</string>
    <key>Icon</key>
    <string>Icon.png</string>
    <key>Title</key>
    <string>アクション上のタイトルに表示する項目</string>
    <key>Parameters</key>
    <array>
        <dict>
            <key>Label</key>
            <string>ラベル名</string>
            <key>Type</key>
            <string>TokenString</string>
        </dict>
    </array>
</dict>
</plist>

<string>に入力する内容は下記の通りです。上記のサンプルコードはあくまでも最低限の設定なので、他に項目を追加したい場合は追加してください。

keystringに入力する内容
Nameアクションの名前を入力
Scriptスクリプトファイルの名前を入力(拡張子も含める)
Iconアイコン画像の名前を入力(基本はIcon.png)
Titleアクションの上の方に表示するタイトルを入力
Timeoutタイムアウトまでの時間を秒単位で設定する(デフォルトは99時間)
Authorアクションの作者を入力
URL作者に関連するURLを入力
Helpツールチップに表示させるヘルプ用の文章を入力
Results スクリプトの出力をどうするか設定する
設定できる値は下記の通り(複数選択する場合は|で区切る)

  • None:なし
  • Window:ウインドウ
  • Briefly:簡素に表示
  • Typing:入力
  • Pasting:ペースト
  • Variable:変数へ追加
  •  Clipboard:クリップボードへコピー
Parametersこの先でアクションに表示させる項目を設定する

アクションに表示させる項目の作成

<key>Parameters</key>の次の<array>内に、アクションに表示させる項目を設定していきます。

書き方の基本としては、先ほどの<key>で項目を設定して、次の行の<string>で値を入力するのと一緒です。
ただし、「<dict>で囲った部分が行になる」とだけ覚えておきましょう。

<key>の値でよく使うのは、ラベルを設定する「Label」と、入力項目を設定する「Type」のどちらかです。

keystringに入力する内容
Labelラベル名を入力する
Type入力フォームを設定する
DefaultTypeでPopupMenuを選んだ場合は、
セレクトボックスのデフォルトの値を設定する
MenuTypeでPopupMenuを選んだ場合は、
セレクトボックスの中身を設定する(選択肢は|で区切る)

ちなみに、「Label」はあとで値を取得するために必須になってくるので、必然的にLabelとTypeは交互に入力することになります。

そして、この「Type」の次の行の<string>で、項目を選択します。

stingに入力する内容表示される項目
String1行の文字入力欄
TokenStringTokenが入力できる1行の文字入力欄
Calculation計算ができる文字入力欄
Text複数行の文字入力欄
TokenTextTokenが入力できる複数行の文字入力欄
Checkboxチェックボックス
PopupMenuセレクトボックス

これらを組み合わせて、自分の作りたいアクションに必要な項目を作成していきます。

スクリプトファイルの作成

今回はAppleScriptで処理を書いていく方法をご紹介します。

普通にAppleScriptを書けばいいだけなのですが、Keyboard Maestroのアクション項目で入力した値を引っ張ってくるには、下記のコードで「Label」に入力した値を「KMPARAM_ラベル名」の形式で入力します。

set 変数名 to system attribute "KMPARAM_Label_Name"

ちなみに、「Label」に半角スペースを入力している部分は、全て_(アンダースコア)に変更すると読み取ってくれます。

あとはこの変数名を使って処理を書いてあげればOK。

アクションの読み込み方

アクションを読み込む方法は2通りあります。

  • 必要ファイルが入ったフォルダをZip形式で圧縮してKeyboard Maestroのアイコンにドラッグアンドドロップする方法
  • 必要ファイルが入ったフォルダを、「Keyboard Maestro Actions」に格納する

「Keyboard Maestro Actions」フォルダは、下記パスにあります。

~/Library/Application\ Support/Keyboard\ Maestro/Keyboard\ Maestro\ Actions

開発中はこの「Keyboard Maestro Actions」にフォルダを置いて作業することになりますし、アクションを削除したい場合はこのフォルダから削除する必要があります。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

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

Twitterをフォロー Facebookでいいね