Опираясь на ответ Török Gábor , вы можете использовать любой из нескольких пакетов для хранения и восстановления конфигураций окон / фреймов, многие из которых перечислены здесь . Различные пакеты оконного макета имеют свои причуды, поэтому вам нужно будет найти, какой вам нравится (так много пакетов, так как каждый находит что-то, что им не нравится в существующих пакетах, и катит свои собственные).
Что касается шрифтов и цветов, некоторые из них могут быть настроены для каждого кадра, см. Информационную страницу для параметров кадра .
Что касается того, как подключить его к функции 'wl
, вы можете использовать advice , если хотите (мне нравится его использовать), но было бы гораздо проще просто настроить 'wl
или напишите обертку, которая загружает конфигурацию фрейма / окна и затем вызывает 'wl
. Тогда ваш вызов может измениться на:
emacs -f wlwrapper
Способ, которым настроен ваш emacsclient (или, для более старого Emacsen, gnuclient ) может быть причиной того, что решение TG не работает. Я бы, вероятно, использовал решение 'wlwrapper
, настроив emacsclient
для повторного использования существующего кадра, затем внутри 'wlwrapper
измените 'default-frame-parameters
и , затем , вызовите 'wl
. Таким образом, вы гарантируете, что создаете фрейм после установки параметров.
как-то так не проверено :
(defun wlwrapper ()
"wrapper for 'wl which sets up window/frame configurations"
(let ((default-frame-alist (append
'((width . 82) (height . 36)
(cursor-color . "#ffa200")
(tool-bar-lines . 0)
;; ...
)
default-frame-alist)))
;; if 'wl doesn't create a frame
(select-frame (make-frame))
(wl)
;; now use which ever window saving package you want
))