     (when window-system
       (progn
 	;; English Font
-	(set-default-font "DejaVu Sans Mono-11")
+	(set-frame-font "DejaVu Sans Mono-11")
 	;; Chinese Font
 	(dolist (charset '(kana han symbol cjk-misc bopomofo))
 	  (set-fontset-font (frame-parameter nil 'font)

        (neotree-expand-node-descendants node)))))

(defun neotree-open-directory-recursively (&optional arg)
  "Expand a directory recursively"
  (interactive "P")
  (neotree-expand-node-descendants arg)
  (neo-buffer--refresh t))

  :config
  (progn))

;;;-----------------------------------------------------------------------------
;;; hydrda, Free from typing the same prefixk eys
(use-package hydra
  :ensure t)

;;;-----------------------------------------------------------------------------
;;; flycheck
(use-package flycheck
  :ensure t
  :diminish flycheck-mode
  :commands (flycheck-mode)
  :init
  (progn
    (add-hook 'prog-mode-hook 'flycheck-mode))
  :config
  (progn
    (custom-set-variables
     '(flycheck-check-syntax-automatically (quote (save mode-enabled))))
    (defhydra hydra-flycheck-error (flycheck-mode-map "C-c !")
      "navigate through errors"
      ("n" flycheck-next-error)
      ("p" flycheck-previous-error))
    ))

;;;-----------------------------------------------------------------------------
;;; popwin, manages special buffers as pop up windows
(use-package popwin
  :ensure popwin
  :config
  (progn
    (push '("*ag*" :noselect t) popwin:special-display-config)
    (push '("*Warnings*" :noselect t) popwin:special-display-config)
    (popwin-mode 1)))

;;;============================================================================
;;; Filetype specified configuration

;;;-----------------------------------------------------------------------------
;;; org mode
