diff options
| author | BardofSprites <[email protected]> | 2024-08-28 08:20:00 -0400 |
|---|---|---|
| committer | BardofSprites <[email protected]> | 2024-08-28 08:20:00 -0400 |
| commit | 8931891baf6de00646e6c1961e45b1368d80ce7f (patch) | |
| tree | d13076a75e6dcf08f194a41276f7132813a9c391 | |
| parent | c43fde50ac9cf4b546d348bc882785a94c8c64e1 (diff) | |
restore dashboard
| -rw-r--r-- | bard-elisp/bard-dashboard.el | 104 | ||||
| -rw-r--r-- | bard-emacs-modules/bard-emacs-dashboard.el | 32 |
2 files changed, 84 insertions, 52 deletions
diff --git a/bard-elisp/bard-dashboard.el b/bard-elisp/bard-dashboard.el index fe222cf..567ad50 100644 --- a/bard-elisp/bard-dashboard.el +++ b/bard-elisp/bard-dashboard.el @@ -1,55 +1,55 @@ -;; (defun dashboard-insert-custom (list-size) -;; "Insert custom itemes LIST-SIZE." -;; (interactive) -;; (insert " TODOs (A) Cal: (c) ♪ Music: (m) Mail: (M) Emacs: (e)")) - -;; (add-hook 'dashboard-mode-hook -;; (lambda() -;; (define-key dashboard-mode-map (kbd "A") #'(lambda ()(interactive)(org-agenda nil "D"))) -;; ;; FIXME look at browse url for explanation -;; ;; (define-key global-map (kbd "g") #') -;; (define-key dashboard-mode-map (kbd "c") #'calendar) -;; (define-key dashboard-mode-map (kbd "M") #'notmuch) -;; (define-key dashboard-mode-map (kbd "e") #'(lambda ()(interactive)(dired user-emacs-directory))) -;; (define-key dashboard-mode-map (kbd "m") #'(lambda ()(interactive)(emms))) -;; )) - -;; (defvar dashboard-recover-layout-p nil -;; "Whether recovers the layout.") - -;; (defun open-dashboard () -;; "Open the *dashboard* buffer and jump to the first widget." + (defun dashboard-insert-custom (list-size) + "Insert custom itemes LIST-SIZE." + (interactive) + (insert " TODOs (A) Cal: (c) ♪ Music: (m) Mail: (M) Emacs: (e)")) + +(add-hook 'dashboard-mode-hook + (lambda() + (define-key dashboard-mode-map (kbd "A") #'(lambda ()(interactive)(org-agenda nil "D"))) + ;; FIXME look at browse url for explanation + ;; (define-key global-map (kbd "g") #') + (define-key dashboard-mode-map (kbd "c") #'calendar) + (define-key dashboard-mode-map (kbd "M") #'notmuch) + (define-key dashboard-mode-map (kbd "e") #'(lambda ()(interactive)(dired user-emacs-directory))) + (define-key dashboard-mode-map (kbd "m") #'(lambda ()(interactive)(emms))) + )) + +(defvar dashboard-recover-layout-p nil + "Whether recovers the layout.") + +(defun open-dashboard () + "Open the *dashboard* buffer and jump to the first widget." + (interactive) + (setq dashboard-recover-layout-p t) + (delete-other-windows) + (dashboard-refresh-buffer) + (dashboard-goto-recent-files)) + +(defun quit-dashboard () + "Quit dashboard window." + (interactive) + (quit-window t) + (when (and dashboard-recover-layout-p + (bound-and-true-p winner-mode)) + (winner-undo) + (setq dashboard-recover-layout-p nil))) + +;; TODO replace with browse-url librewolf that opens to localhost new tab +;; (defun bard/open-librewolf () ;; (interactive) -;; (setq dashboard-recover-layout-p t) -;; (delete-other-windows) -;; (dashboard-refresh-buffer) -;; (dashboard-goto-recent-files)) +;; (if (string-match "\\`bardiel" system-name) +;; (async-shell-command "librewolf-bin")) +;; '(async-shell-command "librewolf")) -;; (defun quit-dashboard () -;; "Quit dashboard window." +;; TODO replace this with browse-url that opens to localhost new tab +;; (defun bard/open-firefox () ;; (interactive) -;; (quit-window t) -;; (when (and dashboard-recover-layout-p -;; (bound-and-true-p winner-mode)) -;; (winner-undo) -;; (setq dashboard-recover-layout-p nil))) - -;; ;; TODO replace with browse-url librewolf that opens to localhost new tab -;; ;; (defun bard/open-librewolf () -;; ;; (interactive) -;; ;; (if (string-match "\\`bardiel" system-name) -;; ;; (async-shell-command "librewolf-bin")) -;; ;; '(async-shell-command "librewolf")) - -;; ;; TODO replace this with browse-url that opens to localhost new tab -;; ;; (defun bard/open-firefox () -;; ;; (interactive) -;; ;; (if (string-match "\\`bardiel" system-name) -;; ;; (async-shell-command "firefox-bin")) -;; ;; '(async-shell-command "firefox")) - -;; ;; FIXME browse-url-librewolf is incomplete -;; ;; (defun bard/open-user-github () -;; ;; (browse-url-librewolf 'user-github-url)) - -;; (provide 'bard-dashboard) +;; (if (string-match "\\`bardiel" system-name) +;; (async-shell-command "firefox-bin")) +;; '(async-shell-command "firefox")) + +;; FIXME browse-url-librewolf is incomplete +;; (defun bard/open-user-github () +;; (browse-url-librewolf 'user-github-url)) + +(provide 'bard-dashboard) diff --git a/bard-emacs-modules/bard-emacs-dashboard.el b/bard-emacs-modules/bard-emacs-dashboard.el new file mode 100644 index 0000000..87f9044 --- /dev/null +++ b/bard-emacs-modules/bard-emacs-dashboard.el @@ -0,0 +1,32 @@ +(require 'bard-dashboard) + +(use-package dashboard + :ensure t + :config + (define-key global-map (kbd "<home>") #'dashboard-open) + (define-key global-map (kbd "C-z d") #'dashboard-open) + (setq initial-buffer-choice 'dashboard-open) + (dashboard-setup-startup-hook) + (setq dashboard-startup-banner "~/.emacs.d/img/emacslogo.png") + (setq dashboard-banner-logo-width 50) + (setq dashboard-banner-logo-height 50) + (setq dashboard-center-content t) + ;; dashboar items + (setq dashboard-items '((recents . 5) + (agenda . 5))) + + ;; Insert custom item + (add-to-list 'dashboard-item-generators '(custom . dashboard-insert-custom)) + (add-to-list 'dashboard-items '(custom) t) + + (setq dashboard-banner-logo-title "Time for another recreational programming session.") + (setq dashboard-startupify-list '(dashboard-insert-banner + dashboard-insert-newline + dashboard-insert-banner-title + dashboard-insert-newline + dashboard-insert-items + dashboard-insert-newline)) + + (setq dashboard-set-init-info nil)) + +(provide 'bard-emacs-dashboard) |
