1 ;; this config file is based on seudut/elscreen.git, which added two interface and one property
4 (elscreen-set-default-directory (elscreen-get-current-screen) "~/")
10 '(elscreen-tab-current-screen-face ((t (:background "Yellow" :foreground "black"))))
11 '(elscreen-tab-other-screen-face ((t (:background "gray22" :foreground "black")))))
13 ;;(add-hook 'elscreen-create-hook
15 ;; (elscreen-set-default-directory
16 ;; (elscreen-get-current-screen) "~/")))
19 (add-hook 'elscreen-goto-hook
21 (elscreen-cd-default-directory
22 (elscreen-get-default-directory (elscreen-get-current-screen)))))
25 "Set default directory screen."
26 (interactive "sSet dir:")
27 (elscreen-set-default-directory (elscreen-get-current-screen) dir)
33 "show elscreen default directory."
36 (elscreen-get-default-directory (elscreen-get-current-screen))))
38 (defun sd-update-elscreen-dir ()
39 "update elscreen dir as current default directory"
41 (elscreen-set-default-directory (elscreen-get-current-screen) default-directory))
46 ;;(add-hook 'buffer-list-update-hook
48 ;; (let ((el-dir (elscreen-get-default-directory (elscreen-get-current-screen))))
49 ;; (if (> (length el-dir) 0)
52 (defvar elscreen-exclude-modes '(eshell-mode magit magit-status-mode magit-commit-mode magit-diff-mode) "the major modes don't update directory")
54 ;; when major-mode is magit-*, don't change default-directory, otherwise, there is error when usingit command in magin-* mode
55 (add-hook 'elscreen-screen-update-hook
57 (let ((el-dir (elscreen-get-default-directory (elscreen-get-current-screen))))
58 (unless (member major-mode elscreen-exclude-modes)
59 (if (> (length el-dir) 0)
66 ;; elscreen should be placed begin of https://github.com/knu/elscreen/issues/6
68 ;(require 'init-elscreen)
71 ; '(elscreen-tab-current-screen-face ((t (:background "Yellow" :foreground "black"))))
72 ; '(elscreen-tab-other-screen-face ((t (:background "gray22" :foreground "black")))))
78 (provide 'init-elscreen)