reasonable term windows

This commit is contained in:
madmaurice 2017-05-24 12:41:33 +02:00
parent d14f72a188
commit 903067e0ef

View file

@ -37,6 +37,13 @@
(quote (quote
(swiper neotree centered-cursor-mode ivy avy heroku-theme auto-complete use-package yasnippet evil-surround org evil-magit magit makefile-runner evil))) (swiper neotree centered-cursor-mode ivy avy heroku-theme auto-complete use-package yasnippet evil-surround org evil-magit magit makefile-runner evil)))
'(scroll-bar-mode nil) '(scroll-bar-mode nil)
'(shell-pop-shell-type
(quote
("ansi-term" "*ansi-term*"
(lambda nil
(ansi-term shell-pop-term-shell)))))
'(shell-pop-window-position "top")
'(shell-pop-window-size 20)
'(tool-bar-mode nil)) '(tool-bar-mode nil))
(custom-set-faces (custom-set-faces
;; custom-set-faces was added by Custom. ;; custom-set-faces was added by Custom.
@ -190,33 +197,11 @@
;; Easy terminal ;; Easy terminal
(setq my/default-shell (or (executable-find "zsh") (executable-find "bash"))) (setq my/default-shell (or (executable-find "zsh") (executable-find "bash")))
(defun term-split () (use-package shell-pop
"creates terminal window below" :ensure t
(interactive) :bind ("C-x t" . shell-pop)
(let ((window (split-window-below -7))) :config
(select-window window) (setq-default shell-pop-term-shell my/default-shell))
(term my/default-shell)
(set-window-dedicated-p window t)))
;
;(use-package term
; :bind ("C-x t" . term-split))
;
;(defun term-handle-exit--close-buffer (&rest args)
; (let ((term-window (get-buffer-window "*terminal*")))
; (when (and term-window (window-dedicated-p term-window))
; (delete-window term-window))))
;(advice-add 'term-handle-exit :after #'term-handle-exit--close-buffer)
;(add-to-list 'display-buffer-alist
; '("\\*terminal\\*" display-buffer-pop-up-window))
(defun my/term ()
(interactive)
(term my/default-shell))
(use-package term
:bind ("C-x t" . my/term))
;; tabbing (doesn't really work yet) ;; tabbing (doesn't really work yet)
(setq-default indent-tabs-mode t) (setq-default indent-tabs-mode t)
@ -229,28 +214,19 @@
;; compilation buffer ;; compilation buffer
; Set buffer scrolling ; Set buffer scrolling
(setq compilation-scroll-output 'first-error) (setq compilation-scroll-output 'first-error)
; kill window if successfull
;(defun bury-compile-buffer-if-successful (buffer string)
; "Bury a compilation buffer if succeeded without warnings "
; (when (and
; (buffer-live-p buffer)
; (string-match "compilation" (buffer-name buffer))
; (string-match "finished" string)
; (not
; (with-current-buffer buffer
; (goto-char (point-min))
; (search-forward "warning" nil t))))
; (run-with-timer 1 nil
; (lambda (buf)
; (bury-buffer buf)
; (switch-to-prev-buffer (get-buffer-window buf) 'kill))
; buffer)))
;(add-hook 'compilation-finish-functions 'bury-compile-buffer-if-successful)
; set window height
(setq compilation-window-height 10) (setq compilation-window-height 10)
(defun my-compilation-hook () (defun my/compilation-bury-buffer-without-error (buffer string)
(cond ((string-match "finished" string)
(message "Build maybe successful: closing window.")
(run-with-timer 3 nil
'delete-window
(get-buffer-window buffer t)))
(t (message "Compilation exited abnormaly: %s" string))))
(setq compilation-finish-function 'my/compilation-bury-buffer-without-error)
(defun my/setup-compilation-window ()
(when (not (get-buffer-window "*compilation*")) (when (not (get-buffer-window "*compilation*"))
(save-selected-window (save-selected-window
(save-excursion (save-excursion
@ -259,7 +235,7 @@
(select-window w) (select-window w)
(switch-to-buffer "*compilation*") (switch-to-buffer "*compilation*")
(shrink-window (- h compilation-window-height))))))) (shrink-window (- h compilation-window-height)))))))
(add-hook 'compilation-mode-hook 'my-compilation-hook) (add-hook 'compilation-mode-hook 'my/setup-compilation-window)
;; Window movement ;; Window movement
; Old keys ; Old keys
@ -314,7 +290,7 @@
(add-to-list 'display-buffer-alist (add-to-list 'display-buffer-alist
'("*Apropos*" display-buffer-same-window)) '("*Apropos*" display-buffer-same-window))
(add-to-list 'display-buffer-alist (add-to-list 'display-buffer-alist
'("*Help*" display-buffer-same-window)) '("*Help*" display-buffer-in-side-window))
;; Change all prompts to y or n ;; Change all prompts to y or n
(fset 'yes-or-no-p 'y-or-n-p) (fset 'yes-or-no-p 'y-or-n-p)