Emacsテーマの背景色を永続的に上書きする


9

Emacsテーマのbillwを使いたいのですが、背景色が異なります。私の.emacsファイルには次のものが含まれています。

(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)
(set-background-color "gray12")

ただし、これは起動時に背景色を変更しないようです。set-background-color "gray12"各セッションの開始時に、ミニバッファーで手動で実行する必要があります。

これで何か助けはありますか?の出力に基づいて独自のカスタムテーマを作成しようとしましたcolor-theme-printが、これにより、それよりも多くの問題が発生しました...

回答:


5

color-theme-billwこの関数は、内部で使用するcolor-theme-install-frame-paramsフレームパラメータを変更する機能を。したがって、次のように同じ方法でフレームパラメータを変更できます。

(require 'color-theme)
(color-theme-initialize)
(color-theme-billw)
(color-theme-install-frame-params
  '((background-color . "gray12")))

C-hfcolor-theme-install-frame-params

(color-theme-install-frame-params PARAMS)

alistを使用してフレームパラメータを変更しますPARAMETERS

color-theme-is-globalが非nilの場合、すべてのフレームはを使用modify-frame-parametersして変更され、PARAMETERSがに付加されdefault-frame-alistます。の値initial-frame-alistは変更されません。color-theme-is-globalがnilの場合、選択されたフレームのみが変更されます。場合はcolor-theme-is-cumulativenilである、フレームパラメータがから復元されていますcolor-theme-original-frame-alist

現在のフレームパラメータにminibuffervalueのパラメータがある場合only、これは専用のミニバッファフレームを示しているため、フレームパラメータはインストールされません。


3

「背景」を設定したい場所にカーソル(GNU Emacs用語では「ポイント」)を置きます。表示されるテキストがない場所が望ましい。次にと入力しM-x describe-faceます。

Emacsはあなたが見ている魔女の(GNU Emacsが表示できるものはすべて「顔」を持っている)を教えてくれます。おそらく「デフォルト」です。次に、ウィンドウの下部で、「この顔をカスタマイズできます」をクリックします。

これで「カスタマイズ中」になります。(これは、〜/ .emacsから値を取得/設定するためのウィザードの一種です)必要な背景色を設定し、[今後のセッションのために保存]をクリックします。

そこにあります。〜/ .emacsの一番下を見て(custom-set-faces ...)ください。これがあなたの顔の定義です。

ところで、color-themeはどういうわけか組み込みのGNU Emacs 24です。これは私の.emacsにあります:

(custom-set-variables

...stuff...

 '(custom-enabled-themes (quote (tango-dark)))

...stuff...)

2
:この場合、それは結局のところ、あなたは、次の操作を行う必要がある(custom-set-faces `(default ((t (:background "gray13")))))
ジョン・J. Camilleri
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.