Mac OS X のダッシュボードウィジェットを作るとき、Mac OS X 固有のコマンドを使うことで、クリップボードを利用したコピー&ペーストを実装できます。
クリップボード関連のコマンドには、
pbcopy
: クリップボードへコピーpbpaste
: クリップボードの内容をペースト
があります。
例えば、”TEST” という文字をクリップボードにコピーする場合は、次の JavaScript コードになります。
widget.system("/bin/echo -n 'TEST' | /usr/bin/pbcopy", null);
ただし日本語を使う場合は、Shift JIS に変換してからコピーする必要があるため、iconv で変換するコードを追加します。
widget.system("/bin/echo -n 'TEST' | /usr/bin/iconv -f UTF8-MAC -t SHIFT_JIS | /usr/bin/pbcopy", null);
また、クリップボードの内容を “output” 変数に入れる場合は、次の JavaScript コードになります。
output = widget.system("/usr/bin/pbpaste", null).outputString;
なお、ダッシュボードウィジェットでコマンドを使えるようにするため、Info.plist の AllowSystem もしくは AllowFullSystem を Yes にする必要があります。
コメントする