プラグインを作る(2)

まず, plugin.txtの中身から見て行きましょう.

# hello world Ver. 1.0 by Shyouzou Sugitani
charset: UTF-8
standard: 2.0
directory: hello_world
name: hello_world
menuitem: hello world,hello_world.py

最初の行はコメントです. #で始まる行は全て無視されますので内容は自由です. 行の途中からコメントを使用することは出来ません. #の前にスペース等を入れるとコメントとは認識されなくなりますので注意して下さい.

2行目からが設定になります. 設定は”:”で区切って左に変数名, 右に値を書きます.
 charset : UTF-8
の様にスペースを入れても構いません.

charsetはこのファイルの文字コードの指定です. デフォルトはUTF-8です.

この解説の内容に基づいてプラグインを作成する場合はstandardを2.0にして下さい.

directoryはインストール先のディレクトリ(フォルダ)名になります. POSIX/Windows両環境で使うことを想定する場合には日本語や特殊な記号は避けるようにして下さい. それと, hello_world-1.0の様にバージョン番号を含めることはしない方が良いと思います. バージョンが入っていると新しいバージョンをインストールした時に上書きされずに古いバージョンが残ってしまいます.(逆に古いバージョンを残してインストール出来るようにするにはここを変えていくことになります.)

nameはメニューに表示されるこのプラグインの名前です.

次のmenuitemがこのファイルでは一番分かり難い部分だと思います. menuitemは実行するPythonプログラムのファイルと引数を指定します. 最低1個必要です. 書式は

menuitem: サブメニューの項目名, 実行ファイル名, 引数

となります. menuitemを複数指定した場合から見ていきます. サンプルとして「お天気やん」を見てみましょう.

name: お天気やん
menuitem: 現在の天気,otenkiyan.py,current
menuitem: 今日の天気,otenkiyan.py,today
menuitem: 明日の天気,otenkiyan.py,tomorrow

この場合には「お天気やん」というメニューのサブメニューに「現在の天気」,「今日の天気」, 「明日の天気」の3つの項目が作られ, 選んだ項目に対応する引数がotenkiyan.pyに渡されます. hello_worldの様にmenuitemが1つの場合にはメニューは階層構造を取らず”hello world”(nameではなくmenuitemで指定した項目名)だけになります.
ちなみに, 普通はやらないと思いますが, 上の書式を見ると分かる様にmenuitem毎に実行ファイルを変えることも可能です.

“hello world”と「お天気やん」のplugin.txtにはありませんが, startupという設定があります. これはninix-ayaが起動した際にプラグインを自動的に実行する様にするためのものです. 書式は次の通りです.

startup: 実行ファイル名, 引数

注意が必要なのはstartupが実行される時点ではまだゴーストが起動していないのでSakuraスクリプトの送信がすぐには出来ない点です. 常駐型のプラグインを作る場合に使用します.

次回はいよいよプラグインの実行ファイルhello_world.pyの中身を見て行きます.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です