Я думаю, что ваша терминология неверна: в emacs-языке frame
означает то, что люди обычно подразумевают под window
в графической среде.(То есть то, что имеет кнопки закрытия, минимизации и максимизации, заголовок и т. Д., Является «рамкой».) В то время как то, что появляется, когда вы делаете C-x 3
(разделенное окно), называется windows
и когда вы делаете что-то вроде M-x shell-mode
, вы получаете новый buffer
, который может или не может быть в новом окне.
Цветовые темы всегда глобально для фреймов (насколько я знаю,и это, безусловно, то, что предлагает документация) переменная color-theme-is-global
определяет, распространяется ли одна тема по кадрам .
Я думаю, что самое близкое к тому, что вы хотите, - это нечто вродеполностью непроверенный, вероятно, не работает):
(defun shell-mode-in-new-frame ()
(interactive)
(select-frame (make-frame))
(color-theme-monokai-terminal)
(shell-mode))
Хотя это создает новый фрейм, который не , что вы хотите.