it-swarm-ja.com

単一のemacsバッファーの背景色を変更するにはどうすればよいですか?

本番DBに接続されているSQLインタラクティブバッファを非常にわかりやすくしたいので、バッファの背景を濃い赤色に変更することを考えました。

set-background-colorは機能しません。すべてのフレームの色を指定された色に設定します。

単一のバッファの背景を変更するにはどうすればよいですか?

8
Chris R

このためにemacsLISPパッケージを作成しました: https://github.com/vic/color-theme-buffer-local EmacsのFaceremappingを使用してテーマの顔をローカルにインストールします。


(require 'color-theme-buffer-local)
(add-hook 'Java-mode-hook (lambda nil (color-theme-buffer-local 'color-theme-robin-hood (current-buffer)) ))
9
vic

できません。

背景色は通常、フレーム固有です。

default面の背景色は、次のように set-face-background を使用してフレーム固有に設定できます。

(set-face-background 'default "#CCCCCC" (window-frame (frame-selected-window))

フレームのカスタマイズは通常、 フレームパラメータ を介して制御されます。ここで、 background-color for frame parameters をよく見ると、デフォルトの背景色がdefault面から取得されていることがわかります。これが上記の理由です。 elispには効果があります。

それを過ぎると、バッファの背景色に近づくことができるのは、マイナーモードを使用することであるようです buffer-face-mode (23.1で追加)-ただし、背景全体ではなく、バッファのテキスト

6
Trey Jackson

私はそれを試しませんでしたが、 http://www.emacswiki.org/emacs/BufferBackgroundColor 可能な解決策のように聞こえます。

1
Florian Diesch