diff --git a/emacs.el b/emacs.el index d64dfa0..65ffe3a 100644 --- a/emacs.el +++ b/emacs.el @@ -1300,10 +1300,6 @@ found, otherwise returns nil." (when (lazy-load-eval 'bs '(bs-show) ;; (add-to-list 'bs-configurations ;; '("processes" nil get-buffer-process ".*" nil nil)) - (add-to-list 'bs-configurations - '("this-frame" nil (lambda (buf) - (memq buf (my-frame-buffer-get))) - ".*" nil nil)) (add-to-list 'bs-configurations '("files-and-terminals" nil nil nil (lambda (buf) @@ -2109,101 +2105,6 @@ if arg given, use that eshell buffer, otherwise make new eshell buffer." ))) ) ; eval after load eshell -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; frame buffer -;; todo: work well when opening files already opened on another window - -(add-hook 'after-make-frame-functions - (lambda (f) - (set-window-buffer (frame-selected-window f) - "*Messages*"))) - -(defun make-frame-command-with-name (name) - "Make frame with NAME specified." - (interactive "sName for new frame: ") - (set-frame-parameter (make-frame-command) - 'name - name)) - -(defvar my-frame-buffer-plist nil) - -(defun my-frame-buffer-add (&optional buf frame) - "Add BUF to buffer list for FRAME." - (setq my-frame-buffer-plist - (plist-put my-frame-buffer-plist - (or frame - (selected-frame)) - (let ((lst (my-frame-buffer-get frame))) - (if lst - (add-to-list 'lst - (or buf - (current-buffer))) - (list (or buf - (current-buffer)))))))) - -(defun my-frame-buffer-remove (&optional buf frame) - "Remove BUF from bufferlist for FRAME." - (setq my-frame-buffer-plist - (plist-put my-frame-buffer-plist - (or frame - (selected-frame)) - (delq (or buf - (current-buffer)) - (my-frame-buffer-get frame))))) - -(defun my-frame-buffer-get (&optional frame) - "Get buffer list for FRAME." - (plist-get my-frame-buffer-plist - (or frame - (selected-frame)))) - -(defun my-frame-buffer-kill-all-buffer (&optional frame) - "Kill all buffer of FRAME." - (mapcar 'kill-buffer - (my-frame-buffer-get frame))) - -(add-hook 'find-file-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 'Man-mode-hook - 'my-frame-buffer-add) - -(add-hook 'kill-buffer-hook - 'my-frame-buffer-remove) -(add-hook 'delete-frame-functions - 'my-frame-buffer-kill-all-buffer) - - -(defvar my-desktop-terminal "roxterm") -(defun my-execute-terminal () - "Invole terminal program." - (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-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-with-name) -(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) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; my-term