Cara mengetahui tema warna saat ini di emacs

24

Ketika emacs sedang berjalan, bagaimana saya bisa mengetahui tema warna mana yang sedang digunakan?

Talespin_Kit
sumber

Jawaban:

19

Tidak ada konsep tema saat ini, dan memang, banyak tema dapat diterapkan secara berurutan untuk secara positif mendefinisikan set wajah aktif. Dukungan untuk tema ditambahkan ke versi Emacs terbaru (lihat M-x customize-theme), dan masih ada opsi untuk "Pilih lebih dari satu tema pada satu waktu".

Singkatnya, ketika Anda mengaktifkan tema, Anda tidak beralih ke tema itu, melainkan menerapkan perubahan yang ditentukan dalam tema ke wajah dan variabel yang dicantumkannya.

Semua penyesuaian yang tidak secara eksplisit ditempatkan dalam tema bernama sebenarnya dimasukkan ke dalam tema pengguna tersembunyi, jadi selalu ada setidaknya satu tema aktif. Tema yang saat ini diaktifkan lainnya tercantum dalam variabel custom-enabled-themes.

sanityinc
sumber
4

Bagikan contoh untuk menggunakan warna-tema-cetak untuk mendapatkan tema apa yang saya terapkan.

melalui 'Mx color-theme-print' Anda akan mendapatkan output tentang info tema warna, kemudian menemukan nilai khas yang unik untuk berbagai tema warna, saya memilih 'warna latar' yang nilainya 537182 untuk emacs saya.

Buka pustaka tema warna 'color-theme-library.el' lalu cari file dengan kata kunci sebagai '537182', maka Anda akan mendapatkan nama tema di sana.

Meskipun bukan cara yang mudah tetapi itu benar-benar berhasil, harapan itu membantu!

fwlx
sumber
3

M-x color-theme-printberguna untuk memberi tahu Anda wajah font mana yang sedang berlaku. Itu tidak akan memberi tahu Anda yang bernama tema warna yang telah diterapkan, tetapi Anda harus dapat mengatasinya dari file init Anda. Jika tidak, saya kira Anda harus menggunakan mode yang menerapkan tema warnanya sendiri (Saya tahu Proof General melakukan ini, dan yang paling menjengkelkan adalah).

Jaybee
sumber
1
Tampaknya ini yang perlu (require 'color-theme)pertama
Rolazaro Azeveires
1

Untuk menambah respons sanityinc, Anda dapat mengaturnya sendiri, atau ada di file init.el (dotemacs) Anda.

Saya kira Anda bertanya karena Anda mencoba beberapa dari mereka dan lupa, kan? Saya tahu saya punya, saya ingin tahu apakah Anda dapat memeriksa buffer Pesan Anda untuk melihat yang terakhir diterapkan.

@sanityinc terima kasih atas penjelasannya juga. Saya perhatikan ketika saya mulai menambahkan lebih banyak tema secara berturut-turut, beberapa area, seperti buffer mini tidak akan berubah atau akan disetel ke nilai tema terakhir. sekarang saya tahu kenapa.

pamammer
sumber
Dalam color-themepaket lama , ada var bernama color-theme-is-cumulative, yang bisa Anda atur nilagar tema tidak saling mengganggu; kedengarannya seperti ide yang bagus, tetapi hasilnya biasanya sama sekali tidak terduga, saya pikir sebagian karena tema biasanya membuat asumsi tentang wajah bawaan.
ya saya perhatikan asumsi itu juga, ketika saya membuat satu ... saya akan menyalin dari yang 'populer' tapi itu akan memiliki setengah loc yang yang berikutnya lakukan ... dll. Bimbing saya untuk berpikir bahwa beberapa tema baru saja mengubah variabel-variabel yang diinginkannya, dan ada ratusan yang harus diubah jadi mengapa harus repot. Pada catatan terkait, saya menggunakan tema hujan cokelat dan menyukainya sekarang. Sudah di 24.x build saya selama berbulan-bulan.
1
Saya mencoba beberapa tema warna menggunakan perintah "color-theme-select", dan saya menyukai color-theme tetapi saya telah menutup buffer color-theme-select pada saat itu dan saya juga lupa apa yang telah saya pilih, jadi saya pikir mungkin beberapa variabel menyimpan tema warna mana yang sedang diterapkan saat ini. Tidak ada log tentang itu di Buffer pesan
Mungkin Anda dapat mencoba M-x describe-face RET default RET(atau wajah non-default yang berbeda), dan kemudian gunakan M-x rgrepuntuk mencari file .el tema-warna yang berisi nama warna / nilai hex yang sama.
Maaf - solusi dengan mencari di penyangga Pesan tidak membantu. M-x load-theme <colortheme>tidak mencetak apa pun ke dalam buffer pesan.
Christian Herenz