emacs: add move complete cedet to init-c-cpp.el
[dotfiles.git] / emacs.d / config / init-elscreen.el
1 ;; this config file is based on  seudut/elscreen.git, which added two interface and one property 
2 ;; default directory
3
4 (elscreen-set-default-directory (elscreen-get-current-screen) "~/")
5
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)
11 ;;; split 
12
13
14 ;; tab face
15
16 (custom-set-faces
17  '(elscreen-tab-current-screen-face ((t (:background "Yellow" :foreground "black"))))
18  '(elscreen-tab-other-screen-face ((t (:background "gray22" :foreground "black")))))
19
20 ;;(add-hook 'elscreen-create-hook
21 ;;          (lambda ()
22 ;;            (elscreen-set-default-directory  
23 ;;              (elscreen-get-current-screen) "~/")))
24
25
26 (add-hook 'elscreen-goto-hook
27           (lambda ()
28             (elscreen-cd-default-directory
29               (elscreen-get-default-directory (elscreen-get-current-screen)))))
30
31 (defun sd-cd-dd (dir)
32   "Set default directory screen."
33   (interactive "sSet dir:")
34   (elscreen-set-default-directory (elscreen-get-current-screen) dir)
35   (cd dir)
36 )
37
38 (defun sd-show-dir ()
39   "show elscreen default directory."
40   (interactive)
41   (message
42   (elscreen-get-default-directory (elscreen-get-current-screen))))
43
44 (defun sd-update-elscreen-dir ()
45   "update elscreen dir as current default directory"
46   (interactive)
47   (elscreen-set-default-directory (elscreen-get-current-screen) default-directory))
48
49
50
51 ;;(add-hook 'buffer-list-update-hook
52 ;;          (lambda ()
53 ;;            (let ((el-dir (elscreen-get-default-directory (elscreen-get-current-screen))))
54 ;;              (if (> (length el-dir) 0)
55 ;;                 (cd el-dir)))))
56
57
58 ;; when major-mode is magit-*, don't change default-directory, otherwise, there is error when usingit command in magin-* mode
59 (add-hook 'elscreen-screen-update-hook
60           (lambda ()
61             (let ((el-dir (elscreen-get-default-directory (elscreen-get-current-screen))))
62               (unless (string-match "magit" (symbol-name major-mode))
63                 (if (> (length el-dir) 0)
64                   (cd el-dir))))))
65
66
67 (provide 'init-elscreen)