Last Modified:
elscreenを永続化するelscreen-persistを書いた #Emacs
elscreenの状態を次回起動時に復元したかったのだけど、何故かそのようなパッケージが見つからない。
解決方法
無いなら書こう。
MELPAに上げたのでpackageでインストールできます。
M-x package-refresh-contents
M-x package-install elscreen-persist
(elscreen-start) ; hookが欲しい…
(require 'elscreen-persist)
(elscreen-persist-mode 1)
ソース
- 基本的なアプローチとして、すべてのスクリーンに対して
current-window-configuration/set-window-configurationで保存・復元を行なう- window-configurationはシリアライズできないので
reviveのcurrent-window-configuration-printable/restore-window-configurationを使った
- window-configurationはシリアライズできないので
- フレームの大きさが足りていないと上手く戻らない場合があるので、
frame-parameters/modify-frame-parametersでframeの復元も行なう elscreen-persistはあくまでもelscreenを永続化するためのものなので、フレームをどうのこうのするのは違うなと思ってそこはdesktopに任せることにした。- 複数枚のフレームを開いてるとバグる件は
desktopを使えば解決するはず - ただし24.4以降が必要なので、fallbackとして既存の簡易フレーム復元処理は残しておくことにした
- 複数枚のフレームを開いてるとバグる件は