elscreenを使ってバッファを開いたり閉じたりしてると
どのタブにどのバッファを開いてるかゴチャゴチャしてくるので
一旦リセットしたくて、各タブの定位置に任意のバッファをセットできる関数を作った。
alistに(スクリーン番号 . バッファ名)で登録しておくと関数実行に一括セットしてくれる
;; screenを定位置に設定する
(setq elscreen-custom-screen-alist
'((0 . "Folder")
(1 . "*twittering*")
(2 . "todo.org")
(3 . "*scratch*")
(4 . "*scratch*")
(5 . "*scratch*")
(6 . "*scratch*")
(7 . "*scratch*")
(8 . "*scratch*")
(9 . "*scratch*")))
(defun elscreen-set-custom-screen ()
(interactive)
(let ((screen-list (sort (elscreen-get-screen-list) '<))
(current-screen (elscreen-get-current-screen)))
(mapc (lambda (alist)
(let ((screen-num (car alist))
(buffer-name (cdr alist)))
(elscreen-goto (nth screen-num screen-list))
(switch-to-buffer buffer-name))) elscreen-custom-screen-alist)
(elscreen-goto current-screen)))
(global-set-key (kbd "<f8>") 'elscreen-set-custom-screen)