open-junk-file したら elscreen で新しいスクリーンが開くようにする
id:rubikitch さんの open-junk-fileで開くバッファを、elscreen の新しいスクリーンで開くようにする。
(defun open-junk-file () (interactive) (let* ((file (expand-file-name (format-time-string "%Y/%m/%Y-%m-%d-%H%M%S." (current-time)) "~/My Dropbox/junk/")) (dir (file-name-directory file))) (make-directory dir t) (find-file-other-window (read-string "Junk Code: " file)))) ;; (global-set-key "\C-xj" 'open-junk-file) (global-set-key "\C-xj" '(lambda () (interactive) (elscreen-create) (open-junk-file)))
一番下に追加してる部分がその設定。C-x j にフックさせている。
(interactive) つけないとうまく動かない。
global-set-key で2つの処理をフックするときは
(global-set-key '(lambda () (interactive) do something ...))
とするのを覚えておきたい。
オリジナルの open-junk-file に手を加えるなら、以下のようにしても同じ。
(defun open-junk-file () (interactive) (elscreen-create) ;; ここに追加 (let* ((file (expand-file-name (format-time-string "%Y/%m/%Y-%m-%d-%H%M%S." (current-time)) "~/My Dropbox/junk/")) (dir (file-name-directory file))) (make-directory dir t) (find-file-other-window (read-string "Junk Code: " file)))) (global-set-key "\C-xj" 'open-junk-file) ;; 呼び出し部分は変えない
追記
elscreen で開くのはあんまり意味がない気がしてきた。