4

ユーザーのアクティビティが予想されるときに、ミニバッファーの背景色を変更することは可能でしょうか? たとえば、関数にパラメーターが必要な場合、関数名が不完全な場合、または「Cx」の入力を開始してさらにキーが必要な場合などです。

私は次のようなことを考えています: http://emacswiki.org/emacs/Dedicated_Minibuffer_Frame (「Minibuffer Background Color Does User Activity」を参照してください。スクリーンショットがたくさんあります)

ただし、上記はミニバッファーが独自のフレームにある場合にのみ機能します。

ミニバッファーが「通常の」ミニバッファーで、同じフレームに他のバッファーがある場合に機能させたいと思います。

私の elisp は、これに対する解決策を自分でハックするほど強力ではないので、どんな意見も大歓迎です。

編集

次のようにして、バッファ全体の背景を変更できます。

(add-hook 'minibuffer-setup-hook 
  (function (lambda ()
              (set-background-color "black"))))

「ハック」を使ってミニバッファーの背景だけを変更するのが簡単かどうかはわかりません。

また、以前の色に戻す方法もわかりません。これを行う正しい方法がわかりません。

ミニバッファーの背景だけを変更できない場合は、背景全体を変更しても問題ありません。

4

2 に答える 2

3

face-remap-alistを介して設定を試みることができますminibuffer-setup-hook。何かのようなもの:

(add-hook 'minibuffer-setup-hook
          (lambda ()
            (make-local-variable 'face-remapping-alist)
            (add-to-list 'face-remapping-alist '(default (:background "green")))))
于 2012-09-30T02:30:52.450 に答える
1

すべての条件をカバーするわけではないので完璧ではありませんが、M-x customize-face..minibuffer-promptを使用して反転ビデオをオンにしたり、その他のカスタマイズを行うことができます。ミニバッファ全体ではなく、テキストの背景のみを変更します。

これは変更されませんC-x。また、他のプレフィックス コマンドも変更されません。

于 2012-09-29T18:26:52.367 に答える