ClipMenu 0.3.2 リリース

Mac, ソフトウェア 1 Comment »

クリップボード履歴定型文を利用できる、Mac OS X用ユーティリティ、ClipMenuのバージョン0.3.2をリリースしました。

「修飾キー + クリック」に、アクション割り当て

履歴のメニュー項目上で、修飾キーを押しながらのクリックに、さまざまな機能を割り当てられるようになりました。

修飾キー + クリックの設定

環境設定の「アクション」から、設定を変更できます。

初期状態では、Control + クリックに、「アクションメニューをポップアップ」だけが割り当てられています。上のスクリーンショットでは、そのほかの修飾キーにも、それぞれアクションが割り当てられています。

アクションメニューのポップアップは、従来は、Shift + クリックに割り当てられていました。以前のキーの組み合わせがお好みでしたら、こちらで設定を変更してください。

また、マウスの右ボタンクリックは、Control + クリックとして機能します。

スニペットの読み込み/書き出し

登録したスニペットを、まとめて読み込み/書き出しできるようになりました。

スニペットの読み込み/書き出し

環境設定の「スニペット」画面の左下、フォルダの削除ボタンの右隣にある、歯車のアイコンをクリックすると、メニューが表示されます。このメニューから、読み込みと書き出しを行えます。

フォーマットはXML形式なので、エディタやスクリプト言語などで簡単に加工できます。文字列の一括置き換えなどは、こちらの方法で行うと便利だと思います。

スニペットの読み込みは、既に登録したスニペットに追加する形になります。

主な変更点

  • メニュー項目上での「修飾キー + クリック」に、アクション割り当て機能を追加。
  • アクションメニューの呼び出し方法の初期設定を、「右クリック」、「Control + クリック」、「Control + Enter」の3種類に変更。
  • XML形式でスニペットを、読み込み/書き出しする機能を追加。
  • 履歴数の初期値を、50から20に変更。
  • キー入力でアクションメニューがポップアップされなかった問題を修正。
  • ステータスバーのアイコンを非表示にする際の問題を修正。

ダウンロード

ダウンロードはこちらからどうぞ。

» ClipMenu – naotaka.com

Command + V の送信の仕方を変更

Cocoa, Mac, ソフトウェア 9 Comments »

ClipMenuでメニュー項目を選択すると、ペーストするために、Command + v を送信するようになっています。これまでは、Cocoabuilderで紹介されていたCarbon APIを使っていました。

CGPostKeyboardEvent( (CGCharCode)0, (CGKeyCode)55, true );      // command key down
CGPostKeyboardEvent( (CGCharCode)'v', (CGKeyCode)9, true );     // 'v' key down
CGPostKeyboardEvent( (CGCharCode)'v', (CGKeyCode)9, false );    // 'v' key up
CGPostKeyboardEvent( (CGCharCode)0, (CGKeyCode)55, false );     // command key up

でも、これだと、Shiftキーを押しながらメニュー項目を選択すると、Command + v ではなく、Command + Shift + v が送信されてしまいます。CGPostKeyboardEventを呼び出した時点で押し下げされているキーと混ざってしまうんですね。

これまでは問題なかったんですが、新しく、「修飾キー + クリック」にいろいろな機能を割り当てられるように変更したので、問題が生じるようになりました。

そこで、Xcode 3.1のAPIリファレンスを検索してみると、どうもCGPostKeyboardEvent関数の利用は非推奨になっていて、代わりにCGEventCreateKeyboardEvent関数の利用がおすすめのようです。

こちらを使えば、キーボードイベントの作成と、そのイベントをカスタマイズしてからイベントシステムへの送信ができるようになるそうです。対応環境は、Mac OS X 10.4以降と、新しめのAPIですね。

早速試してみました。CGPostKeyboardEventと同じように、command down → v down → v up → command upという手順で呼んでみると、うまく動かない?そこで、CocoabuilderでCGEventCreateKeyboardEventを検索してみると、Dave DeLongさんの質問から始まった二つのスレッドを発見。

DeLongさんは、数時間悪戦苦闘し、思いつく限りググった末に質問を投稿されたようです。お陰で、この関数の使い方が解りました。感謝です!

修飾キーの入力はそれ用のイベントを作るのではなく、CGEventSetFlags関数を使って、文字キーの入力イベントに追加する形にすれば良いんですね。修正したコードは、こうなりました。

