Emacs ECB — Сохранение и восстановление пользовательского макета

В emacs с ecb, работающим как второстепенный режим, я хотел бы установить свой макет по умолчанию. Итак, как только emacs запускается, я перетаскиваю панель с левой стороны, чтобы изменить макет, и когда я говорю «Сохранить текущие размеры окон» в разделе «Администрирование макета», он правильно записывает в файл ~/.gnu-emacs-custom. Но затем, когда я снова запускаю emacs, размеры окон по умолчанию возвращаются, и мне приходится снова перетаскивать панель. Однако, когда я делаю M-x ecb-restore-window-sizes, размеры устанавливаются правильно.

Итак, каким-то образом устанавливаются размеры по умолчанию. Добавление этой строки в конец моего файла .emacs заставляет его работать (run-with-idle-timer 0.2 nil 'ecb-restore-window-sizes), но мне это не нравится, оно должно работать по умолчанию.

Любая помощь будет оценена по достоинству.

ОБНОВЛЕНИЕ:
Я не очень разбираюсь в отладке emacs, но следуя предложению wvxvw ниже, я нашел определение из ecb-restore-window-size и вставил в него (debug). Затем я запустил emacs с параметром --debug-init и получил следующий вывод:
Debugger entered: nil
ecb-restore-window-sizes()
(progn (ecb-restore-window-sizes))
<and a lot of other lines which I believe are statements fired when ecb-restore-window-sizes is referenced>

Я думаю, это означает, что функция запускается во время инициализации и смертей нет, верно?


person rendekarf    schedule 07.11.2012    source источник


Ответы (1)


в вашей инициализации попробуйте это

(add-hook 'ecb-mode-hook 'ecb-restore-window-sizes)

person Andreas Röhler    schedule 08.11.2012
comment
извините за задержку с отзывом. К сожалению, добавление ecb-restore-window-sizes в качестве хука, как вы описали выше, не сработало. - person rendekarf; 23.11.2012