«前の日記(2009-08-23) 最新 次の日記(2009-08-27)» 編集

いがいが日記


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ダイレクトプラグイン作ってみたい方はどぞー。

改変などご自由に〜。

# と、ここまで書いて分かったのですが、

# このスクリプト、実行したら長すぎる文字列は後ろが切れる。(^^;) ぇー

本日のツッコミ(全2件) [ツッコミを入れる]
_ june29 (2009-09-20 08:36)

今回の話からはズレるかも知れませんが、ご参考まで。<br>もしメインのブラウザが Firefox なら、Make Link という拡張機能がオススメですよ!

_ いが (2009-09-23 12:13)

>june29さん<br>おお、これ便利だね!>MakeLink<br>使ってみます。<br>情報ありがとー!!


«前の日記(2009-08-23) 最新 次の日記(2009-08-27)» 編集