Bagaimana saya bisa mengubah warna latar belakang buffer emacs tunggal?


8

Saya ingin membuat buffer interaktif SQL yang terhubung ke DB produksi sangat, sangat jelas, jadi pemikiran saya adalah untuk mengubah latar belakang buffer ke warna merah gelap.

set-background-colortidak bekerja; itu mengatur warna semua frame ke warna yang ditentukan.

Bagaimana saya bisa mengubah latar belakang hanya satu buffer?

Jawaban:


9

Saya telah membuat paket emacs lisp untuk ini: https://github.com/vic/color-theme-buffer-local ia menggunakan pemetaan ulang Emacs 'Face untuk menginstal wajah tema secara lokal.


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


6

Kamu tidak bisa

Warna latar belakang umumnya khusus bingkai.

Anda dapat mengatur warna latar belakang defaultwajah menjadi frame spesifik menggunakan set-face-background, seperti:

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

Kustomisasi frame umumnya dikontrol melalui parameter frame . Sekarang, jika Anda melihat dekat background-coloruntuk parameter frame , Anda akan melihat bahwa warna latar belakang default diambil dari defaultwajah - itulah sebabnya elisp di atas memiliki efek.

Melewati itu, sepertinya penutupan Anda dapat sampai ke warna latar belakang penyangga adalah dengan menggunakan mode minor buffer-face-mode(ditambahkan pada 23.1) - namun itu hanya mengubah latar belakang untuk teks dari buffer, dan bukan seluruh latar belakang.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.