一部のEmacsバッファには、ボタンやハイパーリンクが含まれています。これらは、アクティブにした際(例えばクリックした際)に、何らかの操作(参照先への移動など)を実行するテキストです。通常、ボタンのテキストは視覚的に強調表示され、下線が引かれたり、枠線で囲まれたりします。ボタンの上にマウスカーソルを合わせると、カーソルの形状が変わり、ボタンが点灯します。変数
mouse-highlight を nil
に変更すると、Emacsはこの強調表示を無効にします。
ポイントをボタンに移動して RET と入力するか、ボタン上の mouse-1 または mouse-2 のいずれかをクリックすることで、ボタンをアクティブにできます。例えば、Dired バッファでは、各ファイル名がボタンとなっており、これをアクティブにすると Emacs がそのファイルを開きます(Dired, the Directory Editor を参照)。*Compilation* バッファでは、各エラーメッセージがボタンとなっており、これをアクティブにするとそのエラーのソースコードが開きます(Running Compilations under Emacs を参照)。
通常、ボタン上の mouse-1 をクリックするとそのボタンがアクティブになりますが、マウスボタンを押し続けてから離す(具体的には 450 ミリ秒以上)と、Emacs はボタンをアクティブにすることなく、クリックした位置にポイントを移動させます。これにより、マウスを使ってボタンをアクティブにすることなく、ポイントをボタンの上に移動させることができます。ボタンの上やボタン自体にマウスをドラッグすると、通常通りリージョンを設定する動作が行われ、ボタンはアクティブになりません。
変数 mouse-1-click-follows-link をカスタマイズすることで、mouse-1
のボタンへの適用方法を変更できます。値が正の整数の場合、ボタンの有効化を解除するためにマウスボタンを押し続ける必要がある時間(ミリ秒)が決まります。デフォルト値は、前段で説明した通り
450 です。値が nil の場合、mouse-1
は単にクリックした地点を設定するだけで、ボタンは有効化しません。値が double
の場合、ダブルクリックでボタンが有効化されますが、シングルクリックでは単に地点が設定されます。
通常、ボタン上の mouse-1
は、選択されていないウィンドウにある場合でもボタンをアクティブにします。変数 mouse-1-click-in-non-selected-windows を nil に変更すると、選択されていないウィンドウにあるボタン上の mouse-1
は、ボタンをアクティブにすることなく、ポイントをクリックした位置に移動させ、そのウィンドウを選択します。