                 mode-line-format)))
     (let ((old-pwd (or dir default-directory)))
       (with-current-buffer (doom-fallback-buffer)
+        (read-only-mode -1)
         (+doom-dashboard-mode)
-        (add-hook 'evil-insert-state-entry-hook #'+doom-dashboard|clear-on-insert nil t)
-        (add-hook 'after-change-major-mode-hook #'+doom-dashboard|clear-on-insert nil t)
+        ;; (add-hook 'evil-insert-state-entry-hook #'+doom-dashboard|clear-on-insert nil t)
+        ;; (add-hook 'after-change-major-mode-hook #'+doom-dashboard|clear-on-insert nil t)
         (setq +doom-dashboard-edited-p nil
               fringe-indicator-alist (mapcar (lambda (i) (cons (car i) nil))
                                              fringe-indicator-alist))
-
         (erase-buffer)
         (let* ((+doom-dashboard--width  (window-width (get-buffer-window (doom-fallback-buffer))))
                (+doom-dashboard--height (window-height (get-buffer-window (doom-fallback-buffer)))))

  (let ((all-the-icons-scale-factor 1.3)
        (all-the-icons-default-adjust -0.05)
        (start (point))
        (sep "   ")
        (last-session-p (and (and (featurep 'persp-mode) persp-mode)
                             (file-exists-p (expand-file-name persp-auto-save-fname persp-save-dir)))))
    (unless last-session-p
      (setq sep "     "))
    (insert
     (s-center +doom-dashboard--width
               (with-temp-buffer
                 (insert-text-button
                  (concat (all-the-icons-octicon
                           "mark-github"
                           :face 'font-lock-keyword-face)
                          (propertize " Homepage" 'face 'font-lock-keyword-face))
                  'action '(lambda (_) (browse-url "https://github.com/hlissner/.emacs.d"))
                  'follow-link t)

                 (insert sep " ")

                 (insert-text-button
                  (concat (all-the-icons-octicon
                           "file-text"
                           :face 'font-lock-keyword-face)
                          (propertize " Recent files" 'face 'font-lock-keyword-face))
                  'action '(lambda (_) (call-interactively (command-remapping 'recentf)))
                  'follow-link t)

                 (insert sep)

                 (insert-text-button
                  (concat (all-the-icons-octicon
                           "tools"
                           :face 'font-lock-keyword-face)
                          (propertize " Edit emacs.d" 'face 'font-lock-keyword-face))
                  'action '(lambda (_) (find-file (expand-file-name "init.el" doom-emacs-dir)))
                  'follow-link t)

                 (when last-session-p
                   (insert sep)

                   (insert-text-button
                    (concat (all-the-icons-octicon
                             "history"
                             :face 'font-lock-keyword-face)
                            (propertize " Reload last session" 'face 'font-lock-keyword-face))
                    'action '(lambda (_) (+workspace:load-session))
                    'follow-link t))

                 (insert (make-string (if window-system 5 0) ? ))

                 (buffer-string)))
     "\n")))

                  (funcall (intern (format "doom-dashboard-widget--%s" widget-name)))
                  (insert "\n"))
                +doom-dashboard-widgets))
        (setq default-directory old-pwd
              mode-line-format +doom-dashboard-modeline)
        (unless (button-at (point))
          (goto-char (point-min))
          (goto-char (next-button (point))))
        (read-only-mode +1))))
  t)

(defun doom-dashboard-widget--banner ()
