Emacs: set-frame-height не работает, когда я создаю новый фрейм - PullRequest
5 голосов
/ 11 июля 2011

В моем файле инициализации .emacs у меня есть команда с именем (set-frame-height (selected frame) 55), которая изменяет высоту кадра, чтобы она занимала большую часть моего вертикального экранного пространства.Я поместил эту команду в конец файла .emacs, чтобы убедиться, что он работает.

Мне нравится делать несколько копий фрейма, чтобы я мог одновременно работать с разными частями одного и того же фрагмента кода.Проблема в том, что когда я создаю новый кадр, используя C-x 5 2, тогда новый кадр не принимает желаемый размер кадра.Вместо этого он возвращается к стандартному размеру кадра.Как мне это исправить?

Спасибо

Ответы [ 2 ]

6 голосов
/ 11 июля 2011

Для новых кадров вы можете установить параметры в переменной default-frame-alist, например, следующим образом:

(add-to-list 'default-frame-alist '(height . 48))

У меня есть следующий код в моей конфигурации:

(add-to-list 'default-frame-alist '(font . "Consolas-13"))
(add-to-list 'default-frame-alist '(height . 48))
(add-to-list 'default-frame-alist '(width . 145))
(add-to-list 'default-frame-alist '(background-color . "grey92"))
(setq initial-frame-alist default-frame-alist)
(setq special-display-frame-alist default-frame-alist)

для настройкипараметры для всех кадров ...

3 голосов
/ 11 июля 2011

Попробуйте after-make-frames-functions и такие вещи:

(add-hook 'after-make-frame-functions
          '(lambda (f)
         (with-selected-frame f
       ;set frame height
)))
...