;;; popwin-settings.el --- popwin settings  -*- lexical-binding: t -*-

;;; Commentary:
;; https://github.com/m2ym/popwin-el
;; Popwin makes you free from the hell of annoying buffers such like *Help*, *Completions*, *compilation*, and etc.
;; popwin resolves there problems.  Windows of such temporary buffers
;; will be shown as a popup window, and you can close them smoothly by
;; typing C-g in anytime.

;; Requirements:
;;   popwin https://melpa.org/#/popwin

;;; Code:
(use-package popwin
  :config
  ;; don't use default value but manage it ourselves
  (setq popwin:special-display-config nil)
  ;; buffers that we manage
  ;;(push '("*Help*"                       :dedicated t :position bottom :stick t :noselect t   :height 0.4) popwin:special-display-config)
  (push '(help-mode                      :dedicated t :position bottom :stick t :noselect t   :height 0.4) popwin:special-display-config)  ;; "*Help*", "*Faces*", "*Colors*"
  (push '("*Messages*"                   :dedicated t :position bottom :stick t :noselect t   :height 0.4) popwin:special-display-config)
  (push '("*compilation*"                :dedicated t :position bottom :stick t :noselect t   :height 0.4) popwin:special-display-config)
  (push '("*Shell Command Output*"       :dedicated t :position bottom :stick t :noselect nil            ) popwin:special-display-config)
  (push '("*Async Shell Command*"        :dedicated t :position bottom :stick t :noselect nil            ) popwin:special-display-config)
  (push '(" *undo-tree*"                 :dedicated t :position bottom :stick t :noselect nil :height 0.4) popwin:special-display-config)
  (push '("*ert*"                        :dedicated t :position bottom :stick t :noselect nil            ) popwin:special-display-config)
  (push '("*grep*"                       :dedicated t :position bottom :stick t :noselect nil            ) popwin:special-display-config)
  (push '("*nosetests*"                  :dedicated t :position bottom :stick t :noselect nil            ) popwin:special-display-config)
  (push '("^\*WoMan.+\*$"      :regexp t              :position bottom                                   ) popwin:special-display-config)
  (push '("^\\*Flycheck.+\\*$" :regexp t :dedicated t :position bottom :stick t :noselect t              ) popwin:special-display-config)

  (popwin-mode 1))

(provide 'popwin-settings)
;;; popwin-settings.el ends here
