2009-08-26 [長年日記]
_ [ruby] ATOKダイレクト for Mac 2009 でクリップボードの文字列を貼る
ATOK2009 for Mac を買ったのでATOKダイレクトを使ってみた。
目的は「クリップボードのデータをhref要素の中にいれた文字列を作りたい」。
例えば
http://igarashikuniaki.net/tdiary/
をクリップボードにコピーしておいて実行したら
<a href="http://igarashikuniaki.net/tdiary/">http://igarashikuniaki.net/tdiary/</a>
を得たい。
この操作よくやるのだけど、どこで実行させるのがいいのかなと考えて、
emacsかなぁでもブラウザで日記を入力してる時も使いたいなぁと
もやもやしてたらずっと作らずじまい。いい機会なので作った。
ruby でOSを問わずクリップボードにアクセスする、っていうライブラリは
ないみたいなので、mac の pbpaste コマンドを使うことにした。
---
#! ruby -Ku
require 'kconv'
result = `pbpaste` # コマンドを実行して標準入力に出力される結果を得る。
puts str = NKF.nkf("-w", result) # w = utf8
---
こんな感じ。
次にATOKダイレクト。
後述のURLからサンプルコード、自作スクリプトのインストーラ、デバッガがDLできます。
同封のPDFに使い方の説明があるので分からなくなったらそれを見つつ。
言語はPerl, Ruby, Python。今回はRubyを使います。(いや、Rubyしか私は使えません。(^^;))
サンプルコードをインストーラで入れてコードを眺めればどう動くか分かりやすいです。
run_process( a_request_data ) メソッドが呼ばれて処理が走ります。
ATOKで入力中の文字列は a_request_data[ 'composition_string' ] です。
あとはxmlファイルを2つ編集するのですが、
サンプルコードを参考に編集すればOKです。
できたらデバッガで動作を確かめる。
デバッガと同じフォルダにあるpluginへ作った.rbをコピーすればテストできます。
できたらインストーラを実行してATOKへ自作スクリプトをインストール。
反映するにはlogoutが必要なのがちょとめんどくさい。
あとはこれをATOKダイレクト環境設定のショートカットタブで登録すれば便利。
5つまで登録できますね。
(ショートカットキーは別途キー設定のページを開かないとだけど。。。)
文字未入力状態だと実行できないのか。(キー設定はしてるのだけど・・・)
細かいツッコミはありますが、
便利になったし、サンプルもちゃんと入ってて作れたし、いい感じです。:)
ATOKはどのアプリでも呼び出せるのがメリットですよね。
サンプルコード置いておくのでATOKダイレクトプラグイン作ってみたい方はどぞー。
改変などご自由に〜。
# と、ここまで書いて分かったのですが、
# このスクリプト、実行したら長すぎる文字列は後ろが切れる。(^^;) ぇー
今回の話からはズレるかも知れませんが、ご参考まで。<br>もしメインのブラウザが Firefox なら、Make Link という拡張機能がオススメですよ!
>june29さん<br>おお、これ便利だね!>MakeLink<br>使ってみます。<br>情報ありがとー!!