Есть ли способ запретить блокировке шрифтов изменять семейство шрифтов (и изменять только цвет)?

По общему признанию, это проблема первого мира, но я немного придирчив к внешнему виду дисплей, и меня действительно раздражает, когда какой-то режим устанавливает новый размер шрифта, семейство, полужирный / курсив и т. д. Я бы хотел поставить (set-frame-font "Menlo-10") в верхней части моего .emacs, а затем заставить emacs никогда не изменять какие-либо аспекты этого шрифта по умолчанию, кроме цвета.

Я могу добиться желаемого эффекта, сделав что-то вроде этого:

(mapc (lambda (face) 
    (set-face-attribute face nil
                        :family "Menlo"
                        ;; something like (cdr (assoc 'font (frame-parameters)) would be better
                        ;; for the :family, but it didn't immediately work
                        :width 'normal
                        :height 1.0
                        :weight 'normal 
                        :underline nil
                        :slant 'normal))
    (remove 'default (face-list)))

но это сработает только после того, как я загрузил новый буфер, в котором были созданы лица с блокировкой шрифтов, которые нужно изменить, и это ужасный взлом, несмотря ни на что . Я подозреваю, что в блокировке шрифтов просто нет возможности игнорировать некоторые части того, что запрашивает режим, но я подумал, что спрошу.

Кроме того, AUCTeX, безусловно, является худшим нарушителем, поэтому, если есть альтернативный параметр AUCTeX, который не позволяет ему запрашивать изменения в семье, размере и т. Д. В первую очередь, это, по крайней мере, сделает проблему менее раздражающей. .

В настоящее время я использую последнюю версию Emacs 24, взятую из HEAD.

6
задан Drew 13 January 2014 в 04:44
поделиться