[Kazehakase-devel 2542] [PATCH] Rubyで風博士を拡張

Back to archive index

Eriko Sato peanu****@gmail*****
2006年 1月 13日 (金) 18:08:33 JST


はじめまして.
佐藤と申します.

Rubyで風博士を拡張する部分を作りました.

拡張するには,~/.kazehakase/actions/ ディレクトリにRubyスクリプトを
置きます.*.rb のファイルを自動的に登録するようにしてあるので,ファ
イル名は *.rb にして下さい.

拡張はアクションとして登録されます.

例えば,ターミナルに "Hello World" と表示するHelloアクションは次のよ
うに書きます.

def act_hello(action, group, kz)
  puts "Hello World"
end

アクションは,「act_アクション名」という名前のメソッドとします.
今回はHelloというアクションなので,act_helloメソッドを定義します.

「アクション名」の部分は,最初の文字と"_" の直後の文字が大文字になり,
"_" は削除されます.例えば,アクション名は次のようになります.

* act_hello は Hello
* act_good_bye は GoodBye
* act_nice_to_meet_you は  NiceToMeetYou

もし,アクションにラベル等を設定したい場合は,
act_アクション名_configという名前のメソッドを定義します.
このメソッドの第一引数にはHashが渡ってきます.
このHashに値を設定すことにより,ラベルを設定することができます.

たとえば,さっきのHelloアクションのラベルを"Hello"とし,
ツールチップを"print Hello World" とする場合は,次のように
act_hello_configメソッドを定義します.

def act_hello_config(config, kz)
  config[:label] = "Hello"
  config[:tooltip] = "print Hello World"
end

これで必要なRubyスクリプトはできあがりました.

次に,風博士を起動します.
メニューバーの「編集 -> 設定」で設定画面を開きます.
ジェスチャーを選択します.
Helloというアクションが登録されているので,選択し,適当な
マウスジェスチャーを登録してください.
例として,ここではRULDを登録することにします.

これでHelloアクションが使えるようになりました.

では,早速使ってみます.
ブラウザ画面上で,右クリックしたまま右上左下と動かします.
すると,ターミナル上に"Hello world"と表示されます.

やりました!成功ですね ;-)


風博士本体に標準添付のアクションを作る場合は,
data/ext/ruby/kz/actions/ に上述のHelloアクションのようにアク
ションを作成し,data/ext/ruby/kz/actions/Makefile.am の
extruby_DATA にファイル名を追加してください.


今回は,サンプルとして3つのアクションを作成しました.

まず1つ目は,RubyDialogアクションです.
こっそり,上級者用UIの「ツール」メニューの中に登録してお
きました.これを使うと,インタラクティブにRubyの式を評価
できます.この環境では,風博士のウィンドウであるKzWindow
を表すkzという変数があります.
kzを使うことによって風博士のウィンドウを操作できます.
拡張アクションの作成にも役立つと思います.

2つ目は,ReloadRubyアクションです.
これも上級者用UIの「ツール」メニューの中に登録しておきました.
これは風博士を再起動することなく,アクションを再読み込みします.
なので,アクションを作成して,ReloadRubyをすると,
作成したアクションを登録することができます.
また,変更したアクションをすぐに反映させることができます.
これでアクション作成時の作業効率が上がりますよね.

3つ目は,TextLinkアクションです.
これはFirefoxのExtensionsにある拡張です.
http://piro.sakura.ne.jp/xul/_textlink.html のアイデアを使わせて頂きました.
よく掲示板等で,ttp://google.com のようにURIが載せられています.
また,http://google.com のように完全なURIが載せられていてもリンクが
張られていない場合があります.
このように載せられているURIのページを見たい場合,URIをコピーして
URI入力欄に張り付け,不足している部分を補完しなければなりません.
この作業を簡単にしようとしたのがTextLinkです.
URI部分をマウスで選択して,(あらかじめ設定しておいたTextLinkの)
マウスジェスチャをすると,新しいタブでそのURIのページを開きます.


どうでしょうか?

---
佐藤 江里子
peanu****@gmail*****
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: kz-ruby.diff
型:         text/x-patch
サイズ:     57179 バイト
説明:       無し
下載 


Kazehakase-devel メーリングリストの案内
Back to archive index