Files
infra/dotfiles/desktop/.emacs.d/lisp/misc/dashboard.el
2026-04-19 21:36:14 +02:00

39 lines
1.2 KiB
EmacsLisp

;;; dashboard.el --- Startup dashboard -*- lexical-binding: t; -*-
;;; Commentary:
;; Show the dashboard on regular startup and on empty emacsclient frames.
(use-package dashboard
:ensure t
:init
(setq dashboard-startup-banner 'logo
dashboard-center-content t
dashboard-set-heading-icons t
dashboard-set-file-icons t
dashboard-path-style 'truncate-middle
dashboard-path-max-length 60
dashboard-week-agenda t
dashboard-agenda-prefix-format " %-10:c %s "
dashboard-agenda-time-string-format "%a %d %b"
dashboard-items '((recents . 8)
(agenda . 5)))
:config
(dashboard-setup-startup-hook))
(defun fscotto/show-dashboard-on-client-frame ()
"Show dashboard in an empty graphical emacsclient frame."
(when (and (display-graphic-p)
(string= (buffer-name (window-buffer (selected-window))) "*scratch*"))
(require 'dashboard)
(switch-to-buffer dashboard-buffer-name)
(dashboard-refresh-buffer)
(goto-char (point-min))))
(with-eval-after-load 'server
(add-hook 'server-after-make-frame-hook #'fscotto/show-dashboard-on-client-frame))
(provide 'dashboard)
;;; misc-dashboard.el ends here