(defun elscreen-pack ()
"Pack the spaces between of screens."
(interactive)
(let* ((current (elscreen-get-current-screen))
(oscreens (sort (elscreen-get-screen-list (selected-frame)) '<))
(nums (length oscreens))
(new 0)
orignal target msg)
(while (< new nums)
(setq target (car oscreens))
(when (= current target)
(setq current new))
(unless (memq new oscreens)
(unless msg
(setq msg "Pack the spaces done:"))
(setq msg (concat msg (format " %d->%d," target new)))
(elscreen-clone target)
(elscreen-kill target))
(setq oscreens (cdr oscreens))
(setq new (1+ new)))
(elscreen-goto current)
(elscreen-message (if msg
(substring msg 0 -1)
"No pack")))
最近の elips ML の藤原さんや小関さんのメールを見て導入してみた。当然 elscreen-gf と一緒。
ほとんど使い込んでいないけど『なんで今まで知らなかったのかなぁ〜〜』というぐらい便利な予感がする。
なお、Windows では適当に Cygwin で make したら動いちゃった。