複数のクリップボード履歴をとるソフト、ClipMenuのバージョン0.2.1をリリースしました。
主な変更点:
- 履歴クリアの際に起こる不具合を修正。
- メニュー内のアイコン表示の不具合を修正。
- ホットキーで起動した際に、正しい位置に表示されない問題を修正。
- アクション機能の動作対象OSを、暫定的にMac OS X v10.4.xに限定(Mac OS X v10.5環境において、表示に問題が生じたため)。
今回は不具合の修正のみです。問題解決にご協力頂いた、Hiroさん、Tomさん、tanemoriさん、Hedderikさん、ありがとうございました。
それから、CotEditorに倣って、ドキュメントにベータ版の注意書きを明記しました。まだ安定していなくて、すみません。
ダウンロードはこちらからです。
» ClipMenu
複数のクリップボード履歴をとるソフト、ClipMenuのバージョン0.2をリリースしました。
主な変更点:
- アクション機能を実装。
- 環境設定画面にツールバーを搭載。
- メニューに、数字キーのショートカットを追加。
- 履歴を全消去できる、メニュー項目を追加。
- 動作対象OSを、Mac OS X v10.4以上に変更。
ご不便をおかけしましたが、やっと履歴のクリアができるようになりました
履歴の個別削除は、アクションメニューから行えます。アクションメニューの表示は、対象の履歴上で Shift + クリック するか、 Shift + Enter キーを入力します。
このメニューの表示方法は、本当なら右クリックで行いたかったんですが、技術的な理由により、今の形になりました。解決方法が見つかり次第、対応したいと思っています。
初期状態で使用できるアクションは、
- Capitalize
- lowercase
- Title Case
- UPPERCASE
- プレーンテキストとしてペースト
- 削除
の、6つです。さらに、日本語を対象とした、2つのスクリプトも同梱しています。
- 半角英数字を全角に変換
- 全角英数字を半角に変換
アクションメニューへの追加や削除は、環境設定パネルで行ってください。「アクション」タブで、右側のアウトラインビューから、左側のアウトラインビューにドラッグ&ドロップできます。

また、JavaScriptを使えば、自由に文字列加工用のアクションを作ることができます。スクリプトの書き方は、『JavaScriptアクションの書き方』を参考にしてください。
もしかしたら、説明を読むより、実際にやってみた方が簡単かもしれません。上述の、lowercaseやUPPERCASEは、たったの一行ですから。
不具合を見つけたり、説明が分かりづらいところなどが有れば、指摘していただけると助かります。メールでも、こちらにコメントでもOKです。
ClipMenuはフリーウェア(無料)ですから、お気軽に試してみてください。
ダウンロードはこちらどうぞ
» ClipMenu
基本
ClipMenuでは、ユーザーの作成したアクションを使って、テキスト形式のクリップボード履歴に対する文字列処理を行うことができます。ユーザーアクションの実行には、スクリプト言語のJavaScriptを使用します。
ClipMenuのJavaScript実行エンジンには、WebKitに含まれるJavaScriptCoreを利用しています。JavaScriptの動作仕様は、Safariを参考にしてください。なお、ClipMenuでは基本的に、コアJavaScript部分のみを使用します。
設置
ユーザー作成のJavaScriptファイルは、以下のフォルダに設置します。このフォルダが存在しない場合は、Finderから新規に作成してください。
/Users/<ユーザ名>/ライブラリ/Application Support/ClipMenu/script/action
スクリプトファイルの拡張子は、”.js” になります。これ以外の拡張子を持ったファイルは、無視されます。
actionフォルダ以下に存在するフォルダは、アクションメニューのサブメニューとして機能します。同じ種類のスクリプトファイルは、フォルダにまとめておくと便利です。
スクリプトの書き方
[クリップボード文字列]
ClipMenuアプリケーションから渡されたクリップボード履歴の文字列は、clipText 変数に代入されています。この変数に対して関数を適用したり、メソッドを実行して文字列処理を行ってください。
例)アルファベットをすべて大文字に変える
clipText.toUpperCase();
[処理の終了]
必要な処理が済んだら、return 文で値を戻します。return 文に渡す式の戻り値は、文字列か数値になるようにしてください。
例)アルファベットをすべて大文字に変えて、クリップボードに送る
return clipText.toUpperCase();
この時、return 文に式を指定しないと、クリップボード履歴に対する処理は何も行われません。
例)何も返さず、終了
return;
[ライブラリの読み込み]
複数のファイルで共通して使用する関数などは、ライブラリとして別ファイルに保存しておくと便利です。ClipMenuでは、指定したフォルダに置かれたスクリプトを、ライブラリとして読み込むことができます。読み込みには、ClipMenuオブジェクトの、require() メソッドを使用します。
例)inflection-jsを読み込む
ClipMenu.require('inflection');
require() メソッドの引数には、ライブラリスクリプトのファイル名を渡します。拡張子の”.js”は、有っても無くても構いません。読み込みが成功したかどうかは、require() メソッドの戻り値を使ってチェックできます。ライブラリが見つかれば 1 を、見つからなければ 0 を返します。
例)require() メソッドの戻り値をチェック
var isExist = ClipMenu.require('inflection');
if (!isExist) {
throw new Error('Cound not find the file');
}
ライブラリの読み込みが成功すると、ライブラリ内で定義された関数が利用可能になります。
例)inflection-jsで定義された、capitalize() メソッドを使用する
clipText.capitalize();
ライブラリフォルダには、アプリケーションバンドル内にある標準ライブラリフォルダと、ユーザーが設置するユーザーライブラリフォルダの二種類があります。ユーザーライブラリフォルダは、以下のパスに作成してください。
/Users/<ユーザ名>/ライブラリ/Application Support/ClipMenu/script/lib
ライブラリの読み込みは、ユーザーライブラリフォルダが優先されます。こちらから検索した後、標準ライブラリフォルダの検索を行います。
[ユーザー入力]
prompt() メソッドを使用すれば、ユーザー入力を組み合わせた処理ができます。
例)クリップボードにコピーしたURLと、入力したタイトルを組み合わせて、HTMLコードを作成
var input = prompt('タイトルを入力:');
return '<a href="' + clipText + '" title="' + input + '">' + input + '</a>';
その他
- alert() 、 confirm() メソッドは動作しません。
“Looks Good To Me” の略です。
» LGTM - What does LGTM stand for? Acronyms and abbreviations by the Free Online Dictionary.
google-toolbox-for-macのディスカッショングループで見かけた、一言レス。分かんないって
» Adding GTMNSWorkspace+ScreenSaver - google-toolbox-for-mac | Google Groups
札幌拘置所で、171日間拘束された島村英紀氏が著した本。『私はなぜ逮捕され、そこで何を見たか。』
ほとんどの人には無縁の拘置所暮らしを、詳細に描いています。
著者は独居房に入れられていたそうですが、直接は見えなくても、隣人の様子を伺い知ることができたとか。そのうちの一人が、「ため息ゴリラ」さん。巨漢の彼は、壁を叩いたり、意味の分からない大声を出したりと、普段から騒々しい人だったそうです。そうかと思えば、一転してため息ばかりついたりも。
そんな描写を淡々と読み進めていたら、ゴリラ氏の叫んだ台詞に、思わず吹いた。
たまに意味のある言葉を大声で叫ぶので、ぎょっとする。 「マッキントッシュ!」と数度。何だろう?
マッキントッシュ?!何ですか、それは?
マッキントッシュといってもいろいろありますが、普通はMacの事ですよね。一体、ゴリラ氏とマッキントッシュの間に何が合ったのか、気になります。

Recent Comments