Emacsのバッファーにはボタンや、アクティブ化(例えばクリック)したとき何らかのアクション(例えば参照をフォローする)を行う、ハイパーリンクを含むものがあります。ボタンのテキストは通常、アンダーラインが引かれていたり、周囲にボックスが描かれて、視覚的にハイライトされています。ボタンの上にマウスを移動すると、マウスカーソルの形状が変化して、ボタンがライトアップされます。変数mouse-highlight
をnil
に変更すると、Emacsはこのハイライト機能を無効にします。
ボタンをアクティブにするには、ポイントをそこに移動してRETをタイプするか、mouse-1またはmouse-2でボタンをクリックします。たとえばDiredバッファーでは、ファイル名がボタンです。これをアクティブにすることにより、Emacsはそのファイルをvisitします(Dired (ディレクトリーエディター)を参照してください)。*Compilation*バッファーでは、各エラーメッセージがボタンです。これをアクティブにすることにより、そのエラーにたいするソースコードをvisitします(Emacs下でのコンパイルの実行を参照してください)。
ボタンをmouse-1でクリックすると、ボタンがアクティブになりますが、マウスボタンを押してから離すまで一定時間(厳密に言うと450ミリ秒以上)が経過すると、Emacsはボタンをアクティブにせず、ポイントをクリックした場所に移動します。この方法によりボタンをアクティブにせずにポイントを移動するのに、マウスを使用できます。マウスをボタンの上にドラッグすると、通常どおりリージョンをセットして、ボタンはアクティブにしません。
ボタンにたいしてmouse-1がどのように適用されるかは、mouse-1-click-follows-link
をカスタマイズすることにより変更できます。変数の値が正の整数の場合、それはボタンのアクティブ化を取り消すのに、何ミリ秒マウスボタンを押しつづける必要があるかを指定します。前のパラグラフで説明したように、デフォルトは450です。値がnil
の場合、mouse-1は単にクリックした場所にポイントを移動するだけで、ボタンをアクティブにしません。値がdouble
の場合、シングルクリックでポイントのセット、ダブルクリックでボタンをアクティブにします。
選択されていないウィンドウのボタンでも通常、mouse-1でクリックすればボタンがアクティブになります。変数mouse-1-click-in-non-selected-windows
をnil
に変更した場合、選択されていないウィンドウのボタンをmouse-1でクリックすると、クリックした位置にポイントを移動してウィンドウを選択しますが、ボタンはアクティブになりません。