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として既存の簡易フレーム復元処理は残しておくことにした
- 複数枚のフレームを開いてるとバグる件は