CGEventSourceRef sourceRef = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
if (!sourceRef) {
    NSLog(@"No event source");
    return;
}
CGEventRef eventDown, eventUp;
eventDown = CGEventCreateKeyboardEvent(sourceRef, (CGKeyCode)9, true);      // v key down
CGEventSetFlags(eventDown, kCGEventFlagMaskCommand);                        // command key press
eventUp = CGEventCreateKeyboardEvent(sourceRef, (CGKeyCode)9, false);       // v key up
CGEventPost(kCGSessionEventTap, eventDown);
CGEventPost(kCGSessionEventTap, eventUp);
CFRelease(eventDown);
CFRelease(eventUp);
CFRelease(sourceRef);

同じスレッドに、CGPostKeyboardEvent関数を使った方法も掲載されていました。Keyboard Maestroの作者さんの投稿?

Cocoabuilder – (Peter N Lewis) Re: Posting Keyboard Events

CGEnableEventStateCombining関数で、キーやマウスの状態を、アプリケーション側で生成するイベントに混ぜ合わせるかどうかを切り替えられるようです。ただ、こちらの関数も、今は非推奨の扱いになっているようで、Mac OS X 10.4よりも古いバージョンに対応させる必要がなければ、積極的に使わない方が良さそうです。

Quartz Event Servicesのリファレンスをざっと眺めてみましたが、キーボードやマウスに関するイベントが作れるので、結構重宝しそうです。

Win2MacでClipMenuが紹介されてました

Mac, ソフトウェア コメントは受け付けていません。

MACお宝鑑定団 blogさんで、Win2Macという新しいMac情報サイトができたとの情報を拝見し、早速アクセスしてみました。

Q&AやITmediaのニュースの他に、オンラインソフトの紹介記事もあるようです。運営会社がVectorなので、Vectorライブラリに登録してあるものしか掲載されていないのかと思いましたが、ライブラリ登録ソフト以外もちゃんと紹介されているんですね。

まだスタートしたばかりなので、オンラインソフト一覧のページ数も少なくて、全ページを読み進めていると、最後のページでClipMenuを発見!

どなたのお陰かは存じませんが、ご紹介ありがとうございました。 :)

もう少しバージョンが上がったら、Vectorライブラリへの登録申請もさせてもらう予定です。

メニュー項目上で、右クリックが補足できた

Cocoa, Mac, Slicehost, ソフトウェア, ハードウェア コメントは受け付けていません。

ClipMenu 0.2 のリリース以来、アクションメニューを右クリックで呼び出せないのが不満でした。

これまで何度試しても、ClipMenuの履歴項目上での、マウスの右ボタンクリックや、Controlといった修飾キーを押しながらのクリックが全く補足できませんでした。

今日もいろいろと試行錯誤しても解決せず、一応捕捉できるNSEventの情報だけでも確認しておこうとしたところ、なんと、きちんと右クリックの入力が捕捉できているではないですか!修飾キーの検出の方も、問題なし。

以前書いて、コメントアウトしていたコードなので、使い方が間違っていたわけでもなさそうですし、ちょっと驚きました。思い当たることといえば、TigerからLeopardに開発環境を変えたからでしょうか。

何はともあれ、これでアクションメニューの呼び出し方法を、これまでの「Shift+クリック」から「マウスの右クリック」や「Control+クリック」に変更することができます。

以前Travellers TalesのHiroさんも仰っていましたし、こちらの方が自然な入力方法だと思います。

クリックの方は shift+クリックではなく、ctrl+クリックにしたら、マウスの右クリックやトラックパッド2本タッチ+クリックで呼び出せるようになるでしょうか。

CLCLにも近づけますしね :)

テスト版をアップしましたので、興味のある方はお試しください。

» ClipMenu 0.3.2a

ClipMenu 0.3.1 リリース

Cocoa, Mac, ソフトウェア 7 Comments »

Mac OS X用クリップボード・ユーティリティ、ClipMenuのバージョン0.3.1をリリースしました。

前回リリースしたClipMenu 0.3.0には、PowerPC搭載機で環境設定が開けない重大な不具合がありました。Power Mac、PowerBook、iBookをお使いの方は、お手数ですが、問題の修正された、新しいバージョンへの更新をお願いします。

