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) "~/")
6 ;; change default keybinding
7 (global-set-key (kbd "<M-tab>") 'elscreen-next) ;; "C-M-I"
8 (global-set-key (kbd "M-n") 'elscreen-next)
9 (global-set-key (kbd "M-p") 'elscreen-previous)
10 (global-set-key (kbd "M-t") 'elscreen-create)
17 '(elscreen-tab-current-screen-face ((t (:background "Yellow" :foreground "black"))))
18 '(elscreen-tab-other-screen-face ((t (:background "gray22" :foreground "black")))))
20 ;;(add-hook 'elscreen-create-hook
22 ;; (elscreen-set-default-directory
23 ;; (elscreen-get-current-screen) "~/")))
26 (add-hook 'elscreen-goto-hook
28 (elscreen-cd-default-directory
29 (elscreen-get-default-directory (elscreen-get-current-screen)))))
32 "Set default directory screen."
33 (interactive "sSet dir:")
34 (elscreen-set-default-directory (elscreen-get-current-screen) dir)
39 "show elscreen default directory."
42 (elscreen-get-default-directory (elscreen-get-current-screen))))
44 (defun sd-update-elscreen-dir ()
45 "update elscreen dir as current default directory"
47 (elscreen-set-default-directory (elscreen-get-current-screen) default-directory))
52 ;;(add-hook 'buffer-list-update-hook
54 ;; (let ((el-dir (elscreen-get-default-directory (elscreen-get-current-screen))))
55 ;; (if (> (length el-dir) 0)
58 (defvar elscreen-exclude-modes '(eshell-mode magit magit-status-mode magit-commit-mode magit-diff-mode) "the major modes don't update directory")
60 ;; when major-mode is magit-*, don't change default-directory, otherwise, there is error when usingit command in magin-* mode
61 (add-hook 'elscreen-screen-update-hook
63 (let ((el-dir (elscreen-get-default-directory (elscreen-get-current-screen))))
64 (unless (member major-mode elscreen-exclude-modes)
65 (if (> (length el-dir) 0)
69 (provide 'init-elscreen)