Mengganti warna latar belakang tema Emacs secara permanen

9

Saya ingin menggunakan Emacs tema billw , kecuali dengan warna latar belakang yang berbeda. Saya memiliki yang berikut ini di .emacsfile saya :

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

Namun ini sepertinya tidak mengubah warna latar saat startup; Saya perlu menjalankan secara manual set-background-color "gray12"di minibuffer di awal setiap sesi.

Ada bantuan dengan ini? Saya mencoba membuat tema sendiri berdasarkan output color-theme-printtetapi ini menyebabkan lebih banyak masalah daripada nilainya ...

John J. Camilleri
sumber

Jawaban:

5

The color-theme-billwfungsi internal menggunakan color-theme-install-frame-paramsfungsi untuk parameter perubahan bingkai. Jadi, Anda dapat mengubah parameter bingkai dengan cara yang sama seperti berikut:

(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)

Ubah parameter bingkai menggunakan daftar PARAMETERS.

Jika color-theme-is-globalnon-nil, semua frame dimodifikasi menggunakan modify-frame-parametersdan PARAMETERSdidahului dengan default-frame-alist. Nilai initial-frame-alisttidak dimodifikasi. Jika color-theme-is-globalnihil, hanya bingkai yang dipilih yang dimodifikasi. Jika color-theme-is-cumulativenihil, parameter bingkai dipulihkan dari color-theme-original-frame-alist.

Jika parameter frame saat ini memiliki parameter minibufferdengan nilai only, maka parameter frame tidak diinstal, karena ini menunjukkan frame minibuffer khusus.

dkim
sumber
3

Posisikan kursor Anda (" titik " dalam bahasa GNU Emacs) di mana Anda ingin mengatur "latar belakang". Lebih disukai jika tidak ada teks yang ditampilkan. Lalu masuk M-x describe-face.

Emacs akan memberi tahu Anda wajah penyihir (semua yang dapat ditampilkan oleh GNU Emacs memiliki "wajah") yang Anda lihat. Kemungkinan besar "default". Kemudian di bagian bawah jendela, klik "Anda dapat menyesuaikan wajah ini".

Anda sekarang " menyesuaikan ". (itu hanya semacam wizard untuk mendapatkan / mengatur nilai dari / ke ~ / .emacs Anda ). Atur warna latar belakang yang Anda inginkan, lalu klik "save for future sesi".

Itu dia. Sekarang lihat bagian bawah ~ / .emacs Anda, di dalam (custom-set-faces ...), ini adalah definisi wajah Anda.

BTW , tema warna sekarang entah bagaimana terintegrasi dengan GNU Emacs 24 . Saya punya ini di .emacs saya:

(custom-set-variables

...stuff...

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

...stuff...)
yPhil
sumber
2
Dalam hal ini, ternyata Anda perlu melakukan hal berikut:(custom-set-faces `(default ((t (:background "gray13")))))
John J. Camilleri