また、ご要望いただいた設定項目も追加してあります。

通常なら、履歴項目上でアクションを呼び出すと、登録したアクションがメニューとしてポップアップされます。新しく追加した設定をオンにし、アクションを一つしか登録していなければ、メニューのポップアップなしにアクションを即実行できます。

「プレーンテキストとしてペースト」など、いつも特定のアクションしか使用する予定がない場合などにご利用ください。

主な変更点

  • PowerPC搭載のMacで、環境設定画面が開けなかった問題を修正。
  • 登録したアクションが一つだけだった場合は、メニューをポップアップせず、即座にアクションを適用できる設定を追加。
  • ツールチップの表示/非表示を選択できる設定を追加。
  • 環境設定画面の設定項目の整理。

ダウンロード

ダウンロードはこちらからどうぞ。

» ClipMenu – naotaka.com

PowerPC搭載機での不具合を修正した、ClipMenu 0.3.1b1

Cocoa, Mac, ソフトウェア 2 Comments »

先日公開したClipMenu 0.3.0には、PowerPC搭載のMacで、環境設定画面を開けないという不具合がありました。

取り急ぎ、修正版を作成しましたので、PowerPC搭載機でClipMenuをお使いの方は、こちらをお試しください。iBook G4で動作確認をしました。

この不具合の修正が確認できれば、正式リリースにする予定なので、ご報告をいただければと思います。

» ClipMenu 0.3.1b1

不具合の原因は、ClipMenu 0.3.0で取り入れたShortcut Recorderフレームワークが、Universal Binaryでビルドされていないことでした。自分の作成したXcodeプロジェクトのビルド設定はチェックしていたんですが、Shortcut Recorderの方は盲点でした。今後は、外部のライブラリも、もうすこし注意して利用することにします。

ClipMenu 0.3 リリース

Cocoa, Mac, ソフトウェア 8 Comments »

Mac OS X用クリップボード・ユーティリティ、ClipMenuのバージョン0.3をリリースしました。

新アイコン

新アイコン

今回のバージョンアップの目玉は、アイコンのリニューアルです。新アイコンは、K2DesignWorksのK2さんからご提供いただきました。

miやOTEditなどのハイセンスなオリジナルアイコンも公開されていらっしゃるK2さんにデザインしていただいたので、512ピクセルまで拡大しても美しい、素敵なアイコンになりました。どうもありがとうございます!

StatusItem StatusItemPressed

ステータスバーのアイコンも、シンプルながらソフトの用途が一目瞭然なものになりました。これまでなかった、メニューをプルダウンした際の反転画像も用意していただきました。

定型文の登録

スニペットメニュー

機能面では、ご要望をいただいていた、定型文の登録機能を実装しました。

お好きな文章を、「スニペット」として登録できます。登録したスニペットは、履歴と同じように、ClipMenuから選んでペースト(貼り付け)できるようになります。

スニペットはクリップボード履歴の上か下に表示されます。また、上の画像のように、スニペットだけを表示する「スニペットメニュー」からもアクセスできます。

フォルダ内の項目数が可変に

こちらも以前ご要望をいただいた機能です。従来は一つのフォルダに収納する履歴項目数は「10」で固定でしたが、自由に変更可能になりました。

また、フォルダに入れないインライン表示するアイテム数も変更できるように変わりました。インライン表示の項目数を「0」にすれば、すべての履歴項目がフォルダに収納されて表示されます。

主な変更点

  • 新しいアイコン(製作・著作権者: K2DesignWorksのK2さん)を採用。
  • スニペット機能を追加。
  • ショートカットキーへの登録方法を一新。
  • ログイン項目に、ClipMenuを登録する設定を追加。
  • 終了時に、履歴を保存するかを変更できる設定を追加。
  • メニュー項目の種類を表すラベルを追加。
  • メニューにインライン表示する履歴数を変更可能に。
  • 一つのフォルダに含む履歴数を変更可能に。
  • クリップボードの種類がファイル名なら、PICT画像をメニュー内に表示しないように変更。
  • 環境設定画面を再構成。
  • 対応OSを、Mac OS X v10.5以降に変更。

ダウンロード

ダウンロードはこちらからどうぞ。

» ClipMenu – naotaka.com

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン