| @@ -94,16 +94,6 @@ | |||||
| (lambda () | (lambda () | ||||
| (kill-buffer "*scratch*"))) | (kill-buffer "*scratch*"))) | ||||
| (defun my-delete-frame-or-kill-emacs () | |||||
| "delete frame when opening multiple frame, kill emacs when only one." | |||||
| (interactive) | |||||
| (if (eq 1 | |||||
| (length (frame-list))) | |||||
| (save-buffers-kill-emacs) | |||||
| (delete-frame))) | |||||
| (global-set-key (kbd "C-x C-c") 'my-delete-frame-or-kill-emacs) | |||||
| (define-key my-prefix-map (kbd "C-x C-c") 'save-buffers-kill-emacs) | |||||
| ;; modifier keys | ;; modifier keys | ||||
| (setq mac-option-modifier 'control) | (setq mac-option-modifier 'control) | ||||
| (setq w32-apps-modifier 'meta) | (setq w32-apps-modifier 'meta) | ||||
| @@ -480,9 +470,7 @@ | |||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; global keys | ;; global keys | ||||
| (define-key my-prefix-map (kbd "C-f") 'make-frame-command) | |||||
| (define-key my-prefix-map (kbd "C-o") 'occur) | (define-key my-prefix-map (kbd "C-o") 'occur) | ||||
| (define-key my-prefix-map (kbd "C-s") 'my-execute-terminal) | |||||
| ;; (define-key my-prefix-map (kbd "C-h") help-map) | ;; (define-key my-prefix-map (kbd "C-h") help-map) | ||||
| (global-set-key (kbd "C-\\") help-map) | (global-set-key (kbd "C-\\") help-map) | ||||
| @@ -743,9 +731,9 @@ return nil if LIB unfound and downloading failed, otherwise the path of LIB." | |||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; frame buffer | ;; frame buffer | ||||
| ;; (add-hook 'after-make-frame-functions | |||||
| ;; (lambda (frame) | |||||
| ;; (recentf-open-files))) | |||||
| (add-hook 'after-make-frame-functions | |||||
| (lambda (frame) | |||||
| (switch-to-buffer (recentf-open-files)))) | |||||
| ;; (defvar aaa nil) | ;; (defvar aaa nil) | ||||
| ;; (plist-get aaa 'abc) | ;; (plist-get aaa 'abc) | ||||
| @@ -754,24 +742,29 @@ return nil if LIB unfound and downloading failed, otherwise the path of LIB." | |||||
| (defvar my-frame-buffer-plist nil) | (defvar my-frame-buffer-plist nil) | ||||
| ;; (setplist my-frame-buffer-plist nil) | ;; (setplist my-frame-buffer-plist nil) | ||||
| (defun my-frame-buffer-add () | |||||
| (defun my-frame-buffer-add (&optional buf frame) | |||||
| "" | "" | ||||
| (setq my-frame-buffer-plist | (setq my-frame-buffer-plist | ||||
| (plist-put my-frame-buffer-plist | (plist-put my-frame-buffer-plist | ||||
| (selected-frame) | |||||
| (let ((lst (my-frame-buffer-get))) | |||||
| (or frame | |||||
| (selected-frame)) | |||||
| (let ((lst (my-frame-buffer-get frame))) | |||||
| (if lst | (if lst | ||||
| (add-to-list 'lst | (add-to-list 'lst | ||||
| (current-buffer)) | |||||
| (list (current-buffer))))))) | |||||
| (or buf | |||||
| (current-buffer))) | |||||
| (list (or buf | |||||
| (current-buffer)))))))) | |||||
| (defun my-frame-buffer-remove () | |||||
| (defun my-frame-buffer-remove (&optional buf frame) | |||||
| "" | "" | ||||
| (setq my-frame-buffer-plist | (setq my-frame-buffer-plist | ||||
| (plist-put my-frame-buffer-plist | (plist-put my-frame-buffer-plist | ||||
| (selected-frame) | |||||
| (delq (current-buffer) | |||||
| (my-frame-buffer-get))))) | |||||
| (or frame | |||||
| (selected-frame)) | |||||
| (delq (or buf | |||||
| (current-buffer)) | |||||
| (my-frame-buffer-get frame))))) | |||||
| (defun my-frame-buffer-get (&optional frame) | (defun my-frame-buffer-get (&optional frame) | ||||
| "" | "" | ||||
| @@ -779,21 +772,73 @@ return nil if LIB unfound and downloading failed, otherwise the path of LIB." | |||||
| (or frame | (or frame | ||||
| (selected-frame)))) | (selected-frame)))) | ||||
| (defun my-frame-buffer-kill-all-buffer (frame) | |||||
| (defun my-frame-buffer-kill-all-buffer (&optional frame) | |||||
| "" | "" | ||||
| (mapcar 'kill-buffer | (mapcar 'kill-buffer | ||||
| (my-frame-buffer-get frame))) | (my-frame-buffer-get frame))) | ||||
| (add-hook 'find-file-hook | (add-hook 'find-file-hook | ||||
| 'my-frame-buffer-add) | 'my-frame-buffer-add) | ||||
| ;; (add-hook 'dired-mode-hook | |||||
| ;; 'my-frame-buffer-add) | |||||
| (add-hook 'term-mode-hook | |||||
| 'my-frame-buffer-add) | |||||
| (add-hook 'eshell-mode-hook | |||||
| 'my-frame-buffer-add) | |||||
| (add-hook 'kill-buffer-hook | (add-hook 'kill-buffer-hook | ||||
| 'my-frame-buffer-remove) | 'my-frame-buffer-remove) | ||||
| (add-hook 'delete-frame-functions | (add-hook 'delete-frame-functions | ||||
| 'my-frame-buffer-kill-all-buffer) | 'my-frame-buffer-kill-all-buffer) | ||||
| (frame-parameters (selected-frame)) | |||||
| (defvar my-desktop-terminal "roxterm") | |||||
| (defun my-execute-terminal () | |||||
| "" | |||||
| (interactive) | |||||
| (if (and (or (eq system-type 'windows-nt) | |||||
| window-system) | |||||
| my-desktop-terminal | |||||
| ) | |||||
| (let ((process-environment (cons "TERM=xterm" process-environment))) | |||||
| (start-process "terminal" | |||||
| nil | |||||
| my-desktop-terminal)) | |||||
| (my-term))) | |||||
| (defun my-term () | |||||
| "open terminal buffer and return that buffer." | |||||
| (interactive) | |||||
| (if (eq system-type 'windows-nt) | |||||
| (eshell t) | |||||
| (if (featurep 'multi-term) | |||||
| (multi-term) | |||||
| (ansi-term "/bin/bash")))) | |||||
| (defvar my-frame-term-plist nil) | |||||
| ;; (setplist my-frame-term-plist nil) | |||||
| (defun my-execute-or-find-term () | |||||
| "" | |||||
| (interactive) | |||||
| (let* ((buf (plist-get my-frame-term-plist (selected-frame)))) | |||||
| (if (and buf | |||||
| (buffer-name buf)) | |||||
| (switch-to-buffer buf) | |||||
| (setq my-frame-term-plist | |||||
| (plist-put my-frame-term-plist | |||||
| (selected-frame) | |||||
| (my-term)))))) | |||||
| (defun my-delete-frame-or-kill-emacs () | |||||
| "delete frame when opening multiple frame, kill emacs when only one." | |||||
| (interactive) | |||||
| (if (eq 1 | |||||
| (length (frame-list))) | |||||
| (save-buffers-kill-emacs) | |||||
| (delete-frame))) | |||||
| (define-key my-prefix-map (kbd "C-s") 'my-execute-terminal) | |||||
| (define-key my-prefix-map (kbd "C-f") 'make-frame-command) | |||||
| (global-set-key (kbd "C-x C-c") 'my-delete-frame-or-kill-emacs) | |||||
| (define-key my-prefix-map (kbd "C-x C-c") 'save-buffers-kill-emacs) | |||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; term mode | ;; term mode | ||||
| @@ -1438,7 +1483,7 @@ Optional prefix ARG says how many lines to unflag; default is one line." | |||||
| ;; (defun eshell/git (&rest args) | ;; (defun eshell/git (&rest args) | ||||
| ;; "" | ;; "" | ||||
| ;; (eshell-parse-arguments (point-at-bol) (point-at-eol))) | |||||
| ;; ) | |||||
| (defun eshell/o (&optional file) | (defun eshell/o (&optional file) | ||||
| (my-x-open (or file "."))) | (my-x-open (or file "."))) | ||||
| @@ -1660,43 +1705,6 @@ when SEC is nil, stop auto save if enabled." | |||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; misc funcs | ;; misc funcs | ||||
| (defvar my-desktop-terminal "roxterm") | |||||
| (defun my-execute-terminal () | |||||
| "" | |||||
| (interactive) | |||||
| (if (and (or (eq system-type 'windows-nt) | |||||
| window-system) | |||||
| my-desktop-terminal | |||||
| ) | |||||
| (let ((process-environment (cons "TERM=xterm" process-environment))) | |||||
| (start-process "terminal" | |||||
| nil | |||||
| my-desktop-terminal)) | |||||
| (my-execute-or-find-term))) | |||||
| (defun my-term () | |||||
| "open terminal buffer and return that buffer." | |||||
| (interactive) | |||||
| (if (eq system-type 'windows-nt) | |||||
| (eshell t) | |||||
| (if (featurep 'multi-term) | |||||
| (multi-term) | |||||
| (ansi-term "/bin/bash")))) | |||||
| (defvar my-frame-term-plist nil) | |||||
| ;; (setplist my-frame-term-plist nil) | |||||
| (defun my-execute-or-find-term () | |||||
| "" | |||||
| (interactive) | |||||
| (let* ((buf (plist-get my-frame-term-plist (selected-frame)))) | |||||
| (if (and buf | |||||
| (buffer-name buf)) | |||||
| (switch-to-buffer buf) | |||||
| (setq my-frame-term-plist | |||||
| (plist-put my-frame-term-plist | |||||
| (selected-frame) | |||||
| (my-term)))))) | |||||
| (defun my-format-time-string (&optional time) | (defun my-format-time-string (&optional time) | ||||
| "" | "" | ||||
| (let ((system-time-locale "C")) | (let ((system-time-locale "C")) | ||||