 (defvar +doom-dashboard--width 80)
 (defvar +doom-dashboard--height 0)
 (defvar +doom-dashboard--old-fringe-indicator fringe-indicator-alist)
+
+(defvar all-the-icons-scale-factor)
+(defvar all-the-icons-default-adjust)
 
 ;;
 (setq doom-fallback-buffer +doom-dashboard-name)

           (warn "`+doom-dashboard-pwd-policy' has an invalid value of '%s'"
                 +doom-dashboard-pwd-policy)))))

(defun +doom-dashboard-reload (&optional force)
  "Update the DOOM scratch buffer (or create it, if it doesn't exist)."
  (let ((fallback-buffer (doom-fallback-buffer)))
    (when (or force
              (and (get-buffer-window fallback-buffer)
                   (not (window-minibuffer-p (frame-selected-window)))))
      (with-current-buffer fallback-buffer
        (setq default-directory
              (or (+doom-dashboard--get-pwd)
                  default-directory))
        (unless +doom-dashboard-inhibit-refresh
          (with-silent-modifications
            (unless (eq major-mode '+doom-dashboard-mode)
              (+doom-dashboard-mode))
            (erase-buffer)
            (let ((+doom-dashboard--height (window-height (get-buffer-window fallback-buffer)))
                  (lines 1)
                  content)
              (with-temp-buffer
                (dolist (widget-name +doom-dashboard-widgets)
                  (funcall (intern (format "doom-dashboard-widget--%s" widget-name)))
                  (insert "\n"))
                (setq content (buffer-string)
                      lines (count-lines (point-min) (point-max))))
              (insert (make-string (max 0 (- (/ +doom-dashboard--height 2)
                                             (/ lines 2)))
                                   ?\n)
                      content))
            (unless (button-at (point))
              (goto-char (next-button (point-min))))))))
    ;; Update all dashboard windows
    (dolist (win (get-buffer-window-list (doom-fallback-buffer) nil t))
      (set-window-fringes win 0 0)
      (set-window-margins
       win (max 0 (/ (- (window-total-width win) +doom-dashboard--width) 2)))))
  t)

;; widgets
(defun doom-dashboard-widget--banner ()
  (mapc (lambda (line)
          (insert (propertize (+doom-dashboard-center +doom-dashboard--width line)
                              'face 'font-lock-comment-face) " ")
          (insert "\n"))
        '("=================     ===============     ===============   ========  ========"

if in a GUI/non-daemon session."
  (add-hook 'window-configuration-change-hook #'+doom-dashboard-reload)
  (add-hook 'focus-in-hook #'+doom-dashboard-reload)
  (add-hook 'kill-buffer-query-functions #'+doom-dashboard|reload-on-kill)
  (when (and (display-graphic-p) (not (daemonp)))
    (let ((default-directory doom-emacs-dir))
      (+doom-dashboard/open (selected-frame)))))

(defun +doom-dashboard|reload-on-kill ()
  "TODO"
  (or (unless (+doom-dashboard-p)
        (when (doom-real-buffer-p)
          (setq +doom-dashboard--last-cwd default-directory)
          (+doom-dashboard-update-pwd))
        t)
      (ignore
       (let (+doom-dashboard-inhibit-refresh)
