OS X アプリケーションをある程度の期間使用してきた場合、ツールチップにはおそらく慣れているでしょう。ツールチップとは、約 1 秒間、ボタンまたは他の画面上の項目の上にマウス カーソルを置いたときに表示される、説明テキストの小さな黄色い浮遊タグです (以下のスクリーンショットを参照)。たとえば、iPhoto では、ツールバーのスライドショー ボタンの上にマウス カーソルを合わせると、1 秒後に非常に役立つツールチップ「新しいスライドショーを作成」がポップアップ表示されます。ただし、すべてのツールチップがこのように無意味なわけではありませんが、この例のように、多くのツールチップはうっとうしいほど明白であると感じています。ツールチップが役立つと思っても、ヒント自体がポップアップする性質を持っているため、何も考えていないときに突然現れ、画面上の何らかのコントロールの上にマウス カーソルを置いたままにしていることに気づかないなど、気が散ることがあります。

心配しないでください。ツールチップの表示を気にしなくても、そのままにしておく必要はありません。あるいは、ツールチップの表示をもっと早くしたい場合も、変更可能です。その秘密は?もちろん、ターミナルです。ターミナルでは、GUIからはアクセスできない設定を記述できます。今回は、 NSInitialToolTipDelay プロパティを変更します。ご想像のとおり、このプロパティは、マウスをコントロール上に移動してからツールチップが表示されるまでの時間を制御します。デフォルトでは、すべてのアプリケーションでこの値は1,000ミリ秒(1秒)に設定されています。
この値を変更するには、すべてのアプリケーションに対してグローバルに変更する方法と、アプリケーションごとに変更する方法の2つがあります。グローバルに変更する方法が最も簡単なので、まずはそちらについて説明します。
地球規模の変化
ツールチップが大嫌いで、二度と誤って表示されたくないという場合は、初期遅延時間を10秒など大きな値に設定するのが最も簡単です。マウスをコントロール上に長時間置いたままにしない限り、ツールチップは二度と表示されません。これをグローバルに設定するには、以下のコマンドをターミナルにコピー&ペーストし、Returnキーを押します。
デフォルトは -g NSInitialToolTipDelay -int 10000 を書き込む
今後、すべてのアプリケーションにおいて、画面上の特定のコントロールに10秒間マウスオーバーしないとツールチップが表示されなくなります(この -g ビットは「グローバル変更」を意味します)。それでもまだ時間が足りない場合は 100000 、代わりに100秒間マウスオーバーしてみてください。これらの変更は、変更後に起動したすべてのプログラムに適用されます。開いているアプリケーションは、次回終了して再起動したときに変更が適用されます。
300 遅く表示するのではなく、早く表示したいですか? 0.3秒の ような小さな数値を試してみてください 。ツールチップを瞬時に表示したい場合は、 を使用してください1。
アプリケーションの変更ごと
iPhotoなど、特定のアプリケーションでのみツールチップの表示が気になる場合は、そのアプリケーションのみでツールチップの動作を変更できます。ターミナルで次のコマンドを入力し、Returnキーを押します。
デフォルトではcom.apple.iPhoto NSInitialToolTipDelay -int 10000を書き込みます。
今後は、iPhoto だけが 10 秒の遅延が発生します。上記のコマンドの鍵となるのは com.apple.iPhoto 、コマンドで変更するファイルです。しかし、特定のアプリケーションの正しい名前はどうやって見つけるのでしょうか?実際には、アプリケーションの設定ファイルの名前から、 .plist 名前の一部を除いたものになります。正しい名前を見つける方法の一つは、ユーザーの「ライブラリ」→「設定」フォルダをスキャンすることです。ただし、私のマシンでは、そのフォルダに何百ものファイルがあり、すべてのプログラムが明確な名前の設定ファイルを持っているわけではないため、手動でスキャンするのは少々面倒です。もちろん、Spotlight を使うこともできますが、それでも(他のフォルダから)一致するファイルが多すぎて、設定ファイルをすぐに特定できない可能性があります。
ドメイン名の検索
ここでもターミナルが役に立ちます。このヒントにこの部分は必須ではありません。単に検索を少し楽にするだけです。ターミナルで、例えば以下のコマンドを入力してください。
デフォルトドメイン | perl -pe 's/, /n/g' | grep iMovie
一見長くて複雑なコマンドに見えますが、実際には見た目よりもシンプルです。3つのコマンドが連携して動作しており、1つのコマンドの出力はパイプ記号( | )を介して次のコマンドに送られます。各コマンドの動作は以下のとおりです。
-
defaults domains: これだけだと、defaultsシステムが認識しているすべてのプログラムを示す長い1行(カンマ区切り)が出力されます。ただし、1行なので、まだあまり活用できません。grep例えば、検索ツールは検索語に一致する行を返すので、一致するものが見つかった場合は、テキスト全体を再度返します。 -
perl -pe ‘s/, /n/g’: 前のコマンドの出力リストを基に、テキスト処理システムを用いてperlその出力をリアルタイムで変更します。-peオプションは、Perlに読み込んだテキストの各行を(-p)で出力し、 に続く1行のプログラムを受け入れるように 指示しますe。この1行のプログラムは一重引用符で囲まれており、英語に翻訳すると次のようになります。「カンマとスペースをすべて検索し、改行文字に置き換えます。」/g末尾の は、最初の一致を検索して置き換えた後、置換を繰り返すことを意味します。 -
grep iMovie: これは検索対象のアプリケーションです。iMovie検索対象のデフォルト名を持つアプリケーションに置き換えてください。
すべてをまとめると次のようになります。
$ デフォルトドメイン | perl -pe 's/, /n/g' | grep iMovie com.apple.iMovie
したがって、この例では、 コマンドcom.apple.iMovie で使用するものは次のようになります defaults write 。
ツールチップの復活
いつでも、ツールチップを標準の動作に戻したい場合は、次の 2 つのコマンドのいずれかを使用して、行った変更を削除します。
デフォルトの削除 -g NSInitialToolTipDelay デフォルトの削除 com.apple.iPhoto NSInitialToolTipDelay
もちろん、 com.apple.iPhoto リセットするアプリケーションのドメイン名に置き換える必要があります。アプリケーション固有の設定を行った場合、グローバル設定は上書きされるので注意してください。したがって、個々のアプリケーションの設定を変更した場合は、グローバル設定だけでなく、その設定も削除して、元の動作に戻す必要があります。